1、概述工具
物理引擎就是模擬真實世界中物體碰撞、跌落等反應的引擎,經過ballence、憤怒的小鳥等理解。Unity3D的物理引擎使用的是Nvidia的PhysX。測試
物理引擎是一個計算機程序模擬牛頓力學模型,使用質量、速度、摩擦力和空氣阻力等變量。能夠用來預測這種不一樣狀況下的效果。它主要用在計算物理學和電子遊戲以及電腦動畫當中。動畫
物理引擎有兩種類型常見的型類:實時物理引擎和高精度物理引擎。高精度的物理引擎須要更多的處理能力來計算很是精確的物理,一般使用在科學研究(計算物理學)和電腦動畫電影製做。實時物理引擎使用一般使用在電子遊戲而且簡化運算,下降精確度增以減小計算時間,獲得在電子遊戲當中能夠接受的的處理速度。this
2、示例spa
選一個遊戲對象,主菜單→Component→Physics→Rigidbody,這樣就添加了剛體組件,一旦給一個GameObject添加剛體組件,他就會受重力、碰撞等的反應,最典型的就是「腳下無地」就會墜落、和其餘剛體碰撞會反彈,沒法進入等。地面用Plane,加光照會更好。3d
開發步驟:code
一、建立項目,打開軟件,對象
默認以下,blog
也能夠手工新增長一個新的 Sence,遊戲
二、建立球體,點擊上圖create ,建立 3d object→Sphere.配置其座標x:0 y:5 z:0
三、設置球體爲剛體,選中sphere,在Component上選擇Physics→Rigidbody,此時在Inspector,中能夠看到
設置Drag 爲1
具體含義可看第一講安裝的文檔
四、設置球體材質
只導入必要的包
將材質屬性,拖拽至球體上便可
五、添加地面
在create→Plane便可,點擊工具欄運行便可看到效果。
六、添加腳本
七、腳本內容編寫
設置腳本打開方式:edit→perferences→External Tool→選擇開發腳本工具便可
腳本默認有兩個方法
Start 對象初始化
Update:每一幀調用時候執行
在Update增長如下內容
if (Input.GetMouseButtonDown(0)) { this.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.forward, ForceMode.Impulse); }
將腳本拖拽至具體遊戲推向便可,同一個腳本能夠給多個遊戲對象。
運行測試點擊鼠標查看效果。