Unity3d 将播放器连接到移动平台3d unity

Unity3d 将播放器连接到移动平台3d unity,unity3d,Unity3d,我试着让一个玩家用移动的石头移动,玩家跳到石头上,石头把她从a带到b,但现在玩家只是从石头上滑下来。这是我的岩石代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class playerattach : MonoBehaviour { public GameObject Player; public void OnTriggerEnter(Coll

我试着让一个玩家用移动的石头移动,玩家跳到石头上,石头把她从a带到b,但现在玩家只是从石头上滑下来。这是我的岩石代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerattach : MonoBehaviour
{
    public GameObject Player;

    public void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "movingrock")
        {
            Player.transform.parent = other.gameObject.transform;
        }
    }

    void OnTriggerExit(Collider other)
    {
        Player.transform.parent = null;
    }
}

仔细检查你的对撞机。只有当玩家角色上有一个设置为触发器的碰撞器时,OnTriggerEnter才会工作。否则,您需要使用OnCollisionCenter。一个对象上可以有多个碰撞器


就我个人而言,我会给岩石一个触发碰撞器,而不是玩家,以及一个普通的碰撞器,它几乎覆盖了岩石上的站立区域。然后,您可以检测该播放器并通过它更改该播放器的父级。这样一来,如果玩家接触到岩石的侧面或岩石的不同部分,你就不会让玩家成为它的父母了

你的玩家游戏对象是否使用了物理引擎(刚体)?是的,玩家确实有一个刚体。如果平台也是一个刚体,你可能会想要使用关节。否则,您可以尝试启用播放机的
Is motional
属性。从docs::Is kinetic中,如果启用,对象将不会由物理引擎驱动,只能通过其变换进行操作。这对于移动平台或要为连接了铰链关节的刚体设置动画非常有用。()你有没有尝试过增加运动员的速度,比如摇滚乐?