Unity3D游戏开发入门 —— 界面与简单编程

1649 篇文章 12 订阅
1407 篇文章 2 订阅
本文由D5Power首发于天地会,转载请标明原作者和出处。

周末听Sliz说Unity正式支持导出Flash了,作为一款成熟的游戏引擎,相信不少兄弟都对她很感兴趣。今天中午抽了点时间研究了一下,在这里做个笔记,算是本系列文章的一个开端。本文非100%原创,借鉴和参考了部分英文资料,在文中会有原版的连接。对于Unity3D我也是刚刚研究,文中如有纰漏之处,望各位海涵。同时欢迎各位弟兄指正!

零 下载与安装

官方网站 http://www.unity3d.com
下载地址 http://unity3d.com/unity/download/
安装好后,在开始界面里有视频介绍和文档介绍的连接。不再赘述。

一 界面



Unity3D的界面基本上如上图分布,来看一下各区域的功能。

红色:工具栏,可以通过工具栏来设置当前的鼠标功能(缩放,移动等等),进入或退出游戏运行状态
橙色:视图,即编辑/游戏演示窗口
绿色:对象列表,本窗口列举了游戏中的全部游戏对象(摄像机,灯光等等)
蓝色:游戏素材窗口,包括脚本,贴图,模型等等
紫色:属性区

小技巧:选中某对象(不管是在绿色的列表区,还是在橙色的视图区)后,把鼠标移到橙色的视图区,按下F则视图自动对准该对象


二 创建游戏对象

和我们使用FB开发一样,在开始Unity开发之前,必须要创建一个新的项目(File->New Project)。
之后,就可以进行操作了。我们来创建一个平面(Plane),一个方盒子(Cube)和一个追光(Spotlight)

创建平面:GameObject->Create Other->Plane
创建方盒子:GameObject->Create Other -> Cube
创建追光:GameObject->Create Other->Spotlight

如果你创建完成后,并没有看到他们,可以在列表中选择某对象,然后把鼠标移动到橙色视图区,按下F。如果你看到你的对象是线条,类似下面这样:



说明你的对象被遮挡住了,调整他们的位置到合适就可以了。如何调整位置?可以试用工具栏的第2个功能按钮(移动)



选择该功能后,在列表区(绿色)或视图区(橙色)选择游戏对象,均可看到3方向的箭头,拖动对应方向的箭头即可完整在该方向上的移动操作。

试着把聚光灯方在方盒子的上方,并旋转聚光灯让他对准盒子吧。类似下面这样



最后,我们希望摄像机的视野,和我们现在视图区的一致。在列表区(绿色)中选择摄像机(MainCamera),然后选择菜单GameObject->Align With View,可以发现,摄像机的预览视图中,变成了和我们现在的视图区一样的内容,当然,尺寸小点-.-



三 编程,追光跟随的,由键盘控制的盒子

在Unity中,我们试用Javascript进行程序编写,语法和AS差不多。我们先实现简单的功能,让键盘可以控制盒子移动(D5的惯例。。。哈哈),然后,让追光一直跟着盒子。

首先,我们要新建一个脚本。Asset->Create->Scrpit。这个时候,Unity自带的脚本编辑器会自动打开(MonoDevelop),我们可以看到,已经自动帮我们生成了Update函数,这个和AS的Event.ENTER_FRAME是同个概念的,即每帧都会运行。然后,我们输入以下代码:
  1. var speed = 5.0;

  2. function Update () {
  3.         var xspeed = Input.GetAxis("Horizontal")*Time.deltaTime*speed;
  4.         var yspeed = Input.GetAxis("Vertical")*Time.deltaTime*speed;
  5.         transform.Translate(xspeed,0,yspeed);
  6. }
复制代码
speed是移动速度
Input.GetAxis("Horizontal")和InputGetAxis("Vertical")分辨是当前键盘的状态。如果按下A和D,则Horizontal返回1或-1,W和S则Vertical返回1或-1,否则都返回0。
Time.deltaTime 记录了渲染最后一帧所消耗的秒数。我们根据这个来进行位移 (这里我也没太明白,还在研究,我比较容易接受.x+=speed...)

脚本写完了,接下来就需要把这个脚本绑定到某一个游戏对象上,我们想控制盒子,自然要绑到盒子上。选择盒子,然后在菜单中选择Component-->Script,选择刚才的Scrpit文件。可以看到属性栏里,绑定成功。



现在测试一下游戏,可以发现,方盒子已经受到键盘的控制了。下面,我们要让灯光一直照向盒子,先看代码:
  1. var target:Transform;
  2. function Update () {
  3.         transform.LookAt(target);
  4. }
