请选择 进入手机版 | 继续访问电脑版
提问

Unity学习日记——API学习3

Unity3d AR/VR开发  / 只看大图  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2019-6-18

跳转到指定楼层
今天学习API的GameObject,这里生产一个游戏对象,用了好几种方法,先来看看第一种方法,也是最简单的方法:
1.jpg
这里直接new一个GameObject,然后在场景里面就会生成一个新的游戏对象:
2.jpg
然后为了确认这个新生成的到底是挂载脚本的那个游戏对象还是就是空的游戏对象,我把脚本挂到Cube上面,试了一下:
3.jpg
我把脚本挂载在Cube上之后,生成的还是空的游戏对象。所以这个方法默认是生成空的游戏对象的。
当然也是可以生成其他物体的,我们可以像这样指定生成的物体:
4.jpg
这个时候生成的就是Cube了:
5.jpg
好像很有道理的样子,但是,其实这样生成的东西并不是真正的Cube,它只是一个被命名为Cube的空的游戏对象,因为我在Scene视图里面去查看生成的东西的时候,发现它只带了一个TransForm组件,是空的:
6.jpg
也就是说用这种方法只能创建出一个空的游戏对象。
然后就介绍了第二种方法,Instantiate,这个方法我比较熟悉了,因为已经用了很多遍了,这个方法也非常好用,可以去随机生成各种游戏对象,只需要实现做好预制体就可以了,这个随机,可以随时随地的去生成,也可以在固定的时间地点去生成,实际工作中,用的也比较多了,我就不演示了。
第三种方法是创建一些原始的物体,Unity里面原始物体的话,就是这些了:
7.jpg
当然还有其他的原始物体,用其他3D建模软件做的,这里就不多说了。
简单的演示一下:
8.jpg
然后就会生成一个胶囊体和地面:
9.jpg
它们的坐标默认为(0,0,0,)。
这就是创建游戏对象的三种方式。
当我们创建了游戏物体之后,还需要添加各种组件,这就要用到AddComponet,这个不仅仅可以添加Unity内置的各种组件,还可以添加我们写好的脚本。
紧接着是activeInHierarchy以及activeSelf,首先两者都是用于激活游戏对象的显示以及隐藏的状态,区别在于activeInHierarchy是用于设置游戏对象在Hierarchy视图里面是否激活,而activeSelf用于设置游戏对象本身是否处于激活状态。

回复

使用道具

成为第一个回答人

B Color Link Quote Code Smilies
返回顶部