我想讓第一人稱控制器與多維數據集相撞。立方體和控制器都應用了一個剛體,其中Kinematic設置爲false,它們在物理上發生碰撞,但是我的功能都沒有被調用。 (我已經包含了所有我們試圖使用的功能。)Unity3D第一人稱控制器碰撞檢測
我有第二個配置爲觸發器的立方體,它可以工作。我的講師和我自己都不知道爲什麼它不起作用。
應用到立方體的代碼如下:
var green : Material;
function OnControllerColliderHit() {
print("OnControllerColliderHit");
this.gameObject.renderer.material = green;
}
function OnCollisionEnter(){
print("OnCollsion");
this.gameObject.renderer.material = green;
}
function OnCollisionStay(){
print("OnCollsionStay");
this.gameObject.renderer.material = green;
}
function OnTriggerEnter(){
print("OnTriggerEnter");
this.gameObject.renderer.material = green;
}
這裏是我的項目設置的截圖:http://i.stack.imgur.com/Y4HED.png
此外,我在Windows版本的Unity得到這個問題,我已經創建了一個新的項目,在兩個時間都這樣做。
** 編輯: **我忘了提及的是,函數被調用如果立方體打別的(如平面,如果多維數據集的重心已開啓),這使我相信,有什麼我m從第一人控制器失蹤。
如果我是使用下面的函數,它仍然沒有檢測到衝突: '函數OnCollisionEnter(碰撞:碰撞){ 打印(collision.gameObject.name); }' 我沒有放入參數,因爲我不打算在函數本身中使用它們。 另外,我正在尋找這個網站的答覆煩人的方法。我似乎只能使用內聯代碼方法,輸入提交答覆,雙空間沒有製作一個新行,並且四個空格不能創建代碼塊:/ – grayatrox 2012-02-29 02:05:32
令人驚訝的是,我從來不使用JS,而是使用C#。 如果我在C#的OnTriggerEnter版本中省略參數,它肯定不會被調用。 – Kay 2012-02-29 08:21:56