首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的预制件上的碰撞不工作?如何将雪碧放在PreFab上?

为什么我的预制件上的碰撞不工作?如何将雪碧放在PreFab上?
EN

Stack Overflow用户
提问于 2016-08-03 10:16:06
回答 1查看 706关注 0票数 0

每当我生成5个落地的立方体预制件的新行时,预制件与地面的碰撞没有被检测到,立方体也不会移动回背景中。我不知道发生了什么。碰撞代码在一个脚本上,该脚本是生成预制件的gameObject的一个组件。如何获取与预制件本身发生冲突的代码。另外,如何将精灵指定给预制件?我试过了,但Unity不允许我这么做。

EN

回答 1

Stack Overflow用户

发布于 2016-08-03 17:41:14

一般来说,如果两个物体发生碰撞,它们都需要一个对撞机,其中至少一个需要一个(非动力学的)刚体。有2D和3D版本的碰撞器和刚体。

例如,可以使用脚本中的OnCollisionEnter捕捉碰撞,该脚本附加到两个碰撞对象中的任何一个,在您的情况下,可能是坠落的立方体。

此外:只有在您的assets文件夹中才能称其为prefab。例如,如果使用Instantiate在场景中放置预制件的实例,则该实例称为(预制件x的) instance

对于精灵:对象需要有一个SpriteRenderer。它有一个可以更改的sprite属性。如果通过将精灵拖动到场景中,然后将该游戏对象从场景拖动到assets文件夹来创建立方体预设体,则立方体将具有可访问的SpriteRenderer

(我假设在cube中,您在2D中工作时指的是平面正方形。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38733299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档