003-unity3d 物理引擎簡介以及示例

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);
        }

  將腳本拖拽至具體遊戲推向便可,同一個腳本能夠給多個遊戲對象。    

  運行測試點擊鼠標查看效果。

相關文章
相關標籤/搜索