2016-07-24 4 views
0

고급 있음 간단한 대답으로 정말 간단한 질문이라면 사과하겠습니다. 기본적으로 파란색으로 표시된 블록 (아래 그림)을 만드는 중입니다. 어떤 이유로충돌 스크립트가 작동하지 않습니까?

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 컨트롤러는 "블루"아무것도 인쇄() 함수를 발생하지로 알려진 물체와 충돌 할 때마다 다음 FPSController와의 충돌에 파괴 얻을 것이다), 여기 내 스크립트입니다 트리거되지 않았거나 destroy() 함수입니다. enter image description here

감사합니다. ;) 감사합니다.

답변

0

리지드 바디가 큐브에서 누락되었습니다.

.adaptach두 큐브의 구성 요소.

2 .Also, IS-운동에 모두 큐브를 Rigidbody 설정합니다. 캐릭터 컨트롤러가 움직일 수 없도록 양쪽 큐브 Rigidbody을 Is-kinematic으로 설정해야합니다. Rigidbody을 추가 한 후 큐브가 떨어지는 경우 Rigidbody에서 을 사용 중지하기 만하면됩니다. 중요

:

3 .Delete FPSController. 다른 Rigidbody GameObjects와 상호 작용할 것이므로 RigidBodyFPSController을 사용하십시오. Assets\Standard Assets\Characters\FirstPersonCharacter\Prefabs에서 찾을 수 있습니다. RigidBodyFPSController을 Scene에 드래그 한 다음 큐브 스크립트를 첨부하십시오.

RigidBodyFPSController에 부착 된 Rigidbody이 있음을 알 수 있습니다. 의 설정을 수정하지 마십시오.

그게 전부입니다. 모든 것이 예상대로 작동해야합니다.

Cube 설정 :

enter image description here

RigidBodyFPSController 설정 : 그러나 나는, 강체에 "블루"로 설정되지 않은 운동 학적 검사되지 않은 및 "사용 중력"이

enter image description here

+0

, 유일한 변화 내가 큐브가 FPScontroller 그것을 만지면 떨어지고있다 볼 수 있습니다 여기 이미지가 표시됩니다 : http://imgur.com/a/2BikD – SpikyCat

+0

** "나는"파란색 "을 강체 "** 강체에 물건을 올려 놓지 마십시오. 강체를 그것에 부착하십시오. 두 개체에 리지드 바디를 부착 할 수 있습니까? – Programmer

+0

나는 벌써 그 일을 이미 끝냈다. 어떤 객체가 스크립트를 가져 왔는지에 대해서 이미 바꿔 놓았다. – SpikyCat

관련 문제