【发布时间】:2020-10-07 08:37:38
【问题描述】:
或者在碰撞时让它们反弹。但现在它没有检测到任何碰撞。
第一个立方体有刚体使用重力和运动学都选中启用真。 如果我禁用 Is Kinematic,立方体会掉下来。 两个立方体都附加了相同的脚本。 两个立方体都有一个盒子碰撞器,并且两者上的 Is Trigger 都未选中禁用。
这个脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Door : MonoBehaviour
{
public Transform target;
public float speed;
private void Start()
{
}
private void Update()
{
float step = speed * Time.deltaTime; // calculate distance to move
transform.position = Vector3.MoveTowards(transform.position, target.position, step);
}
}
每个立方体都有脚本,目标是另一个立方体。所以两个立方体相互移动,但从不碰撞。
两个立方体设置截图:
【问题讨论】:
-
看看
OnTriggerEnter,如果你不编码,你就不能指望任何事情发生...... -
也许你做错了。如果您想使用物理(例如弹跳),您可以只制作一个脚本,将rigidbody.velocity 更改为始终朝另一个方向移动。然后 Unity physic 将处理碰撞和反弹。使用物理材质来改变弹性。