『壹』 如何讓unity中物理效果更加逼真
如何讓unity中物理效果更加逼真
物理可能不是每個人最喜歡的那個科目,但事實是,物理學在游戲行業的發展中起著非常重要的作用。
想像在這樣一個情況下:你終於決定要做一些大事情!一些值得注意的事情!有很多現實物理和圖形的大事情!這是一個大游戲,一切都岌岌可危!
設計已經完成了,架構也已經弄好了,看上去一切就緒。但是這時候你開始實現最有技巧的那個部分:」游戲的物理部分」!
一切都開始分崩離析,你遇到了低FPS、奇怪的運動、碰撞/觸發方面的問題,CPU使用率很高以及其他各種各樣的問題。
錯誤或不適當的物理表現可以趕走潛在的玩家。而且它涉及的不僅僅是物理表現的不正確,它還會讓一個原本流暢的游戲體驗變得延遲不舒服。
讓物理部分表現的很恰當而且不影響效率是不容易達到的。的確,物理是游戲開發過程中最困難和最重要的一部分,而且你根本避不開,必須面對它!
人們可以爭論說,「好的物理表現需要非常快的CPU!」
但是相信我這並不總是真的!大多數時候可以通過深入分析Unity的原理來獲得適當的物理表現!以及通過學習它是如何工作的來讓物理部分表現的更好。
當我還是一個初學者的時候,我不得不處理100件和物理部分有關的事情。它大概花費了我一年的時間,我才記下在處理物理部分的時候需要記住的要點!
所以我決定寫這篇文章,來幫你跳過這個痛苦的學習階段,並成為游戲物理部分的專業開發人員!
我不會談論如何使用Unity的物理部分,而我將列出技巧和要點來告訴你該如何優化你的游戲物理部分,所以如果你是一個初學者的話,我會建議你首先對Unity的物理部分有一個大概的了解。
因為物理是一個非常、非常、非常、非常(還可以有很多非常進行修飾:P)巨大而廣泛的概念,我決定分成幾個不同的部分和並盡可能的簡化。
所以讓我們開始吧!系好你的安全帶,這將是一個漫長而愉快的旅程。
降低固定的更新時間間隔。。。!
Unity的文檔是這么描述的,」物理部分的計算與更新是與幀速率無關的,FixedUpdate()時間也是與與幀速率無關的」。這個默認值是0.02(單位是秒),這意味著每20毫秒物理部分將要更新一次。所有的FixedUpdate() 函數也是20毫秒執行一次。
但是如果你的游戲不是嚴重依賴物理部分的話,你總是可以增加時間間隔,從而獲得更好的結果。(即減少物理部分的調用)。
你需要對這個值進行測試調整來得到理想的效果。
讓我們舉個簡單的例子:
「如果你要做一個簡單的紙牌游戲,沒有太多使用物理的地方。最好是減少調用物理引擎的次數。但是需要記住這么一個事情:如果你把調用物理引擎的次數減少的太多的話,你可能不會得到恰當的物理表現。」
讓我們通過下面這些例子來更好的理解這個事情
1在場景中擺放3- 4球。讓他們彼此相隔一定距離。
2創建一個物理材料,並將摩擦系數減少為0,並將反彈系數設為1。
3將新創建的物理材質附加到球體的碰撞體物理材質上。
4給球體添加剛體組件(這將向引擎表明它是一個物理物體)。
5在場景中擺放一個平面,並且按需要來給這個平面添加物理材質。
6讓球體保持在平面上的一定距離,並且讓重力影響這些球體。
7按下播放鍵,檢查結果。
這些球體會不停的彈上彈下。
這與固定時間步長有什麼關系?
上面這些只是一些預設置,現在我們來調整下固定的時間步長值。
在菜單欄裡面找到Edit >> Project Settings>> Time ,在這里你將看到Fixed Time Step Value:the value will be around 0.02(正如我之前提到的那樣)。
現在把這個值提為0.1,然後再執行游戲。
你注意到區別是什麼了么?
首先你會注意到球體有一些運動滯後。
其次,球體不會反彈了,而是直接穿過了平面。
為什麼會這樣?(不需要跳動的如此之快:P)
如果你把固定時間步長設置為0.1,那麼這意味著物理部分的更新將每100毫秒發生一次,這很明顯的有點過長了,並且將無法將測到碰撞。
這表明過多的降低固定時間步長也不是個很理想的情況。現在讓我們改變時間步長為更實用的值0.03 - 0.04(根據你的球體的設置可能會有所不同)。
現在如果你執行游戲的話,你將無法看到任何變化。只要物理看起來適合你,那就沒關系。如果你仔細檢查的話,物理碰撞會略有不同。
『貳』 unity材質球是什麼
unity的材質都是球狀顯示的 所以叫材質球,比如看下面的材質球圖片
『叄』 美術里的unity是什麼意思有什麼特點
游戲引擎。1、可視化編程界面完成各種開發工作,高效腳本編輯,方便開發;2、自動瞬時導入,Unity支持大部分3D模型,骨骼和動畫直接導入,貼圖材質自動轉換為U3D格式;3、只需一鍵即可完成作品的多平台開發和部署;4、底層支持OpenGL和Direct11,簡單實用的物理引擎,高質量粒子系統,輕松上手效果逼真;5、支持Java Script、C#、Boo腳本語言;6、Unity性能卓越,開發效率出類拔萃,極具性價比優勢7、支持從單機應用到大型多人聯網游戲開發.
『肆』 我的unity5.2.2f1的物理材質怎麼少了friction屬性
1首先安裝 UnitySetup-5.1.2f1 (源安裝程序)安裝比較的慢,最後安裝完後勾選run unity,點finish,安裝完成。
會看到license界面,這是要許可號呢,先將這個界面關掉它。
2將Unity 5.x Pro Patch (破解工具)復制放到安裝目錄的 editor文件夾下,如我的文件夾是 D:\Program Files (x86)\Unity\Editor
3運行 Unity 5.x Pro Patch (破解工具)
先點Patch,再點cre lic。
之後會生成一個文件 Unity_v5.x.ulf
如有其實覆蓋,點擊OK 即可!
4完成破解工作後,再運行桌面的安裝程序!
『伍』 物理材質包怎麼沒有,unity3D
這確實是個很好的引擎,而且肯定也有人在讀《Unity 3D Game Development by Example--Beginner's Guide》這本書。
這本書也是一本非常好看的書,
灰常的詼諧幽默。
但碰到第一個Example的時候,就讓人頭大了:那個球的材質要求是Bouncy,原本在Standard Assets包中的,可大家安裝Unity 3D後,肯定發現只能用Standard Assets(Mobile)包,這個Mobile包中是不含Bouncy材質的。
(提醒,請尊重作者勞動,轉帖時候註明來源)首先找到下面畫紅線的這個文件夾(根據個人安裝路徑不同,可能文件夾也不一樣,但大致會是下面這個樣子)。
『陸』 關於Unity5.2的物理材質,求助
本來就是摩擦系數,哪有摩擦力這種屬性的說法。網上那些人估計是為了簡化。你自己也可以做個實驗啊。弄兩個cube,賦予同樣的物理材質,然後看看是否需要相同的力才能推的動