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

2022-02-12 07:44:10 字數 1724 閱讀 4362

一、概述

物理引擎就是模擬真實世界中物體碰撞、跌落等反應的引擎,通過ballence、憤怒的小鳥等理解。unity3d的物理引擎使用的是nvidia的physx。

物理引擎是乙個電腦程式模擬牛頓力學模型,使用質量、速度、摩擦力和空氣阻力等變數。可以用來**這種不同情況下的效果。它主要用在計算物理學和電子遊戲以及電腦動畫當中。

物理引擎有兩種型別常見的型類:實時物理引擎和高精度物理引擎。高精度的物理引擎需要更多的處理能力來計算非常精確的物理,通常使用在科學研究(計算物理學)和電腦動畫電影製作。實時物理引擎使用通常使用在電子遊戲並且簡化運算,降低精確度增以減少計算時間,得到在電子遊戲當中可以接受的的處理速度。

二、示例

選乙個遊戲物件,主選單→component→physics→rigidbody,這樣就新增了剛體元件,一旦給乙個gameobject新增剛體元件,他就會受重力、碰撞等的反應,最典型的就是「腳下無地」就會墜落、和其他剛體碰撞會**,無法進入等。地面用plane,加光照會更好。

開發步驟:

1、建立專案,開啟軟體,

預設如下,

也可以手工新增加乙個新的 sence,

2、建立球體,點選上圖create ,建立 3d object→sphere.配置其座標x:0 y:5 z:0

3、設定球體為剛體,選中sphere,在component上選擇physics→rigidbody,此時在inspector,中可以看到

設定drag 為1

具體含義可看第一講安裝的文件

4、設定球體材質

只匯入必要的包

將材質屬性,拖拽至球體上即可

5、新增地面

在create→plane即可,點選工具欄執行即可看到效果。

6、新增指令碼

7、指令碼內容編寫

設定指令碼開啟方式:edit→perferences→external tool→選擇開發指令碼工具即可

指令碼預設有兩個方法

start 物件初始化

update:每一幀呼叫時候執行

在update增加以下內容 

if (input.getmousebuttondown(0

))

將指令碼拖拽至具體遊戲推向即可,同乙個指令碼可以給多個遊戲物件。    

執行測試點選滑鼠檢視效果。

Unity 3D 物理引擎之碰撞器

碰撞器非為很多種,在這就不一一介紹了,值得注意的物體間碰撞的忽略有兩種方法,一種是通過指令碼裡的 實現兩個物體不發生碰撞,方法為 作用是設定遊戲物體ball a不與當前指令碼掛到的物體發生碰撞,注意,引數是遊戲物體的collider元件 physics.ignorecollision ball a....

U3D 物理引擎

input 類 人機互動 鍵盤 可通過input實現外部裝置控制場景內遊戲物體實現相關功能 getkey 按住鍵盤上某乙個鍵時返回bool值 true getkeydown 按下某乙個按鍵後的第一幀返回bool值 true getkeyup 按鍵按下後鬆開時返回bool值 true input.ge...

untiy3d 物理引擎初級

一 新增元件 1 檢視面板 addcomponent 2 選單欄component physics 二 剛體變數 1 質量 2 阻力 3 旋轉阻力 4 是否使用重力,打鉤為使用 5 是否受到力的作用,打鉤為不受作用 6 interpolate 單獨渲染剛體 差值演算法 內差,外差 剛體為抖動的時候要...