Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 游戏对象的统一性、相对维度_Unity3d_Scale_Dimension_Gameobject - Fatal编程技术网

Unity3d 游戏对象的统一性、相对维度

Unity3d 游戏对象的统一性、相对维度,unity3d,scale,dimension,gameobject,Unity3d,Scale,Dimension,Gameobject,我看到一些文件说统一中没有长度的概念。要确定游戏对象的尺寸,您只需使用Scale 那么如何设置游戏对象之间的总体相对尺寸呢 例如,1:1:1平面的尺寸明显不同于1:1:1球体!那我怎么知道平面和球体之间的相对比率是多少呢1个单位平面的长度等于球体直径的单位!?否则我怎么知道我把所有的东西都放在< >比例> < P>你说的是对的,但是考虑到物体可能有对撞机。对于一个球体,你可以用 也可以考虑,这与对象的边界框相对。 同样,考虑到球体,可以通过以下方式获得直径: Mesh mesh = GetC

我看到一些文件说统一中没有长度的概念。要确定游戏对象的尺寸,您只需使用
Scale

那么如何设置游戏对象之间的总体相对尺寸呢


例如,1:1:1平面的尺寸明显不同于1:1:1球体!那我怎么知道平面和球体之间的相对比率是多少呢1个单位平面的长度等于球体直径的单位!?否则我怎么知道我把所有的东西都放在< <强> >比例>

< P>你说的是对的,但是考虑到物体可能有对撞机。对于一个球体,你可以用

也可以考虑,这与对象的边界框相对。 同样,考虑到球体,可以通过以下方式获得直径:

Mesh mesh = GetComponent<MeshFilter>().mesh;
Bounds bounds = mesh.bounds;
float diameter = bounds.extents.x * 2;
Mesh-Mesh=GetComponent().Mesh;
边界=mesh.Bounds;
浮动直径=边界.extensts.x*2;

unity中的所有游戏对象都有一个变换组件,用于确定其位置、旋转和缩放。大多数三维对象还具有MeshFilter组件,其中包含对网格对象的引用

网格包含对象的实际形状,例如立方体的六个面或球体的面。Unity提供了一些内置对象(立方体、球体、圆柱体、平面、四边形),但这只是一个“入门工具包”。大多数内置对象的大小为1个单位,但这纯粹是因为顶点已放置在这些位置(因此需要按2缩放以获得2个单位的大小)

但是网格中的正片是没有限制的,你可以有一个很小的物体和一个完整的地形物体,尽管它们的比例保持在1,但它们的大小却大不相同

您应该尝试学习一些3D建模应用程序来创建任意对象

或者,尝试安装一个名为ProBuilder的插件,该插件过去非常昂贵,现在是免费的(因为被Unity收购),可以在编辑器建模中启用


缩放最好保持在一个,但最好有一个缩放选项-通过这种方式,您可以在不同的缩放比例下重复使用spehre网格或立方体网格(减少内存浪费)。

在大多数unity应用程序中,您可以将缩放设置为任意数

因此,通常1m=1个单位

所有1个单位高的东西都有1米高

如果从建模程序中导入的网格尺寸错误,请将其精确缩放到一米(使用标准1,1,1立方体作为参考)。然后,将其插入一个空的游戏对象中,将其“转换”为游戏的适当比例。因此,如果现在将空对象的y轴缩放为2,则该对象现在有2米高

更好的解决方案是将层次中所有对象的最高父对象保持在1,1,1比例。使用1,1,1参考立方体,将对象缩放到合适的大小。举个例子,如果我有一个人的模型,我希望它的比例大约是立方体的两倍高。然后,将其拖动到1,1,1比例的空对象中。这样,场景“正常”大小中的所有对象都是1,1,1。如果你想把某件东西的尺寸扩大一倍,那就把它改成2,2,2。实际上,这比第一个选项有用得多

现在,如果你改变它的位置1个单位,它也会有效地移动1米


此过程还允许您更改对象“底部”的位置。您可以更改对象在空窗口中的位置,从而生成“偏移”。这对于使模型在位置y=0的情况下站在地面上非常有用

谢谢!让我去试试!你提到的天平最好保持在一个!是不是因为规模越大,占用的内存和处理时间就越多!?不,缩放始终是以任何方式处理的,缩放是Matrix4x4的一部分,用于变换几何体,几乎总是在内部,因此没有内存或性能增益(除非unity使用一些巧妙的优化),但当您意外地将非均匀缩放应用于具有旋转子对象的对象时,会出现问题,这会导致一些严重的几何体扭曲。统一的比例是可以的,如果所有不需要缩放的东西都不需要缩放,那就更简单了,有时它可以让你避免一些转换。transformPoint Calls我们更喜欢这里的技术风格。我们轻轻地劝阻问候,希望你能帮助,感谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,闲聊的材料和缩写的txtspk,恳求,你被困多久了,有神论的祈祷和宗教改道,投票建议,元评论等。只要解释你的问题,展示你的努力,你的期望,以及实际发生的事情。但我该如何表达我的感激之情呢!?!?!?人们花时间和精力回答我的问题,对我来说,这只是一个简单的礼貌,让他们知道我真的很感激!!!我听到了,你在这里得到的一般答案是:(a)默认情况下可以表示感谢,(b)可以通过向上投票表示感谢,并酌情接受投票;(c)如果问题作者认为这对未来的读者有帮助,可以通过写一个自答来表示感谢。老手们喜欢说Stack Overflow不是一个论坛——如果你精心制作你的材料,使之更接近一篇技术文章,那将是一种更清晰、更轻松的方式,可以让成千上万的未来读者受益。有用的参考资料和,很可能还有更多关于Meta的信息。好吧。。。我得到了它!比UH不要介意!!!XP