排列三2012:变换

排列三2014079期正版藏机图 www.d0po.cn 2015-1-7 04:06| 发布者: 杨炎| 查看: 1445| 评论: 0|原作者: 蛮牛|来自: unity3d脚本manual

摘要: 变换变换component决定场景中每个对象的位置 (position)、旋转 (rotation)和缩放 (scale)。每个对象都有一个变换 (transform) 属性。场景视图 (scene view)和检视器 (inspector)可以编辑变换组件 (transform compone ...

变换

变换component决定场景中每个对象位置 (position)、旋转 (rotation)缩放 (scale)。每个对象都有一个变换 (transform) 属性。

场景视图 (scene view)检视器 (inspector)可以编辑变换组件 (transform component)

属性

属性:

功能

位置 (position)

x、y 和 z 坐标中变换 (transform) 的位置。

旋转 (rotation)

变换 (transform) 围绕 x、y 和 z 轴的旋转,以度计。

缩放 (scale)

变换 (transform) 沿 x、y 和 z 轴的缩放?!?” 是原始大?。ǘ韵蟊坏既胧钡拇笮。?。

变换 (transform) 的所有属性都是参照它的父级进行测量的(请参阅以下内容了解更多详细信息)。如果变换 (transform) 无父级,则参照世界坐标空间 (world space) 测量属性。

使用变换

通常在 x、y 和 z 轴的三维空间中控制变换 (transform)。在 unity 中,分别用红色、绿色和蓝色代表这些轴。请记?。簒yz = rgb。

三个轴和变换 (transform) 属性之间的颜色编码关系

可以在场景视图 (scene view)中或通过编辑检视器 (inspector) 中的属性来直接控制变换 (transform)。在场景中,您可以使用“移动”(move)、“旋转”(rotate) 和“缩放”(scale) 工具来修改变换 (transform)。上述工具位于 unity 编辑器 (editor) 左上角。

“视图”(view)、“平移”(translate)、“旋转”(rotate) 和“缩放”(scale) 工具

这些工具可用于场景中的任何对象。单击对象时,您会看见场景中出现工具小图示。小图示的外观取决于选择哪种工具。

可以直接在场景视图 (scene view) 中编辑三个小图示 (gizmo)。

当您单击或拖动其中一个小图示时,您会注意到它变化颜色。拖动鼠标时,您会看见对象沿选定的轴平移、旋转和缩放。释放鼠标按钮后,轴仍然被选定。单击中间的鼠标按钮并拖动鼠标来沿选定的轴控制变换 (transform)。

单击任何轴时就已选定该轴

围绕变换 (transform) 小图示中心的是三个有色的方框。这些方框使您可以在单个平面内拖动变换 (transform)(即,对象会在两个轴上移动,但在第三个轴上保持不动)。

在 xz 平面内拖动

父子化

父子化 (parenting) 是使用 unity 时需要理解的最重要的概念之一。当某个游戏对象 (gameobject) 是另一个游戏对象 (gameobject) 的父级 (parent)时,子级 (child)游戏对象 (gameobject) 会像其父级 (parent) 一样移动、旋转和缩放。正如您的手臂与躯干相连,转动躯干时,手臂因为与其相连也会移动。任何对象都可以有多个子级,但却只能有一个父级。

您可以通过将层级视图 (hierarchy view)的任何游戏对象 (gameobject) 拖到另一个游戏对象上来创建一个父级 (parent)。此操作会在两个游戏对象 (gameobject) 之间创建一种父子关系。

父子层级视图 (hierarchy) 示例。名称左侧有折叠箭头的游戏对象 (gameobjects) 是父级。

上述示例中,我们认为躯干是手臂的父级而手臂是手的父级。您在 unity 中制作的场景将包含这些变换层级 (transform hierarchy)的集合。最上层的父级对象被称为根对象 (root object)。当您移动、缩放或旋转某个父级对象时,其变换 (transform) 中的所有变化都会被应用于其子级对象。

值得指出的是任何子级游戏对象 (child gameobject) 的检视器 (inspector) 中的变换 (transform) 值都会相对于父级 (parent) 的变换 (transform) 值而显示。这些值又被称局部坐标 (local coordinate)。您可以通过脚本处理访问全局坐标 (global coordinate)和局部坐标 (local coordinate)。

您可以将多个单独的对象一起父子化来构建复合对象,例如,布娃娃的骨架结构。您还可以通过简单的层级实现有用的效果。例如,如果您有个夜间恐怖游戏,您就可以用手电筒创造有效气氛。要创建此对象,您要使手电筒变换 (transform) 成为聚光灯变换 (transform) 的父级。然后,手电筒变换 (transform) 的任何修改都会影响聚光灯,创建一个逼真的手电筒效果。

非等比缩放的性能问题和局限性

非等比缩放是指当变换 (transform) 中的缩放 (scale)属性的 x、y 和 z 值不同时;例如 (2, 4, 2)。与此相反,等比缩放中的 x、y 和 z 值相同;例如 (3, 3, 3)。非等比缩放可能在少数选择个案中是有用的,但能避免使用它时就应避免。

非等比缩放对渲染性能有负面影响。为正确变换顶点法线,我们变换 cpu 上的网格并另外创建一份数据拷贝。通常我们可以保持网格在图形内存实例之间共享,但这样您就每个实例都需支付 cpu 和内存成本。

unity 处理非等比缩放的方式也有一定局限性:

某些组件不完全支持非等比缩放。例如,对于有半径或类似属性的组件,例如球体碰撞组件 (sphere collider)、胶囊碰撞组件 (capsule collider),灯光(light),音频源 (audio source)等等,形状不会变成椭圆,而是仍然保持圆形/球形,不管如何进行非等比缩放。

有一个非等比缩放的父级且相对该父级被旋转的子级对象可能会有一个非正交矩阵,这意味着它可能出现偏斜。一些确实支持简单非等比缩放的组件仍不支持非正交矩阵。例如,箱体碰撞组件 (box collider)不能偏斜,所以如果它的变换 (transform) 是非正交的,则箱体碰撞组件 (box collider) 不会准确匹配被渲染的网格的形状。。

出于性能原因,有一个非等比缩放的父级的子级对象在旋转时不会自动更新其缩放/矩阵。这可能导致缩放一旦更新就会弹出,例如,如果对象与其父级分离。

缩放的重要性

(transform) 的缩放决定建模应用程序中网格和 unity 中网格之间的大小差异。unity 中的网格大?。ㄒ虼吮浠?(transform) 的缩放)常重要,特别是在物理模拟期间。有三个可以影响对象缩放的系数:

