untiy3d 物理引擎初級

2021-08-20 21:17:16 字數 1678 閱讀 7416

一:新增元件

1、檢視面板 addcomponent

2、選單欄component->physics

二:剛體變數

1、質量

2、阻力

3、旋轉阻力

4、是否使用重力,打鉤為使用

5、是否受到力的作用,打鉤為不受作用

6、interpolate 單獨渲染剛體 差值演算法 內差,外差 ,剛體為抖動的時候要差值,減少抖動,可為設定主角

7、collision detection 碰撞檢測

1️⃣隔斷時間不連續檢測 在快速移動時,會直接穿過,沒有碰撞,來不及檢測

2️⃣連續檢測

3️⃣動態連續檢測 用於高速移動的物體,但是也不一定能檢測到

但是由於都不能一直檢測到,所以一般用射線檢測,其他檢測方法

8、constranints 凍結,凍結某個方向,旋轉方向。

比如,使用重力,但是凍結y方向,物體不會掉下來

凍結x軸,掉下來而是原來的狀態,不會翻轉下來

三:常用屬性

1、速度

_rig.velocity = 

newvector3(0

, 1, 1

) * 

15f;

2、旋轉速度

_rig.angularvelocity = 

vector3

.up * 

10f; 

3、設定重心

rig.centerofmass = 

vector3

.down;

4、設定穿透,不檢測碰撞:

_rig.detectcollisions = 

false

;四:方法

1、施加力量

_rig.addforce (

vector3

.up * 

200f

,forcemode

.force);

2、旋轉力if(

input

.getkeydown (

keycode

.q)) 

3、對物體的某個位置(相對自身)施加力if(

input

.getkeydown (

keycode

.w)) 

第二個引數是列舉型別forcemode

力             forcemode.force: 按物體實際質量和實際的力的作用時間,給物體施加力 (預設)

衝動          forcemode.impulse: 實際質量,忽略力的作用(按1s),給物體施加力

加速度     forcemode.acceleration: 忽略質量(按1為單位),按實際力的作用時間,給物體施加力

速度變化    forcemode.velocitychange:忽略質量(按1為單位),忽略時間(按1s),給物體施加力

forcemode的理解

作用時間理解: 

force: 執行一次,施加一幀時間(0.02s左右)的作用力

impulse:執行一次,施加持續1秒的作用力

UNTIY3D接入91SDK的辦法

unity3d接入android sdk 方法一 把unity3d遊戲打成安卓專案檔案,修改安卓專案檔案來加入安卓sdk。方法二 1.首先 參考 相信看完文章後u3d呼叫android是沒有困難的。2.u3d與sdk結合 在 plugins android libs下放入ndcomplatform....

Untiy3D筆記之番外篇 c 生成真正隨機數

雖然可以用random類來生成隨機數,但它以系統時鐘為種子,所以產生的是有大量重複的偽隨機數。可以用rngcryptoserviceprovider 產生相對真的隨機數,由加密服務提供程式 csp 的隨機數發生器 rng 產生 具體實現如下 byte randombytes new byte 4 r...

U3D 物理引擎

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