gpt4 book ai didi

c# - 碰撞检测不统一

转载 作者:太空狗 更新时间:2023-10-29 22:29:57 25 4
gpt4 key购买 nike

首先,我知道这个问题已经被问了很多,但我找不到解决方案,所以我的问题是,我正在制作一个教育游戏,我有静脉和血液流动(有很多盒子碰撞器)并且单个血细胞(也带有盒式对撞机)但是我希望细胞在到达壁式对撞机时被破坏,但它不会停留在那里,这就是项目!

http://tinypic.com/r/10706es/9

(因为我的名誉不能上传图片,抱歉)

我想要摧毁我的单元格的对撞机是粉红色的对撞机,但是当它碰到它时它什么都不做,这是我的脚本

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

public class collision : MonoBehaviour {
// Use this for initialization
void Start () {
}

// Update is called once per frame
void OnCollisionEnter(Collision col)
{
print("hihi");
if (col.gameObject.tag == "Collider")
{
Destroy(gameObject);
}
}
}

此外,这是 AddForce 脚本

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

public class AddForce : MonoBehaviour {

public float thrust;
public Rigidbody rb;
private Vector3 up;
private bool move;

void Start()
{
rb = GetComponent<Rigidbody>();
up = new Vector3(0, 1, 0);
move = false;
}

void FixedUpdate()
{
if (Input.GetKey("space"))
{
if (rb.velocity.magnitude < 5)
rb.AddForce(up * thrust);
move = true;
}

else
{
if (move == true)
rb.velocity = new Vector3(0, -0.5F, 0);
}


}
}

感谢您的帮助! :D

最佳答案

无论您使用的是 OnTriggerEnter 还是 OnCollisionEnter,它都可以是几件事:

  • 缺少刚体(最常见)。至少一个涉及的游戏对象需要有一个刚体。 (检查它们中是否至少有一个附加了 RigidBody,如果您使用的是 OnCollisionEnter,则没有检查“Is Kinematic”)。有关详细信息,请参阅下面的碰撞矩阵。

  • 缺少标记。来自碰撞的 GameObject 没有“Collider”标签(尝试删除 if 语句来测试它)(要比较标签,使用 collider.gameObject.CompareTag("Collider"),它有一个更好的性能)

  • 不可检测的碰撞。物理层碰撞矩阵设置为不检测对象所在层之间的碰撞(进入编辑>项目>物理并检查是否在层碰撞矩阵中检查了两个游戏对象层的相遇)

  • 对撞机配置错误。一个或两个 GameObjects 有一个小的/错误放置的或没有 Collider(检查它们是否都有 Collider 组件以及它们的大小是否正确)

如果它正常工作,您应该能够按下播放键并将一个游戏对象拖到另一个游戏对象中,然后您的 Debug.Log 就会出现。

作为建议,使用能更好地描述将成为其中一部分的游戏对象组的标签名称,例如“RedCells”或“WhiteCells”。配置 Layer Collision Matrix 和提高游戏性能会更容易。

另一个建议:对于只会破坏另一个游戏对象的碰撞器(不要使用react,比如碰撞或实际碰撞),我使用触发器。这样,它们之间的碰撞不会改变剩余游戏对象的任何内容(如方向/速度/等)。为此,请检查 Collider 中的 Is Trigger 并使用 OnTriggerEnter而不是 OnCollisionEnter。

Collision matrix
Source

关于c# - 碰撞检测不统一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43939179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com