c# - 在 Unity 中翻译时游戏对象掉落
问题描述
所以这就是故事。我连续有 4 个游戏对象,彼此相邻。我有一个立方体。当立方体与游戏对象发生碰撞时,我希望它们被翻译,但是当我开始翻译它们时,它们开始从地图上掉下来。有人说在刚体上使用 Kinematic,但是当我使用 Kinematic(甚至静态)时,我不能再碰撞/平移它们了。有人对此有任何解决方案吗?
这是我的碰撞代码供参考:
void OnCollisionEnter(Collision collision)
{
Debug.Log("Collision");
if (collision.gameObject.name == "SectionOne")
{
collision.gameObject.transform.Translate(0, 0, section_placement);
}
else if (collision.gameObject.name == "SectionTwo")
{
collision.gameObject.transform.Translate(0, 0, section_placement);
}
else if (collision.gameObject.name == "SectionThree")
{
collision.gameObject.transform.Translate(0, 0, section_placement);
}
else if (collision.gameObject.name == "SectionFour")
{
collision.gameObject.transform.Translate(0, 0, section_placement);
}
}
}
解决方案
碰撞可能很难掌握。您应该参考此页面上的碰撞行动矩阵。
https://docs.unity3d.com/Manual/CollidersOverview.html
如您所见,两个运动体之间的交互不会调用 OnCollisionEnter。但是,如果您将对撞机设置为触发器和运动学,则 OnTriggerEnter 会。
推荐阅读
- html - 用于抓取 WSJ 和 Yahoo Finance 的 Google App 脚本
- php - base64_encode - 主机服务器升级后本地与主机上的结果不同
- sql - 带部门的案例陈述
- command-line-interface - Serena 命令行,获取 item-spec
- html - 将文件导入网页 [SELENIUM]
- javascript - 传递给组件时打字稿混乱
- python - 在 Python 中使用 tricontourf 的最佳方法
- php - 如何将我的 React 应用程序连接到 PHP 文件?
- android - 如何从 attachBaseContext() 访问 ViewModel?
- bash - 天蓝色管道模板如何引用同一模板存储库中的文件?