复制代码
这里我们定义了一个target,后面再解释如何用,和刚才对盒子的操作一样,我们把这个脚本绑定到聚光灯上。



刚绑定的时候可以发现,target的值是None,因为我们还没有指定哪个对象作为target,点击None右边的箭靶一样的图标,会出现选择窗,在列表中选择Cube,target的值就被指定了。接下来,测试你的第一个“游戏”吧。

总结

相对于A3D,AWAY3D来讲,UNITY3D提供了完善的游戏开发环境。对于Flasher来讲,Javascript脚本也不会让我们过于陌生。如果Unity可以完美的导出到FP11的话,相信还是灰常强大的。本笔记不定期更新:)附件中有本次项目的源码

目前最火、最具发展前景的专业游戏引擎 Unity 3D是什么?Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。 Unity3D的PC插件安装量达到2 亿 Unity全球注册用户已经达到200万,每月 Unity编辑器活跃开发者数量达到40万, Unity的PC插件安装量达到2亿! 未来游戏市场普遍呈现3D化 以手游市场为例,3D游戏占比达到80%,虽然现在还有不少2D游戏,但随着终端设备性能的提升和客户的需求增加,游戏市场最终会进入全面的3D化时代。Unity3D课程可以使你直接进入3D游戏开发领域,成为就业市场的宠儿。同时Unity3D也推出了开发2D游戏的插件,可以使我们从现在到未来都立于不败之地。 Unity 3D为什么这么火? ---真正的跨平台目前各个平台的游戏开发几乎没有通用性,开发iPhone上的游戏需要学习Objective C,开发Android上的游戏大多用Java,开发Windows Phone上的游戏用C#,……。如何只学习一种语言就能够开发出跨越多个平台的游戏呢?Unity3D使用底层Mono技术实现了真正的跨平台,而Mono是基于.NET框架开发的。他使我们使用一种语言就可以开发出基于各种平台的游戏,包括手机游戏(iPhone、Android、Windows Phone)、PC(Windows、Mac、Linux)、网页游戏(基于各种主流浏览器)、游戏机专用游戏(Wii、Xbox360、PS3) 现在Unity 3D的攻城狮的月薪基本上都在15000元以上,这是基础班,以后我再发精英班,学完后希望大家都可以找到年薪20万的工作。 这套是比较完整的课程,并且有实例课程,并且附带源码 并非其他只有基础的课程,没有实例! C#语言基础课程课时目录: 课时1 C#基础概述 课时2 创建一个C#文件 课时3 编译运行和控制台 课时4 创建你的第一个应用程序 课时5 变量 课时6 表达式 课时7 枚举 课时8 条件判断语句 课时9 for循环语句 课时10 while循环语句 课时11 函数 课时12 事件 课时13 C#进阶 课时14 类的概念 课时15 继承 课时16 MonoBehaviour 课时17 方法重写Overriding 课时18 方法重载Overloading 课时19 代理Delegates 课时20 单例设计模式Singletons 基础入门之进入Unity的世界 课时1 Unity介绍 课时2 Unity下载和安装 课时3 Unity 破解 课时4 Unity 什么是工程 课时5 Unity 学习过程介绍 课时6 Unity中的五种视图 课时7 Unity中的资源 课时8 Unity中的游戏物体 课时9 Unity中的组件Component 课时10 Unity中的场景Scene 课时11 场景中控制工具的使用 课时12 Unity中的本地坐标和世界坐标系 课时13 场景视图中的操作 课时14 向量 课时15 小结 基础入门之Roll-a-Ball滚动小球 课时1 Roll-A-Ball游戏介绍 课时2 了解基本集合体 课时3 创建游戏环境 课时4 给世界添加光 课时5 学习相机Camera 课时6 创建游戏主角 课时7 Unity中的刚体和碰撞器 课时8 Unity中的脚本编写 课时9 控制主角的移动 课时10 控制相机跟随 课时11 Transform组件 课时12 创建游戏中的食物 课时13 认识Prefab,完善场景中的食物 课时14 认识触发器 课时15 添加捡起食物功能 课时16 日志输出和错误调试 unity经典入门课程之C#基础实例讲解(打砖块实例) 课时1 开发工具Visual Studio Tools For Unity安装和介绍 课时2 项目效果预览,创建项目和第一个C#脚本 课时3 脚本挂载,控制台使用,变量声明和赋值,在舞台添加多个对象,使用脚本初始化对象 课时4 实例化方法高级应用,使用for循环语句创建多个砖块 课时5 课下作业-添加多行砖块 课时6 组件机制,刚体介绍,类型转换,函数返回值,发射小球功能实现 课时7 条件判断语句,鼠标按下事件处理,获取水平和垂直改变数值,改变对象位置,自动销毁对象 课时8 课程小结
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值