三维建模应用程序中网格的大小。

对象的导入设置 (import settings)中的网格缩放系数 (mesh scale factor)设置。

变换组件 (transform component) 的缩放 (scale)值。

理想情况下,您不应该调整变换组件 (transform component) 中对象的缩放 (scale)值。最佳选项是按实际比例创建您的模型,这样您就不必改变变换 (transform) 的缩放值。第二最佳选项是调整在单个网格的导入设置 (import settings中导入网格时的缩放值。根据导入大小会进行某些优化,而实例化有一个调整过的缩放值的对象会降低性能。有关更多信息,请参阅刚体组件参考页面上的优化缩放部分。

提示

父子化变换 (transform) 时,请在添加子级之前将父级的位置设置为 <0,0,0>。这会为您以后节省很多精力。

粒子系统 (particle system)不受变换 (transform) 的缩放 (scale)的影响。为缩放某个粒子系统 (particle system),您需要修改该系统的粒子发射器、动画器和渲染器的属性。

如果您正将刚体 (rigidbody)用于物理模拟,则您可以参考在类别 - 刚体组件参考页面上的一些有关“缩放”(scale) 属性的重要信息。

您可以从偏好设置改变变换 (transform) 轴(和其他 ui 元素)的颜色,(菜单:unity > 偏好设置 (preferences),然后选择颜色和按键 (colors & keys)面板)。.

如果可能,最好避免在 unity 中进行缩放。试着在三维建模应用程序中或在网格的导入设置 (import settings中完成对象的缩放。s

上一篇:二维纹理(texture2d)下一篇:三维纹理

相关阅读

文章点评
相关文章
  • 兰州彩民收获2018年度甘肃首枚七乐彩头奖 2019-06-19
  • 人民日报人民时评:前进的时代需要英雄 2019-06-18
  • 境外媒体:中国商务部严批美方“反复无常,挑起贸易战” 2019-06-16
  • 水银、煮沸的蚁巢、热熨斗:欧洲人的梅毒抗争史 2019-06-03
  • 咨询成果推介泸州长江生态湿地新城概念性规划 2019-06-03
  • 黄河口,大美之诗文章中国国家地理网 2019-05-30
  • 【人事】中共临汾市委组织部公示3名拟任职干部 2019-05-18
  • 习近平与人民日报那些事 2019-05-10
  • 很多常用药同属一家族 2019-04-30
  • 小牛犊天生两条腿 走起路来像袋鼠 2019-04-30
  • 就因为“阶级亲”,才应把这些难民送到欧洲。欧洲生活水平高呀,让亲人生活的更好。不能让他们到中国受苦受难呀。 2019-04-27
  • 资管新规来了!打破刚兑  投资者怎么办? 2019-04-27
  • 紫光阁中共中央国家机关工作委员会 2019-04-24
  • 图解:习近平主席这12个金句振奋人心! 2019-04-24
  • 您访问的页面找不回来了 2019-04-07
  • 608| 919| 213| 959| 363| 263| 948| 404| 994| 546|