unity3d知识点之一

实例:星际航行游戏
一、整体结构说明

Unity3d创建工程与场景。
我们玩过的各种游戏,都是一个个的应用程序。而这个应用程序在创建初期叫做工程项目,我们都知道游戏中有许多关卡,而在创建初期他们叫做场景。所以,Unity3d创建游戏就是创建工程项目,而一个项目下有许多的场景。

1、基本功能介绍
(1)键盘控制飞船移动
(2)发射子弹射击目标
(3)随机生成大量障碍物(小行星)
(4)计分
(5)实现游戏对象的生命周期管理

2、涉及的方法
(1)场景元素的编辑
(2)脚本文件的创建
(3)GUI(图形用户界面)的处理
(4)音频文件的添加

3、8个对象
在软件界面中,显示五个视图:Hierarchy Project Inspector Scene Game。
其中,Hierarchy视图首先自动生成Untitled工程项目,下辖自动生成两个对象:Main Camera Directional Light。
后更改当前的场景文件名,改为Main,在Main场景中除了下辖自动生成两个对象:Main Camera Directional Light。还需创建6个对象,分别为:Player,Background,Boundary,GameController,Canvas,StarField.

4、8个资源文件
Project视图下,Project/Assets中:_Scene,_Scripts,Audio,Done,Materials,Models,Prefabs,Textures。
Assets资源文件中可以包含多个_Scene,如arincar_real项目文件。

5、Inspector视图中常显2个组件:
几乎新建一个游戏对象GameObject,就有2个附带的组件:Transform,Mesh Renderer.

6、本MySpaceShooter中应用的:
(1)脚本组件(Script):PlayerController.cs,DestroyBoundary.cs,DestroyByContact.cs,DestroyByTime.cs,GameController.cs,Mover.cs,RandomRotator.cs。
(2)预设体(Prefabs):Asteroid,Bolt,explosion_asteroid,explosion_player。这几个不在Hierarchy视图中出现,并被拖到Inspector视图组件变量中。
(3)模型(Models):prop_asteroid_01,vehicle_playerShip,vehicle_playerShip_colider。
(4)材质(Materials):fx_bolt_orange,vehicle_playerShip_glass_mat,vehicle_playerShip_metal_mat。
(5)纹理(Textures):tile_nebula_green_dff。
(6)音频(Audio):explosion_asteroid,explosion_player,music_background,weapon_player。
(7)场景文件(Scene):Main。

7、说明6中的各种资源,包括模型,纹理,音频等,全部都由Unity Projects Space Shooter.unitypackage资源包提供的。我们只需要根据自己的设计需求添加拖动他们。

8、在Inspector中添加的组件时,有时添加某个组件,其瞎下的列表变量属性都会罗列出来,这是根据资源包自动提供的。但是,有时该组件并没有自动出现有些变量属性,这时需要在脚本语言中创建并赋给这个组件,方才才在组件下更新出现创建的变量属性。如:拖动explosion_player文件到变量playerExplosion中;无法拖动explosion_astteroid文件到变量explosion中。这两个文件都是在脚本中创建的。

9、在Hierarchy(层次视图)中,大部分对象都会带有Script脚本组件,在Inspector中是常显的。而预设体Prefab中,应用到的预设体也带有Script脚本组件,但是是隐藏的,没有应用到的预设体不带Script脚本组件。
如:(1)Player对象中带有的预设体Bolt,带有Mover脚本。(2)GameController对象中带有的预设体Asteroid,带有DestroyByContact,Mover,RandomRotator脚本。(3)隐藏的预设体explosion_asteroid,explosion_player均带DestroyByTime脚本。

10、在对象的Inspector中,其脚本下列的变量需要预设体,就直接从Assets/Frefabs中拖过来。如:(1)Player对象中PlayerController.cs脚本下预设体Bolt。(2)GameController对象中GameController.cs脚本下预设体Asteroid。
所以,要么预设体的组件中带有脚本语言;要么脚本语言辖下的变量需要预设体。9和10正好说明了这一切。

二、MySpaceShooter脚本实现过程详解

1、新建文件夹,桌面文件MySpaceShooter9.9来存储即将新建的Unity3D工程。

2、打开Unity3D软件界面,New新建,Unity3D工程命名MySpaceShooter,存储位置选择桌面文件MySpaceShooter9.9,选择3D,点击Create Project。(5个步骤)

3、新建MySpaceShooter工程文件介绍。在桌面MySpaceShooter9.9\ MySpaceShooter中,首先自动生成4个文件夹:Assets Library ProjectSettings Temp,其中Assets文件夹为空,其他Library、ProjectSettings、Temp 3个文件里面生成有各种不同的子文件。

4、新生成Unity3D工程 MySpaceShooter软件界面介绍。在软件界面中,显示五个视图:Hierarchy Project Inspector Scene Game。
其中,Hierarchy视图首先自动生成Untitled工程项目,下辖自动生成两个对象:Main Camera Directional Light。 Project视图中,分为(1)Favorites,下辖自动包含有:All Materials All Models All Prefabs All Scripts (2)Assets,里面为空。

5、Unity3D软件界面中,顶部的Unity-Untitled xxx是Unity 工程项目标题。MySpaceShooter正是创建的工程项目名,后面的PC, Mac & Linux Standalone 是游戏开发平台。

6、插播一条局外知识:Unity3d创建工程与场景。
我们玩过的各种游戏,都是一个个的应用程序。而这个应用程序在创建初期叫做工程项目,我们都知道游戏中有许多关卡,而在创建初期他们叫做场景。所以,Unity3d创建游戏就是创建工程项目,而一个项目下有许多的场景。
在飞船MySpaceShooter工程项目中,立方体图标+ Untitled表示场景文件,场景文件名为Untitled,后期可以Save Scene,保存默认场景文件名为Main。而此时,顶部的Untitled将变为Main.unity。

7、导入资源包,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值