c# - 为什么我的预制件在场景中掉落时位置会发生变化?
问题描述
我有一个问题,我制作了一个要放置在平台上的立方体的预制件。我的预制件的 y 值为 1。但是,当我尝试将其放置在平台上时,立方体的 y 值为 0.5,将其放置在地面内。我试图重置预制件、地面和立方体中的变换,但这些都不起作用。
我的统一窗口的屏幕截图,其中包含预制件及其值的更改方式。
解决方案
我假设您将预制件拖到Scene
窗口中而不使用代码或类似的东西。
为什么位置会被修改
您的立方体位于地面一半的原因可能是由于 Unity 试图将其置于场景中地面对象的 Y 轴中心,因为这很可能是您拖动预制件的对象。
解决方案 1
如果您希望将东西拖入Scene
窗口但又希望避免立方体进入地面,一种解决方案是更改立方体的中心位置。这样做的一种方法是将立方体放入一个空的GameObject
并修改立方体在其中的位置并将其GameObject
用作预制件。这是一个屏幕截图,说明了您修改后的预制件的外观:
解决方案 2
如果希望将立方体移动到场景中而不进行任何位置修改,请将其拖到Hierarchy
窗口中。
解决方案 3
创建一个自定义脚本来修改立方体预制实例的 Y 位置。OnValidate()
可能是值得研究的解决方案。
推荐阅读
- python - 难以理解合并 K 个排序列表的递归序列
- python - 给定一个中点、梯度和长度。如何绘制特定长度的线段?
- reactjs - 多次单击侧边栏中的反应链接(使用反应路由器)会导致 url 参数重复
- css - 如果在通用选择器中声明,是否会继承框大小?
- python - 两种不同的进口,为什么一种不起作用?
- python - 如何在excel中始终将单元格列向下移动1?
- css - 如何在 Bootstrap 中设置卡片的最小宽度?
- android - 如何在 Bazel 项目中为 d8 设置命令行标志?
- c# - 无法从 ASP.NET MVC 项目插入 PostgreSQL 表
- sql - SQL查询出多个连接表数据