Unity游戏编程之开篇

游戏对象GameObject

Hierarchy视图的基本元素,在Unity中,每个GameObject都拥有Transform,这是GameObject的一个必须包含的一个基本属性,以标志其“存在”,包括位置(常用以平移)、旋转的角度(x,y,z,分别对应沿着x,y,z轴的旋转角度),缩放(表示x,y,z轴上的缩放大小,为1表示无缩放。),在游戏引擎中transform是用矩阵进行计算的。最后以决定其平移的位置,旋转角度,缩放大小。
在Unity中GameObject也可以是一个空对象 Empty GameObject(但不是null),其拥有transform。所以可以看出,GameObject更像一个基本容器,其以添加组件的方式定义其行为与表现。
对象组件Component
Unity将场景模型可以简单理解为:游戏对象与组件,游戏对象是容器,是表示模型的存在,而组件则定义了模型的行为与表现,组件是一个脚本,文件命名与文件类内定义名称一致,必须继承MonoBehaviour。
组件的创建方式为:GAmeObject.AddComponent或者从游戏对象获取组件对象 GAmeObject. GetComponent,而不是以New方式

游戏对象添加不同的组件就可以成为场景中的一个模型,下面是一些简单分类与模型的举例:
抽象物体:GameObject可以表现为一个一个不可视的但确实存在的游戏模型,如
摄像机(Camera),整个场景的显示依赖摄像机的投影呈现,Unity在3D场景使用的是透视投影,即远小近大的显示效果,投影区域为一个椎体;而2D场景是一个正交投影,投影区域是一个长方体。
光线(light),呈现物体的光影时依赖其的照射,在一些普通引擎模型中,场景中没有light,成像就是完全漆黑的,因为模型没有光源照射就是不可见的,这更符合现实一些。
音响(audio):声音的播放与控制;

可视物体模型:
3D场景的普通物体模型:长方体、球体、锥体等
2D场景一般为平面图像:Unity中以精灵来显示图像,在一个3D引擎中2D场景是忽略Z方向的坐标而已,令其正对摄像机即可;
UI对象:将一些对象定义为一些UI元素,按钮,面板,文字等;
粒子系统(particle System):以模仿显示中如雨点,灰尘,冰雹等微小的场景模型。MonoBehaviour

以上这些具是在游戏对象的基础上为其增加组件实现。

资源文件Assets
游戏对象的集合可以储存在场景文件中,以scene后缀
组件以脚本方式存在,其必须继承MonoBehaviour。
预设资源是为了游戏对象的重复使用,场景中每一个预设实例都是原始预设的克隆,其只保存一份游戏对象的数据再预设中。

以及其他一切游戏资源。

组件与对象的继承关系


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值