Unity3D与角色控制器的碰撞

Unity3D与角色控制器的碰撞,unity3d,Unity3d,我是unity的新手,我想成为一名无止境的跑步者。当我的玩家(一个球)击中其中一堵墙时,游戏需要进入场景:LostMenu。我的问题是碰撞不起作用。当它们碰撞时什么也不会发生。。。以下是玩家和墙壁上的检查员:墙壁玩家 墙上的碰撞脚本: using UnityEngine; using System.Collections; public class LostByWallCSR : MonoBehaviour { void OnCollisionEnter (Collision col)

我是unity的新手,我想成为一名无止境的跑步者。当我的玩家(一个球)击中其中一堵墙时,游戏需要进入场景:LostMenu。我的问题是碰撞不起作用。当它们碰撞时什么也不会发生。。。以下是玩家和墙壁上的检查员:墙壁玩家

墙上的碰撞脚本:

using UnityEngine;
using System.Collections;

public class LostByWallCSR : MonoBehaviour
{
    void OnCollisionEnter (Collision col)
    {
        if(col.gameObject.name == "Player")
        {
             Application.LoadLevel("LostMenu");
             Debug.Log ("WORKS!");
        }
   }
}
播放器上的移动脚本:

using UnityEngine;
using System.Collections;

public class CharacterControllerz : MonoBehaviour {

public float speed = 5f;
public float gravity = 20f;
private Vector3 moveDirections = new Vector3();
private Vector3 inputs = new Vector3();

void FixedUpdate()
{
    CharacterController cc = GetComponent<CharacterController>();
    if (cc.isGrounded) 
    {
        if (Input.GetKey("left"))
            inputs.z = 3;
        else if (Input.GetKey("right"))
            inputs.z = -3;
        else
            inputs.z = 0;

        moveDirections = transform.TransformDirection(inputs.x, 0, inputs.z) * speed;                    
    }

    inputs.x = 5;
    moveDirections.y = inputs.y - gravity;
    cc.Move(moveDirections * Time.deltaTime);
}
}
使用UnityEngine;
使用系统集合;
公共类CharacterControllerz:单行为{
公共浮子速度=5f;
公共浮子重力=20f;
私有向量3 moveDirections=新向量3();
私有向量3输入=新向量3();
void FixedUpdate()
{
CharacterController cc=GetComponent();
如果(cc.isground)
{
if(Input.GetKey(“左”))
输入z=3;
else if(Input.GetKey(“right”))
输入z=-3;
其他的
输入z=0;
移动方向=变换.变换方向(输入.x,0,输入.z)*速度;
}
输入x=5;
moveDirections.y=输入。y-重力;
cc.Move(moveDirections*Time.deltaTime);
}
}

你知道如何正确设置碰撞吗?附加刚体对它没有帮助。除非我遗漏了一些东西。

确保两个对象都有碰撞器组件

您需要将一个刚体组件附加到其中一个对象。(如果不附加刚体,它将不起作用)

您的球体碰撞器已触发,请删除该触发器或将函数更改为

public void OnTriggerEnter(Collider other)
    {

    }

如果不在两个身体上都附加刚体碰撞将无法工作,您是说我需要在我的播放器上附加刚体和角色控制器?我认为这些东西不能很好地结合在一起…将刚性连接到你的墙上,而不是好的,如果我开始游戏并立即与它发生碰撞,一切都会正常。问题是,这堵墙有点与其他墙相撞,他“飞”开了。因为刚体和那些物理,他完全被推开了。然而,如果我试图在它被推开并与之碰撞时追逐它,那么什么都不起作用。所以它只能在原始状态下工作。你知道如何消除他被其他墙推开的感觉吗?设置“Is Kinetic”(是运动学)会移除推动,但碰撞不再起作用让我们来看看。