Unity角色控制器

2021-06-27 09:09:44 字數 1356 閱讀 6526

控制角色移動,加上剛體和碰撞盒後經常出現角色被其他物體撞飛或者角色走動過程中經常摔倒等難以控制的現象。

利用角色控制器可以避免角色被撞飛翻到等。

方法如下

首先在hierasrchy檢視中選擇需要新增角色控制器的遊戲物件,具體操作方法是在unity導航選單欄中選擇「component」->「physics」->「character controller」選單項即可給物件新增角色控制器。

新增完角色控制器元件後,就需要在指令碼中控制角色控制器元件,首先建立乙個遊戲指令碼,然後在指令碼中使用方法getcomponent()獲取角色控制器元件物件,接著通過呼叫******move()方法(其引數為角色移動的方向)來移動該角色。

private transform mytransform;

public charactercontroller controller;  //定義角色控制器

private float movespeed = 30.0f;  //定義移動速度

public gameobject colliderobj;

void start ()

void update ()

if (input.getkeydown(keycode.d)) 

if (input.getkeydown(keycode.w)) 

if (input.getkeydown(keycode.s)) 

if (controller.collisionflags == collisionflags.sides) }

}// 移動角色時呼叫此方法charactercontroller.move()移動,下方方法才會被呼叫,move()方法y軸上速度被忽略,速度以公尺/秒為單位,重力被自動應用,建議你沒幀只呼叫一次move或者******move方法

void oncontrollercolliderhit(controllercolliderhit hit)

只有呼叫charactercontroller.move呼叫期間,才會觸發碰撞方法

//角色控制器元件在與具有collider元件物件之間的碰撞

void oncontrollercolliderhit(controllercolliderhit hit)}}

在charactercontroller.move()呼叫期間,膠囊體的哪個部分與周圍環境相碰撞。

controller.isgrounded是否接觸地面

charactercontroller controller  = getcomponent(charactercontroller);

if ((controller.collisionflags & collisionflags.above) != 0) 碰撞體在自身的上方

unity 角色控制器

我們要控制角色的移動,能夠所有細節都由自己來實現。控制角色模型的移動,同一時候移動攝影機,改變視角。當然unity也提供了一些元件,能夠讓我們做更少的工作,實現我們所期望的功能。今天我們就一起系統來學習相關的內容吧。角色控制器同意你在受制於碰撞的情況下非常easy的進行運動,而不用處理剛體。角色控制...

Unity 4 4 新增角色控制器

分類 unity c vs2015 建立日期 2016 04 10 一 簡介 設計完畢基本的場景後,一般都需要先執行看看效果如何,即先讓場景 動起來 以方便觀察不同的位置,而不是僅僅觀察固定攝像機位置的死板板的場景。這就是角色控制器的功能 實際上還不僅僅是只有這些功能 unity已經幫你設計好了角色...

Unity手遊之路《七》角色控制器

我們要控制角色的移動,可以全部細節都由自己來實現。控制角色模型的移動,同時移動攝影機,改變視角。當然unity也提供了一些元件,可以讓我們做更少的工作,實現我們所期望的功能。今天我們就一起系統來學習相關的內容吧。角色控制器允許你在受制於碰撞的情況下很容易的進行運動,而不用處理剛體。角色控制器不受力的...