A. 物理引擎的作用是什麼呢
物理引擎使用對象屬性(動量、扭矩或者彈性)來模擬剛體行為,這不僅可以得到更加真實的結果,對於開發人員來說也比編寫行為腳本要更加容易掌握。好的物理引擎允許有復雜的機械裝置,像球形關節、輪子、氣缸或者鉸鏈。有些也支持非剛性體的物理屬性,比如流體。物理引擎可以從另外的廠商購買,而一些游戲開發系統具備完整的物理引擎。
但是要注意,雖然有的系統在其特性列表中說他們有物理引擎,但其實是一些簡單的加速和碰撞檢測屬性而已。當NVIDIA宣布正式收購Ageia及該公司的PhysX物理軟硬體組件後,所有人都在期待,期待著NVIDIA會推出新的有關物理運算的東西出來。果不其然,最近當NVIDIA發布Forceware 177.79驅動後,意味著GeForce 8/9和GT200系列的GPU都支持PhysX引擎。這是因為NVIDIA將PhysX引擎集成到CUDA架構的物理運算中。這樣,顯卡就能自動進行物理加速運算。當然,PhysX在游戲上的運用僅僅是物理引擎眾多運用的一方面,在整個CUDA通用運算領域上,都會有物理引擎的身影,比如計算天體間在相互引力的作用下,各自的運動軌跡等。
B. HTML5開發游戲需要什麼工具,還有要用到的知識(主要)是什麼 最好是自己回答。。。。。
你可以先去【繪學霸】網站找「游戲特效/unity3D」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=305,306&zdhhr-11y17r-239619078
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】:
www.cgwang.com/course/gecoursemobilecheck/?zdhhr-11y17r-239619078
在「游戲特效/unity3D」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
C. 盜賊之海怎麼語音說話
盜賊之海語音說話的方法為按住ALT。
盜賊之海是有內置語音的,游戲剛開始時默認自由麥,在游戲里直接說話就可以了,還可以在設置裡面改成按鍵說話,然後按住ALT就可以說話了,私人聊天按G。
盜賊之海
《盜賊之海》(英語:Sea of Thieves)是一款由Rare開發並由微軟工作室發行的Microsoft Windows10和Xbox One世界共享動作冒險電子游戲。
玩家在游戲中將扮演海盜,獨自一人或與最多四位同伴玩家一起航海探索世界。游戲支持合作模式和玩家對戰模式。《盜賊之海》於2018年3月20日在全球發行。
游戲玩法
《盜賊之海》是一款以海盜作為主題的第一人稱視角多人合作動作冒險游戲。游戲支持Windows個人電腦和Xbox One電子游戲機之間跨平台遊玩。一群玩家將會通過海盜船環游並探索開放世界,同時進行不同的任務,比如船隻駕駛或者使用大炮作戰。
玩家可以完成任務、收集戰利品或進攻其他玩家。《盜賊之海》是個公共的游戲世界,也就是說玩家們在冒險中可能會遇見對方。游戲有著卡通式畫風以及誇張的物理引擎,允許玩家進行特技動作,比如用船上的大炮把自己射出去。
玩家可以通過完成航海任務、掠奪其他船的戰利品,或是進攻有著大量金幣的骷髏要塞收集金幣。玩家可以使用金幣購買全新塗裝的武器、全新的船體以及風帆等。
這些購買的東西可以增加武器裝備的美觀性,但是不會影響戰斗的性能。玩家在游戲開始時就會拿到武器,在玩家找到彈葯盒之前武器內會有五匣彈葯。可供玩家使用的武器有四種,分別是燧發槍、雷筒、長步槍和劍。玩家可以同時手持兩把武器。
D. physx物理引擎
目前的物理引擎主要有PhysX與Havok,關於這兩家引擎的前生今世在此就不多做介紹了,有興趣的朋友可見參見《Havok VS PhysX 漫談物理加速世界!》一文,今天主要介紹NVIDIA接手後的PhysX引擎。NVIDIA將PhysX引擎集成到CUDA架構的物理運算中,這樣就可以是GeForce 8/9及GT200系列全部都支持PhysX引擎, 所有目前已使用PhysX技術的游戲都支持新版驅動程序,如果裝有支持CUDA平台的顯卡,游戲將自動選取顯卡進行物理加速運算,否則仍會使用性能較慢的CPU進行運算。此外,PhysX並不只使用於游戲市場,同時亦會運用 CUDA通用運算領域上,應用更廣。論是GPU還是CPU、PPU、Cell(PS3)都可以通過HAL翻譯層來實現軟、固質體動力(Soft or Rigid Body Dynamics)、通用碰撞偵測(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流體動力(Fluid Dynamics)、毛發模擬(Hair Simulation),以及更更高級開發平台APEX中的更先進的布料模擬(Cloth Simulation)、自然模擬(Natural Motion)等在內新穎技術。通過過CUDA通用介面,PhysX引擎將NVIDIA GPU中的Thread Scheler(線程管理器)模擬成Control Engine(控制引擎CE),而Streaming Processors來模擬Vector Processing Engine(矢量處理引擎,VPE),其中CE控制引擎負責任務的指派,相當於PhysX中的主管機構,而真正的物理運算任務則是由VPE矢量引擎來完成,最後通過Data Movement Engine(數據移動引擎DME)輸出。
E. 圖形引擎和物理引擎有什麼區別和聯系
游戲開發中的程序開發主要由如下幾個方面組成:
1.圖形引擎
2.聲音引擎
3.物理引擎
4.游戲引擎
5.人工智慧或游戲邏輯
6.游戲GUI界面(菜單)
7.游戲開發工具
8.支持區域網對戰的網路引擎開發
9.支持互聯網對戰的網路引擎開發
下面逐一介紹每個部分:
1.圖形引擎主要包含游戲中的場景(室內或室外)管理與渲染,角色的動作管理繪制,特效管理與渲染(粒子系統,自然模擬(如水紋,植物等模擬)),光照和材質處理,LOD(Level Object Detail)管理等,另外還有圖形數據轉換工具開發,這些工具主要用於把美工用DCC軟體(如3DS Max,Maya,Soft XSI,Soft Image3D等)軟體製作的模型和動作數據以及用Photo shop或painter等工具製作的貼圖,轉化成游戲程序中用的資源文件。
2.聲音引擎主要包含音效(Sound Effect簡稱SE),語音(VOICE),背景音樂(Background music簡稱BGM)的播放。SE是指那些在游戲中頻繁播放,而且播放時間比較短,但要求能及時無延遲的播放,VOICE是指游戲中的語音或人聲,這部分對聲音品質要求比較高,基本上用比較高的采樣率錄制和回放聲音,但和SE一樣要求能及時無延遲的播放,SE在有的時候因為內存容量的問題,在不影響效果的前提下,可能會降低采樣率,但VOICE由於降低采樣率對效果影響比較大,所以一般VOICE不採用降低采樣率的做法。BGM是指游戲中一長段循環播放(也有不循環,只播放一次)的背景音樂,正是由於BGM的這種特性,一般游戲的背景音樂是讀盤(光碟或硬碟)來播放。另外一些高級聲音特效,如EAX,數字影院系統(DTS5.1),數字杜比環繞等。
3.物理引擎主要包含游戲世界中的物體之間、物體和場景之間發生碰撞後的力學模擬, 以及發生碰撞後的物體骨骼運動的力學模擬(比較著名的物理引擎有havok公司的game dynamics sdk,還有open source 的ODE—Open Dynamics Engine)。
4.游戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來,主要針對某個游戲製作一個游戲系統,其包含游戲關卡編輯器,主要用途是可以可視化的對場景進行調整,光照效果和霧化等效果調整,事件設置,道具擺放,NPC設置,另外還有角色編輯器,主要用於編輯角色的屬性和檢查動作數據的正確性。一般日本游戲公司的做法,他們會把關卡編輯器和角色編輯器直接做到游戲中,所有的參數調整都在游戲中通過調試菜單來進行編輯,所以一般他們把這部分調試菜單的功能做的很強大,同時在屏幕上實時的顯示一些重要的信息,這樣做的好處是關卡編輯器調整的效果直接就是游戲的效果,但是對於程序的重用性來說可能不是很好,比如說要用到另外一個游戲項目中就比較難,除非兩個游戲類型相同,只要把場景和角色數據換一下,還有做下一代產品也沒有問題,只要根據式樣增加調試菜單的功能就可以了。
5.人工智慧和游戲邏輯開發,這部分日本和歐美的游戲開發模式也有很大不同,在歐美游戲公司中運用腳本語言開發很普遍,所以這部分程序開發主要是用腳本語言編寫,而且腳本程序和游戲程序的耦合性很低,有單獨的編輯、編譯和調試環境,這樣比較利於游戲程序和關卡設計開發分開,同時並行開發,所以一般他們都會有專門做關卡設計的程序員崗位。而日本游戲公司腳本語言一般和游戲的耦合性比較高,一般通過一些語言的宏功能和一些編譯器的特定功能來完成一個簡單的腳本系統,所以一般這些腳本程序只能在游戲程序中進行調試,而不能在一個單獨的腳本編輯,編譯環境中進行開發。
6.游戲GUI界面(菜單),主要是指那些游戲中用戶界面設計,有做的復雜,有簡單的,做的簡單就是2D GUI界面,做的復雜有3D GUI界面。
7.游戲開發工具主要包含關卡編輯器,角色編輯器,資源打包管理,DCC軟體的插件工具等開發。
8.支持區域網對戰的網路引擎開發,主要解決區域網網路發包和延遲處理,通訊同步的問題,有同步通訊和非同步通訊兩種做法,非同步通訊用於那些對運行幀速要求比較高的游戲,同步通訊相對非同步通訊來說效率相對低,但是同步通訊的編程模型相對非同步通訊來得簡單一些。
9.支持互聯網對戰的網路引擎開發,目前大部分網游都是C/S結構的,伺服器端軟體配置管理,伺服器程序的最優化,還有游戲大廳、組隊、游戲邏輯處理、道具管理、收費系統等。另外還有一些網路系統是C/S和P2P兩種結構混合的,如XBOX Live等.
F. Havok物理引擎技術是什麼
havok引擎MAXHavok是3dsmax4的一個插件,它允許藝術家和漫畫製作者輕易地控制和模擬復雜物理場景。MAX Havok完全地支持綜合的硬體和軟體動力學,布料模擬和液體模擬。它能模擬有關節身體的約束和連接。它還可以模擬物理的現象比如風和馬達。你能使用所有的這些特性來創建多種動態的環境。一旦一個設計家在3ds max 4中創建一物體,他們能對它指定物理性質。性質可以包含比如質量,摩擦和彈力的特性。物體可以被調整,釋放,附加到彈簧,或者使用各種的約束。通過對物體指定物理特性,你可以快速和容易地塑造真實世界的場景,因此能精確地模擬產生人物動畫關鍵幀。運用MAX Havok,你可以快速地利用實時模擬窗口預覽場景。這個窗口允許你交互地來測試和播放一個場景。你可以在一個場景中改變所有的物理物體的位置,極大地減少設計時間。然後你可以運用一個單鍵-單擊,轉換這場景回3dsmax,而保持所有的那些需要作為動畫的性質。這個MAX Havok插件使設計家和漫畫製作者從手工復雜動畫中節約了大量時間,像建築物爆炸或者窗簾成褶皺狀。該插件又支持3dsmax4所有的標准特性比如關鍵幀和結皮現象,因此可以在相同的場景中使用傳統的和物理的兩者動畫。方便的工具(比如自動減少關鍵幀)讓你在它產生之後盡可能地改變角色生成部分的動畫。大量PS2、Xbox平台的游戲採用了Havok引擎。Havok引擎是Havok公司開發的一款物理引擎,現在被廣泛用於設計學(3D MAX)和游戲開發中,這款引擎是最早支持DirectX 9的物理引擎之一,是目前世界上最快、最方便的跨平台游戲圖形解決方案,也是現今應用最為廣泛的物理引擎之一,已經有將近100款游戲使用Havok引擎,大家看上面的列表就能夠明白Havok引擎的成功是有目共睹的。另外,《帝國III:發現時代》是第一款支持DircetX 9.0C(Sharder Model3.0)的即時戰略大作。使用Havok的著名游戲 * Half-Life 2/半條命2 * Max Payne 2/英雄本色2 * Medal of Honor:Pacific Assault/榮譽勛章:太平洋突襲 * PainKiller/斬除妖魔 * Age of Empires III/帝國時代III * F.E.A.R/戰栗突擊 * Splinter Cell: Chaos Theory縱橫諜海:混沌理論 * Halo2、Halo3/最後一戰 * 上古卷軸IV:湮沒使用Havok的軟體 * 3DMark * 3ds Max * Adobe Atmosphere * Adobe Shockwave * The Source Engine
G. (六)Unity3D物理引擎組件匯總
首先要熟悉一些基本的力學名詞及相關公式
剛體(Rigidbody) :剛體是指在運動中和受到力的作用後,形狀和大小不變,而且內部各點的相對位置不變的物體。絕對剛體實際上是不存在的,剛體是力學中的一個科學抽象概念,即理想模型。
力(F) :力是物體對物體的作用,力不能脫離物體而單獨存在。Unity的物理引擎就是以此為基礎構建的。
重力(G) :物體由於地球的吸引而受到的力叫重力。重力的施力物體是地心。Unity中的重力與其相似。重力的方向總是豎直向下。
摩擦力 :在Unity中分為滑動摩擦力和靜摩擦力。通常通過設置動摩擦系數和靜摩擦系數來控制物體的運動。(滾動摩擦一般不用)
彈力 :在Unity中物體受外力後產生與其相反方向的力。通常通過設置彈性系數來
使物體獲得彈性屬性。
扭矩力 :使物體發生轉動的力。
阻尼 :當物體受到外力作用而振動時,會產生一種使外力衰減的反力,稱為阻尼力(或減震力) 。
重力加速度 (單位:m/s^2): g = 9.81 (在Unity中)
重力 (單位:N): G = mg ***
滑動摩擦力 (單位:N): F = μ×FN (FN:正壓力,μ:動摩擦因數)
單擺周期公式 (單位:s): T = 2π√(L/g)***(L:擺長)
力矩 (單位:N×m): M = FL (L:擺動軸)
物體要受力的影響就需要添加Rigibody組件。(基本上能動的物體都需要Rigibody組件)物體添加Rigibody組件後,可以接受外力和扭矩力,並一直受到重力影響,
選中一個物體後,為其添加Rigibody組件。
Mass(質量) :用於設置游戲對象的質量。(一般在同一游戲場景中,游戲對象之間的質量差不大於100倍)
Drag(阻力) :即游戲對象受力運動時受到的空氣阻力,阻力極大時,游戲對象會立即停止運動。
Angular Drag(角阻力) :即游戲對象受扭矩力旋轉時受到的空氣阻力。同樣的,阻力極大時,游戲對象會立即停止旋轉。
Use Gravity(使用重力) :即開啟此項時,游戲對象會受到重力的影響。
Is Kinematic(是否開啟動力學) :即開啟此項時,游戲對象將不再受到物理引擎的影響,從而只能通過Transform屬性來對其操作。(該方式適用於模擬平台的移動或帶有鉸鏈關節鏈接剛體的動畫)
Interpolate(插值) :用於控制剛體運動的抖動情況。
None:沒有插值。
Interpolate:內插值。基於前一幀的Transform平滑此次的Transform。
Extrapolate:外插值。基於下一幀的Transform平滑此次的Transform。
Collision Detection(碰撞檢測) :該屬性用於控制避免高速運動的游戲對象穿過其它對象而未發生碰撞。
Discrete:離散碰撞檢測。該模式與場景中其它的所有碰撞體進行碰撞檢測。該值為默認值。
Continuous:連續碰撞檢測。該模式用於檢測與動態碰撞體(帶有Rigidbody)碰撞,使用連續碰撞檢測模式來檢測與網格碰撞體的(不帶Rigidbody)碰撞。其它的剛體會採用離散碰撞模式。此模式適用於那些需要採用連續動態碰撞檢測的對象相碰撞的對象。這對物理性能會有很大的影響,如果不需要對快速運動的對象進行碰撞檢測,不建議使用此模式,建議使用離散碰撞檢測模式。
Continuous Dynamic:連續動態碰撞檢測。該模式用於檢測與採用連續碰撞模式或連續動態碰撞模式對象的碰撞,也可以用於檢測沒有Rigidbody的靜態網格碰撞體。對於與之碰撞的其它對象可採用離散碰撞檢測。該模式也可以用於檢測快速運動的游戲對象。
Constraints(約束) :該項用於控制對於剛體運動的約束。
Freeze Position:凍結位置。剛體對象在世界坐標系中的x,y,z軸方向上(選中狀態)的移動將無效。
Freeze Rotation:凍結旋轉。剛體對象在世界坐標系中的x,y,z軸方向上(選中狀態)的旋轉將無效。
Constant Force用來為剛體添加恆力。適用於類似火箭發射的對象,因為F=ma,使得這類對象的速度不斷提升。
選中一個物體後,為其添加Constant Force組件。
四種屬性均用三維向量表示,坐標軸表示方向,數值表示大小。
需要注意的是:添加恆力(Constant Force)組件時,系統會默認添加剛體(Rigidbody)組件。
添加恆力組件後,不能移除剛體組件。
Force(力) :設置世界坐標系中使用的扭矩力。
Relative Force(相對力) :設置在物體局部坐標系中使用的力。
Torque(扭矩) :設置在世界坐標系中使用的扭矩力。游戲對象依據該向量進行轉動。(向量越長轉動越快)
Relative Torque(相對扭矩) :相對扭矩。設置在物體局部坐標系中使用的扭矩力。。游戲對象依據該向量進行轉動。(向量越長轉動越快)
Character Controller主要用於第三人稱或第一人稱游戲主角的控制。不使用剛體物理效果。(Character Controller可通過物理效果影響其他的對象,但無法通過物理效果被其他的對象影響)
選中一個物體後,為其添加Character Controller組件。
Slope Limit(坡度限制) :設置所控制的游戲對象只能爬上角度小於或等於該參數值的斜坡傾角。
Step Offset(台階高度) :設置所控制的游戲對象可以邁上的最高台階的高度。
Skin Width(皮膚厚度) :該參數決定了兩個碰撞體可以相互參入的深度。
較大的參數值會產生抖動的現象,較小的參數值會導致所控制的游戲對象被卡住,較為合理的設置是該參數值為Radius值的10%。
Min Move Distance(最小移動距離) :如果所控制的游戲對象的移動距離小於該值,則游戲對象將不會移動,這樣可避免抖動,大多數情況下將該值設為0。
Center(中心) :該參數決定了膠囊碰撞體與所控制的游戲對象的相對位置,並不影響所控制的角色對象的中心坐標
Radius(半徑) :膠囊體碰撞的長度半徑,同時該項也決定了碰撞體的半徑。
Height(高度) :用於設置所控制的角色對象的膠囊體碰撞體的高度。
Collider要與Rigibody一起添加到游戲對象上才能觸發碰撞。
兩個剛體撞在一起時,擁有碰撞體的對象才會計算碰撞。
都沒有碰撞體的兩個剛體會彼此穿過,不會發生碰撞。
添加Collider組件方法
一般創建一個游戲對象時會自動添加相應的碰撞體。
該碰撞體可調整為不同大小的長方體。
可用作門、牆、平台,也可用於布娃娃的角色軀干或汽車等交通工具的外殼上。
該碰撞體的三維大小可以均勻地調節,但不能單獨調節某個坐標軸方向的大小。
可用作落石、球類等游戲對象。
該碰撞體的高度和半徑可單獨調節。
可用作角色控制器或與其他不規則形狀的碰撞結合使用。(Uinty中角色控制器中通常內嵌了膠囊碰撞體)
該碰撞體通過獲取網格對象並在其基礎上構建碰撞。
與在復雜的網路模型上使用基本碰撞體相比,網格碰撞體要更加精細,但會佔用更多的系統資源。(開啟Convex參數的網格碰撞體才可以與其他的網格碰撞體發生碰撞)
該碰撞體是基於地形構建的碰撞體。
車輪碰撞體是一種針對地面車輛的特殊碰撞體,它有內置的碰撞檢測、車輪物理系統及有滑胎摩擦的參考體。
除了車輪,該碰撞體也可用於其他的游戲對象。
關節是模擬物體與物體之間的一種連接關系,關節必須依賴於剛體組件。
關節組件可以添加到多個游戲對象中,關節又分為3D類型的關節和2D類型的關節。(本篇講述3D關節)
添加Joint組件方法
由兩個剛體組成,使它們像被連接在一個鉸鏈上那樣運動。
它非常適用於對門的模擬,也可用作模型鏈及鍾擺等物體。
需要注意的是:添加關節(Join)組件時,系統會默認添加剛體(Rigidbody)組件。
添加關節組件後,不能移除剛體組件。
Connected Body(連接剛體) :為關節指定要連接的剛體。(若不指定剛體,則該關節默認與世界相連)
Anchor(錨點) :剛體可圍繞錨點進行擺動。該值應用於局部坐標系。
Axis(軸) :定義剛體擺動的方向。該值應用於局部坐標系。
Auto Configure Connected Anchor(自動設置連接錨點) :勾選該項,連接錨點會自動設置。(該項默認為開啟狀態)
Connected Anchor(連接錨點) :自動連接錨點項開啟時,此項會自動設置。自動連接錨點項未開啟時,可手動設置連接錨點。
Use Spring(使用彈簧) :勾選該項,彈簧會使剛體與其連接的主體形成一個特定的角度
Spring(彈簧) :當Use Spring參數開啟時,此屬性有效。
Spring:彈簧力。設置推動對象使其移動到相應位置的作用力。
Damper:阻尼。設置對象的阻尼值,數值越大則對象移動得越緩慢。
Target Position:目標角度。設置彈簧的目標角度,彈簧會拉向此角度。
Use Motor(使用發動機) :勾選該項,發動機會使對象發生旋轉。
Motor(發動機) :當Use Motor參數開啟時,此屬性有效。
Target Velocity:目標速度。設置對象預期將要達到的速度值。
Force:作用力。設置為了達到目的速度而施加的作用力。
Free Spin:自動轉動。勾選該項,則發動機永遠不會停止,旋轉只會越轉越快。
Use Limits(使用限制) :勾選該項,鉸鏈的角度將被限定在最大值和最小值之間。
Limits(限制) :當Use Limits參數開啟時,此屬性有效。
Min:最小值。設置鉸鏈能達到的最小角度。
Max:最大值。設置鉸鏈能達到的最大角度。
Min Bounce:最小反彈。設置當對象觸到最小限制時的反彈值。
Max Bounce:最大反彈。設置當對象觸到最大限制時的反彈值。
Contact Distance:接觸距離。控制關節的抖動。
Break Force(斷開力) :設置鉸鏈關節斷開的作用力。
Break Torque(斷開轉矩) :設置斷開鉸鏈關節所需的轉矩。
Enable Collision(激活碰撞) :勾選該項,關節之間也會檢測碰撞。
Enable Preprocessing(啟用預處理) :勾選該項,實現關節的穩定。(該項默認為開啟狀態)
固定關節用於約束一個游戲對象對另一個游戲對象的運動。類似於對象的父子關系,但它是通過物理系統來實現而不像父子關系那樣是通過Transform屬性來進行約束。(使用固定關節的對象自身需要有一個剛體組件)
適用於當希望將對象較容易與另一個對象分開時,或者連接兩個沒有父子關系的對象使其一起運動時。
Connected Body (連接剛體) :用於指定關節要連接的剛體。(若不指定剛體,則該關節默認與世界相連)
Break Force(斷開力) :設置關節斷開的作用力。
Break Torque(斷開轉矩) :設置斷開關節所需的轉矩。
Enable Collision(激活碰撞) :勾選此項,則關節之間也會檢測碰撞。
Enable Preprocessing(啟用預處理) :勾選該項,實現關節的穩定。(該項默認為開啟狀態)
彈簧關節組件可將兩個剛體連接在一起,使其像連接著彈簧那樣運動。
Connected Body(連接剛體) :用於為彈簧指定要連接的剛體。(若不指定剛體,則該關節默認與世界相連)
Anchor(錨點) :設置Joint在對象局部坐標系中的位置。(注意:不是對象將彈向的點)
Auto Configure Connected Anchor(自動設置連接錨點) :勾選該項,連接錨點會自動設置。(該項默認為開啟狀態)
Connected Anchor(連接錨點) :自動連接錨點項開啟時,此項會自動設置。自動連接錨點項未開啟時,可手動設置連接錨點。
Spring(彈簧) :設置彈簧的強度,數值越高彈簧的強度就越大。
Damper(阻尼) :設置彈簧的阻尼系數,阻尼數值越大,彈簧強度減小的幅度越大。
Min Distance(最小距離) :設置彈簧啟用的最小距離值。如果兩個對象之間的當前距離與初始距離的差小於該值,則不會開啟彈簧。
Max Distance(最大距離) :設置彈簧啟用的最小距離值。如果兩個對象之間的當前距離與初始距離的差大於該值,則不會開啟彈簧。
Break Force(斷開力) :設置彈簧關節斷開所需的作用力。
Break Torque(斷開轉矩) :設置彈簧關節斷開所需的轉矩力。
Enable Collision(激活碰撞) :勾選該項,關節之間也會檢測碰撞。
Enable Preprocessing(啟用預處理) :勾選該項,實現關節的穩定。(該項默認為開啟狀態)
角色關節主要用於表現布娃娃效果,它是擴展的球關節,可用於限制關節在不同旋轉軸下的旋轉角度。
Connected Body(連接剛體) :用於為角色關節指定要連接的剛體。(若不指定剛體,則該關節默認與世界相連)
Anchor(錨點) :設置游戲對象局部坐標系中的點,角色關節將按圍繞該點進行旋轉。
Axis(扭動軸) :設置角色關節的扭動軸。(以橙色的圓錐gizmo表示)
Auto Configure Connected Anchor(自動設置連接錨點) :勾選該項,連接錨點會自動設置。(該項默認為開啟狀態)
Connected Anchor(連接錨點) :自動連接錨點項開啟時,此項會自動設置。自動連接錨點項未開啟時,可手動設置連接錨點。
Swing Axis(擺動軸) :設置角色關節的擺動軸。(以綠色的圓錐gizmo表示)
Twist Limit Spring(彈簧的扭曲限制)
Spring:設置角色關節扭曲的彈簧強度。
Damper:設置角色關節扭曲的阻尼值。
Low Twist Limit(扭曲下限) :設置角色關節扭曲的下限。
Limit:設置角色關節扭曲的下限值。
Bounciness:設置角色關節扭曲下限的反彈值。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
High Twist Limit(扭曲上限) :設置角色關節扭曲的上限。
Limit:設置角色關節扭曲的上限值。
Bounciness:設置角色關節扭曲上限的反彈值。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
Swing Limit Spring(彈簧的擺動限制)
Spring:設置角色關節擺動的彈簧強度。
Damper:設置角色關節擺動的阻尼值。
Swing 1,2 Limit(擺動限制1,2) :1與2的限制是對稱的,即更改一個裡面的三項屬性即可。
Limit:設置角色關節擺動的限制值。
Bounciness:設置角色關節擺動限制的反彈值。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
Enable Projection(啟動投影) :該項用於激活投影。
Projection Distance(投影距離) :設置當對象與其連接剛體的距離超過投影距離時,該對象會回到適當的位置。
Projection Angle(投影角度) :設置當對象與其連接剛體的角度超過投影角度時,該對象會回到適當的位置。
Break Force(斷開力) :控制角色關節斷開所需的作用力。
Break Torque(斷開轉矩) :設置角色關節斷開所需的轉矩。
Enable Collision(激活碰撞) :勾選該項,則關節之間也會檢測碰撞。
Enable Preprocessing(啟用預處理) :勾選該項,實現關節的穩定。(該項默認為開啟狀態)
可配置關節組件支持用戶自定義關節,它開放了PhysX引擎中所有與關節相關的屬性,因此可像其他類型的關節那樣來創造各種行為。
可配置關節有兩類主要的功能:移動/旋轉限制和移動/旋轉加速度。
connected boby(連接剛體) :用於為關節指定要連接的剛體。(若不指定則該關節將與世界相連接)
anchor(錨點) :設置關節的中心點,所有基於物理效果的模擬都會以此點為中心點來進行計算。
axis(主軸) :設置局部旋轉軸,該軸決定了對象在物理模擬下自然旋轉的方向。
Auto Configure Connected Anchor(自動設置連接錨點) :勾選該項,連接錨點會自動設置。(該項默認為開啟狀態)
Connected Anchor(連接錨點) :自動連接錨點項開啟時,此項會自動設置。自動連接錨點項未開啟時,可手動設置連接錨點。
Secondary Axis(副軸) :主軸和副軸共同決定了關節的局部坐標。第三個軸與這兩個軸所構成的平面相垂直。
Xmotion(X軸移動) :設置游戲對象在X軸的移動形式,有自由移動(Free)、鎖定移動(Locked)及限制性移動(Limited)。
Ymotion(Y軸移動) :設置游戲對象在Y軸的移動形式,有自由移動(Free)、鎖定移動(Locked)及限制性移動(Limited)。
Zmotion(Z軸移動) :設置游戲對象在Z軸的移動形式,有自由移動(Free)、鎖定移動(Locked)及限制性移動(Limited)。
Angular Xmotion(X軸旋轉) :設置游戲對象圍繞X軸的旋轉形式,有自由旋轉(Free)、鎖定旋轉(Locked)及限制性旋轉(Limited)。
Angular Ymotion(Y軸旋轉) :設置游戲對象圍繞Y軸的旋轉形式,有自由旋轉(Free)、鎖定旋轉(Locked)及限制性旋轉(Limited)。
Angular Zmotion(Z軸旋轉) :設置游戲對象圍繞Z軸的旋轉形式,有自由旋轉(Free)、鎖定旋轉(Locked)及限制性旋轉(Limited)。
Linear Limit Spring(彈簧線性限制)
Spring:彈簧。設置將對象拉回邊界的力。
Damper:阻尼。設置彈簧的阻尼值。
Linear Limit(線性限制) :設置自關節原點的距離為基準對其運動邊界加以限定。
Limit:限制。設置從原點到邊界的距離。
Boundciness:反彈。設置當對象到邊界時施加給它的反彈力。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
Angular X Limit Spring(X軸旋轉限制)
Spring:彈簧。設置將對象拉回邊界的力。
Damper:阻尼。設置彈簧的阻尼值。
Low Angular X Limit(X軸旋轉下限) :以與關節初始旋轉的差值為基礎設置旋轉約束下限的邊界。
Limit:旋轉的限制角度。設置對象旋轉角度的下限值。
Bounciness:反彈。設置當對象到邊界時施加給它的反彈力。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
High Angular X Limit(X軸旋轉上限) :以與關節初始旋轉的差值為基礎設置旋轉約束上限的邊界。
Limit:旋轉的限制角度。設置對象旋轉角度的上限值。
Bounciness:反彈。設置當對象到邊界時施加給它的反彈力。
Contact Distance:設置用於為了避免抖動而限制的接觸距離。
Angular YZ Limit Spring(Y軸和Z軸旋轉限制)
屬性參數同Angular X Limit Spring
Angular Y Limit (Y軸旋轉限制)*
屬性參數同Angular X Limit
Angular Z Limit (Y軸旋轉限制)*
屬性參數同Angular X Limit
Target Position(目標位置) :關節在X,Y,Z三個軸向上應達到的目標位置。
Target Velocity(目標速度) :關節在X,Y,Z三個軸向上應達到的目標速度。
XDrive(X軸驅動) :設置了對象沿局部坐標系X軸的運動形式。
Position Spring:位置彈簧力。朝預定義方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置彈簧力的力。
Maximum Force:最大作用力。推動對象朝預定方向運動的作用力的總和。
YDrive(Y軸驅動) :設置了對象沿局部坐標系Y軸的運動形式。
屬性參數同XDrive
ZDrive(Z軸驅動) :設置了對象沿局部坐標系Z軸的運動形式。
屬性參數同XDrive
Target Rotation(目標旋轉) :目標旋轉是一個四元數,它定義了關節應當旋轉到的角度。
Target Angular Velocity(目標旋轉角速度) :目標旋轉角速度是一個三維向量,它定義了關節應當旋轉到的角速度。
Rotation Drive Mode (旋轉驅動模式) :通過X&YZ軸驅動或插值驅動來控制對象自身的旋轉。
Angular X Drive (X軸角驅動) :設置了關節如何圍繞X軸進行旋轉。
Position Spring:位置彈簧力。朝預定義方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置彈簧力的力。
Maximum Force:最大作用力。推動對象朝預定方向運動的作用力的總和。
Angular YZ Drive (YZ軸角驅動) :設置了關節如何圍繞自身的Y軸和Z軸進行旋轉。
屬性參數同Angular X Drive
Slerp Drive(差值驅動) :設置了關節如何圍繞局部所有的坐標軸進行旋轉。
屬性參數同Angular X Drive
Projection Mode(投影模式) :設置當對象離開其限定的位置過遠時,會讓該對象回到其受限制的位置。可設置為位置和旋轉(Position and Rotation)以及不選擇(None)。
Projection Distance(投射距離) :設置當對象與其連接剛體的距離超過投影距離時,該對象會回到適當的位置。
Projection Angle(投影角度) :設置當對象與其連接剛體的角度差超過投影角度時,該對象會回到適當的位置。
Configured In World Space(在世界坐標系中配置) :勾選該項,所有與目標相關的數值都會在世界坐標系中來計算,而不在對象的局部坐標系中計算。
Swap Bodies(交換體) :勾選該項,則應用交換剛體功能,連接著的兩個剛體會發生交換。
Break Force(斷開力) :設置控制關節斷開所需的作用力。
Break Torque(斷開轉矩) :設置關節斷開所需的轉矩。
Enable Collision(激活碰撞) :勾選該項,關節之間也會檢測碰撞。
Enable Preprocessing(啟用預處理) :勾選該項,實現關節的穩定。(該項默認為開啟狀態)
H. Java如何使用物理引擎
那個是計算機術語
電子游戲裡面會有很多的畫面,比如你說的使命召喚,會有很多人拿著槍互相射擊的畫面。這些畫面如果需要顯示出來,需要進行物理運算和貼圖運算。物理運算的內容包括子彈的彈道,人物的動作,塵土的飛揚,車輛的運轉……而貼圖則主要負責每個物體的顏色,細節,形狀
我們的機器,其中顯卡的部分負責貼圖運算,而CPU負責物理運算。那麼CPU進行物理運算的時候需要遵循一定的法則。簡而言之,這些法則就是游戲設計人員事先設定好的運算規則,可以稱之為物理引擎。
I. unity引擎用什麼語言寫的,有朋友在中公培訓說他們使用的C#,感覺還可以,一般培訓的學的可以不
簡單介紹下u3d:
高效渲染,跟虛幻2引擎相同級別,簡單物理引擎,高度聚合的腳本。
模型導入:支持3Ds,FBX等格式直接導入(太方便了,還記得當年自己寫D3D時候導個3ds累得半死,最後都搞成x文件玩);貼圖材質自動轉換為u3d的格式,相當方便。
腳本語言:js,c#,boo,其實3個沒區別,語法而已,但是js是主打語言,寫的方便;相信其他兩個語言也只是為了吸引更多開發者而已。因為官網論壇人們都用js寫,改成其他語言太麻煩,不僅是語法的麻煩,更主要的是這三個語言間有些函數用法不同,實屬無奈。
跨平台的開發:最早是Mac的引擎,現在進了iphone市場,然後有兼容了windows,實在強大。(note:iphone不支持很多函數和組件,比如Terrian地形,剛得知的,其他以後再note了)
物理引擎:簡單,實用的物理引擎,高質量的粒子系統,簡單但卻逼真。
有了以上幾點,我開發注意力就可以完全集中在邏輯編寫上了,不像以前搞d3d和openGL,導模型,排列模型搞的滿頭大汗,邏輯代碼都沒來得及寫。。。
J. 什麼是物理引擎
物理引擎
物理引擎通過為剛性物體賦予真實的物理屬性的方式來計算它們的運動、旋轉和碰撞反映。為每個游戲使用物理引擎並不是完全必要的——簡單的「牛頓」物理(比如加速和減速)也可以在一定程度上通過編程或編寫腳本來實現。然而,當游戲需要比較復雜的物體碰撞、滾動、滑動或者彈跳的時候(比如賽車類游戲或者保齡球游戲),通過編程的方法就比較困難了。物理引擎使用對象屬性(動量、扭矩或者彈性)來模擬剛體行為,這不僅可以得到更加真實的結果,對於開發人員來說也比編寫行為腳本要更加容易掌握。
好的物理引擎允許有復雜的機械裝置,像球形關節、輪子、氣缸或者鉸鏈。有些也支持非剛性體的物理屬性,比如流體。
物理引擎可以從另外的廠商購買,而一些游戲開發系統具備完整的物理引擎。但是要注意,雖然有的系統在其特性列表中說他們有物理引擎,但其實是一些簡單的加速和碰撞檢測屬性而已。