每当我生成5个落地的立方体预制件的新行时,预制件与地面的碰撞没有被检测到,立方体也不会移动回背景中。我不知道发生了什么。碰撞代码在一个脚本上,该脚本是生成预制件的gameObject的一个组件。如何获取与预制件本身发生冲突的代码。另外,如何将精灵指定给预制件?我试过了,但Unity不允许我这么做。
发布于 2016-08-03 17:41:14
一般来说,如果两个物体发生碰撞,它们都需要一个对撞机,其中至少一个需要一个(非动力学的)刚体。有2D和3D版本的碰撞器和刚体。
例如,可以使用脚本中的OnCollisionEnter捕捉碰撞,该脚本附加到两个碰撞对象中的任何一个,在您的情况下,可能是坠落的立方体。
此外:只有在您的assets文件夹中才能称其为prefab。例如,如果使用Instantiate在场景中放置预制件的实例,则该实例称为(预制件x的) instance。
对于精灵:对象需要有一个SpriteRenderer。它有一个可以更改的sprite属性。如果通过将精灵拖动到场景中,然后将该游戏对象从场景拖动到assets文件夹来创建立方体预设体,则立方体将具有可访问的SpriteRenderer。
(我假设在cube中,您在2D中工作时指的是平面正方形。)
https://stackoverflow.com/questions/38733299
复制相似问题