2016-07-24 145 views
0

在高級我想說如果這是一個非常簡單的問題,並帶有一個簡單的答案,我很抱歉,因爲我剛剛進入編程。基本上,我試圖創建一個名爲藍色的塊的腳本(下圖)在與FPSController碰撞,將被摧毀,這裏是我的腳本:碰撞腳本不起作用?

using UnityEngine; 
using System.Collections; 

public class Cube : MonoBehaviour { 

    void OnCollisionEnter (Collision col) { 

     if(col.gameObject.name == "Blue") { 

      Destroy(col.gameObject); 
      print ("collison detected"); 

     } 

    } 

} 

出於某種原因,不過,每當FPS控制器被稱爲「藍」什麼也沒有發生,打印()函數的對象碰撞不是觸發也不是銷燬()功能 enter image description here

謝謝你在追求;)

回答

0

您的多維數據集中缺少剛體。

。安裝Rigidbody組件到兩個立方體。

。還有,設置兩個立方體Rigidbody到是運動學。您必須將立方體Rigidbody設置爲Is-kinematic,以便字符控制器不會移動它。請注意,如果您的立方體在添加Rigidbody後掉落,只需在Rigidbody上禁用Use Graivty即可。

重要:

.Delete FPSController。由於您將與其他Rigidbody GameObjects交互,請使用RigidBodyFPSController。它可以在Assets\Standard Assets\Characters\FirstPersonCharacter\Prefabs找到。將RigidBodyFPSController拖動到場景,然後將Cube腳本附加到該場景。

你會注意到有一個Rigidbody連接到RigidBodyFPSController不要修改它的設置。

就是這樣。一切都應該按預期工作。

Cube設置:

enter image description here

RigidBodyFPSController設置:

enter image description here

+0

我設置爲 「藍色」 到剛體,必須是運動選中與 「利用重力」 選中,但是隻是改變我看到的是立方體正在下降後,FPScontroller觸摸它btw這裏是圖像顯示:http://imgur.com/a/2Bik​​D – SpikyCat

+0

**「我設置」藍色「到一個剛體「**您不會將物體設置爲剛體,而是將剛體固定在剛體上。你可以將剛體連接到兩個物體嗎? – Programmer

+0

我已經做了,我已經嘗試改變哪個對象獲得腳本以及 – SpikyCat