第三章 游戏对象基本操作

创建游戏世界的第一步,就是创建一个一个的游戏对象。当然,大部分的游戏对象都是3D模型,是需要先导入到Unity工程里面后再使用的。这里,我们使用Unity自带的一些基本游戏对象来说明场景中的一些基本操作。在DirectX的课程中,我们讲过,游戏物体的最基本的操作就是三个世界变换:移动,旋转和缩放。至于取景变换和投影变换主要由摄像机对象来完成的,我们可以调整摄像机的位置属性和其他属性来间接的调整这两个变换。

首先,我们先来研究一下移动,旋转和缩放三个世界变换矩阵。我们通过菜单栏GameObject -> 3D Object -> Cube来创建一个立方体进行演示。

接下来,我们就会在层次视图和场景视图中看到新创建的立方体游戏对象。

同时,我们还可以在检视视图中看到立方体的一些属性

上图中,每一个组件名称的前面都有一个可以折叠的三角按钮,可以方便我们折叠组件哦。在检视视图中的第一个“Transform”组件中的“Position”的XYZ值都改成0,也就是说,这个立方体处在世界坐标系的原点(0,0,0)的位置。这个如果大家看过DirectX的课程内容的话,对这个应该非常熟悉了,不需要过多的解释了。有了参照物之后,我们就容易进行场景操作的讲解了。Cube(Mesh Filter)是网格组件,代表了立方体的网格信息;Mesh Renderer是渲染组件,用于显示立方体;Box Collider是碰撞体组件,用于碰撞检测。这个组件的使用,我们会在后面的章节中介绍。

为了能够更好的编辑Cube立方体,我们需要能够从各个不同的角度去观察它,而后才能编辑它。那么接下来我们介绍Scene场景“视角”的变换操作。注意,不是Game场景的“视角”变换哦。

3D场景中,Scene 视图类似于3ds max的透视图。场景视图辅助图标 (Scene Gizmo) 显示在Scene视图的右上角。此控件用于显示 Scene 视图摄像机(不是游戏里面的Main Camera摄像机哦)的当前方向,并允许修改Scene 视图的视角和投影模式。如下所示:

这个就类似于3ds max中右上角的ViewCube,都是用来控制当前场景摄像机的视角。点击四个方向的圆锥体(红色X轴,绿色Y轴,蓝色Z轴),可以切换视角,例如:Right右视图,Left左视图,Back后视图,Top顶视图,Bottom底视图(共六个方向)。这种方式的调整,使用并不是很多,我们主要还是通过鼠标或键盘来控制场景视图的视角变换。

1.鼠标中键拖动来移动Scene视图视角。

2.鼠标右键拖动来旋转Scene视图视角。

3.鼠标中键滚动来缩放Scene视图视角。

在这里,我们还是要跟3ds max中的操作做一个对比:

3ds max视角平移:鼠标中键拖动

3ds max视角旋转:按住 Alt 鼠标中键拖动

3ds max视角缩放:鼠标中键滚动

两者的区别在于视角旋转,Unity是鼠标右键拖动,3ds max中则是Alt + 鼠标中键。也就是说,3ds max中完全是通过中键来完成视角的操作。因为中键只有滚动和拖动两种操作,因此3ds max采用增加alt辅助键的方式来实现统一使用中键完成视角操作的一致性。而Unity并没有这样设计,而是采用右键拖动来完成旋转,因为很多的3D游戏中均是采用此种方式进行视角旋转的(我猜是这个原因吧!)。这里再次强调一下,以上的视角操作针对的是Scene场景视图(就是操作Scene Camera),目的是方便我们编辑游戏对象(方便我们创建游戏世界)。

接下来重点介绍游戏对象的移动,旋转和缩放操作,也就是我们上文提到的世界三大变换矩阵。在工具栏中,有对应的命令,如下图所示:

上图中工具栏的快捷键分别是QWERTY,熟悉3ds max的对这三种操作应该非常熟悉了。第一个手型按钮(Q键)就是视角平移操作,等效于鼠标中键拖动。剩下的三个依次是移动 (Move)、旋转 (Rotate)、缩放 (Scale),注意他们操作对象是游戏对象。我们可以点击选中我们刚刚创建的“cube立方体”,然后分别进行W移动,E旋转,R缩放。

 

 

简单的操作一下,我们就能明白,红色,绿色和蓝色分别代表x,y,z三个方向的变换操作。具体的操作,我们就不演示了,大家可以点击选中三种颜色的线段后拖动鼠标即可看到效果。接下来的T是矩形变换工具(Rect Tool),主要用于编辑UI控件,接下来的Y是综变换工具,因为它融合了移动,旋转和缩放三种变换,最后的Editor Tool则是自定义按钮工具。

我们之前DirectX课程中介绍过,游戏对象的移动,旋转和缩放是相对于游戏对象的轴心而言的。Unity中同样也有类似的操作,就是工具栏变换命令后面的CenterLocal选项。其中,PivotCenter是一组切换,Pivot就是游戏对象的轴心(模型坐标系的原点),Center则是游戏对象的中心。我们之前介绍过,游戏对象的中心不一定是轴心。例如,一个人物模型的轴心是脚底中间位置,而中心则是肚脐的位置。后面的LocalGlobal则是模型坐标系(也称之为本地坐标系)和世界坐标系,两者也是一组切换。如果对这两个概念仍然不理解的,建议回头看看DirectX课程,后期的游戏对象的移动或旋转,都必须明确轴心和坐标系。通常情况下,我们使用模型本地坐标系来对游戏对象进行变化操作。

接下来,我们顺便把工具栏后面几个重要的按钮简单介绍一下。

他们依次是播放,暂停和单步执行命令,其实就是控制游戏的运行和调试。

最后我们继续介绍工具栏最后的内容

第一个是Plastic SCM版本控制工具,我们暂时用不到。

第二个是 Unity提供的各种服务,我们暂时用不到。

第三个是Unity的登录账号。

第四个是Layer(层)下拉选项,Unity默认创建了一些层,我们也可以自定义一些层。

第五个是Unity的界面布局,你可以将工程视图,层次视图或者检视视图等等按照自己喜好摆放在窗体的任意位置,并保存为一个布局方式。个人还是比较倾向于默认的布局方式。

Scene 视图中,大家可以看到灰色的地面上面有很多的栅格,这个跟3ds max是一样的。可通过将游戏对象对齐(移动)到最近的栅格位置来帮助精确对齐游戏对象。我们可以设置栅格线在 Scene 视图中显示的大小。通过菜单栏Edit > Grid and Snap Settings打开。

本章节虽然内容比较少,但是需要大家熟练掌握场景视图视角的操作,以及游戏对象的移动和旋转操作。这两个操作是最基本,也是最常用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咆哮的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值