游戏物体GameObject

在unity中所有游戏物体都是GameObject,这也是编程中的对象。

创建物体

在hierarchy窗口中,右击可以创建一个物体,当然也可以创建空物体。

物体属性

创建完物体后,一般可以在此处用这些工具来改变物体。

移动,旋转和缩放都在 Transform中,而碰撞则是Collider中,后面笔记会详细记录Collider,此处只需知道这是用来控制物体碰撞的。

视野中心旋转

选中物体,按下F键,就可以将物体置于视野中心,旋转的时候就可以围绕这个物体旋转

此时新建的物体就是出现在视野中心,非 0,0,0坐标。

透视和正交视图

如上图所示,看起来靠近视野的正方体大一些,其实这两正方体一样大,Persp就是透视视图。

点击一下变成Iso就是正交视图,也就是平面视图,两物体看起来就是一样大。

材质模式和线框模式

线框(Mesh)定义了物体的形状。

创建材质

创建一个文件夹,materials,如下图右击创建材质

材质就可以应用在物体此处,如下图,

如果对unity原生物体应用两个材质,就会有如下提示,而且只有第一个材质生效,

物体纹理

纹理也就是物体表面的贴图,创建一个Textures目录,然后倒入图片即可,

在材质中选择对应贴图即可。

贴图完就是如下所示,会在物体表面有这个图片出现,这里的颜色修改了一下,为了更清晰的看到这张图片。

所以贴图定义了图形表面像素的颜色。

导出包和导入包

如果想把models这个目录下内容导出,则右击,使用Export Package,导出后就是一个 *.unitypackage文件,导入的话就是用import Package导入内容。

父子节点

如上所示,有两个方块,构成父子关系,在Scene窗口中就是左边是父节点,右边是子节点。

父节点移动,旋转,缩放,都会导致子节点做相应外在变化。

如下所示,观察子节点在父节点数值变化时的改变,下图是子节点的初始值。

移动

当父节点移动时,子节点数值Position无任何变化,这是因为Position是相对位置

Cube(1)是相对Cube的位置,这是一个相对坐标

而父Cube是相对SampleScene这个场景节点的坐标,只不过相对场景(Scene)坐标被称为世界坐标

旋转

父节点旋转,子节点Cube(1)的Rotation也没有任何改变。

缩放

父节点缩放,子节点Scale数值也没任何变化。

总结

外在: Scene窗口中的视觉表现;

内在: Inspector面板中的数值变化。

综上,虽然子节点外在随父节点变化而变化,但子节点的Position,Rotation,Scale不会随父节点改变而改变,这是相对父节点的数值。

父节点外在,内在改变,会影响子节点外在变化,不会影响子节点内在变化。

而子节点的外在,内在变化,不会影响父节点的外在,也不会影响内在数值。

预制体

编辑一个预制体,其他物体也会改变。

Hierarchy中的物体只是引用这个预制体的信息,所以预制体改变,所有引用都会改变。

创建预制体

新建一个普通物体,然后拖动到下面后,就成为了一个预制体,上面Hierarchy的Cube就可以删除了。

预制体的文件为prefab文件。

创建父子关系的预制体

后续使用此预制体创建的GameObject,也是存在父子关系的。

解除和预制体的关联

如上图,Unpack可以将物体和预制体解除关联,这样预制体后续的改变就不会影响这个物体了。

导出预制体

预制体的信息是放在其他地方,所以需要导出预制体需要的依赖。

编辑预制体

这三个地方都可以编辑预制体,

上面是预制体编辑页面,编辑好后,ctrl+s,点击箭头处就可以退出编辑页面。

猜你喜欢

转载自blog.csdn.net/lw18751836671/article/details/128457918