我试着让一个球员随着移动的石头移动,球员跳上它,石头把她从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;
}
}发布于 2020-01-17 00:21:25
仔细检查你的对撞机。仅当您的玩家角色具有设定为触发器的碰撞器时,OnTriggerEnter才会起作用。否则,您需要使用OnCollisionEnter。一个对象上可以有多个碰撞器
就我个人而言,我会给石头一个触发对撞机,而不是玩家,以及一个普通的对撞机,几乎覆盖了岩石上的站立区域。然后,您可以检测该播放器并通过它更改该播放器的父级。这样,如果玩家触摸到岩石的一侧或不同的部分,就不会让他们成为它的父母。
https://stackoverflow.com/questions/59768674
复制相似问题