现在的 Unity 已经发展到了 Unity 5,使用 Unity 可以创建 2D 或 3D 游戏、建筑格式化、实时三维动画等互动内容的多平台的游戏开发工具,是一个全面综合的,跨平台的游戏引擎。还可以使用 Unity Web Player 这一插件开发网页游戏。
详情参考Unity3D_百度百科
如果你还认为Unity3D不值得学习,你可以先去了解什么是VR,什么是AR,可以了解他们有多么强大,而这些都可以通过Unity3D开发。
AR技术应用 の 照片透视效果
我也是看了上面的文章决心画点时间研究下Unity3D,可能你还担心学会这个无用武之地,再来看看这个
http://m.iqiyi.com/w_19rtchv0w9.html
如果你错过了2000年的互联网潮流,09年的移动互联网潮流,而现在VR,AR潮流还想错过吗?
学习资料整理(待完善)
首先你得学习一门在Unity中可以使用的语言,官方推荐的由JS和C#两种。现在主流的插件大都是C#编写。
《C#编程指南》
新人可以只看前面的关键字和基础部分,后面到委托事件可以先不看。
Unity官方API。
Unity圣典
Unity3d之Shader学习资料整理
下载安装
Unity 默认勾选的,是 Unity 游戏引擎本身;建议不要去掉,其余组件如Android Build Support 和IOS Build Support可以选择性支持。
创建项目
安装完成后,就来到了下面这个界面:
输入用户名和密码,没有的话,点create one注册一个。
选择个人版本,企业版本是收费的。
然后就是调查界面,根据实际情况随便选选就进下一个界面了。
接下来就可以创建工程了。
在上面输入项目名称,下面修改路径,路径最好不要包括中文或空格。
点击create project 就进入了项目界面。
菜单界面
要想开发,首先玩转顶部菜单界面。
- File(文件菜单)下主要是负责Unity3D工程文件的打开和发布设置等菜单按钮。
- Edit(编辑菜单)下主要是负责Unity3D中常见的工程设置,比如设置默认的编辑器或渲染的质量设置等。
- GameObject(游戏对象菜单)下主要是负责让开发者可以手动创建的一些物体对象的功能,例如:灯光,基础的Cube,plane,以及相机等物体。
- Component(组件菜单)Unity3D中最常用的菜单,主要是负责一些特效,物理碰撞和动画等组件的添加。
- Window(窗口菜单)主要是负责显示和调控Unity3D界面中出现的各种可视化窗口。
- Help(帮助菜单)主要是Unity3D的一些版本信息以及用户手册、API以及开发者论坛的链接等。
视图窗口
Unity3D中最常见的窗口有五个,分别是:Scene、Game、Hierarchy、Project、Inspector。
-
Scene窗口:是放置模型文件的地方,所有在游戏中使用的模型都可以在这里被编辑和操作。
-
Game窗口:所有在Scene窗口中摆放的模型文件都会通过摄像机直接渲染到Game窗口,几乎是同步的所见即所得。
-
Hierarchy窗口:主要负责管理在游戏中使用的模型、相机、灯光、以及相关组件。注意:在这里出现的组件或模型对象时一定在游戏中使用的。
-
Project窗口:工程文件窗口,所有的工程文件资源都在这里,包括模型、贴图、材质、脚本、以及插件等。在project窗口中出现的文件不一定在游戏中都会使用的到。
-
Inspector窗口:当在Hierarchy面板上选中一个对象,就可以在Inspector面板上看到所有该对象的组件信息,并且可以再这里进行编辑,效果会立马显示在Game窗口中,非常方便。
四种坐标系
学习Unity3D,首先要理解Unity3D中简单地三维空间概念,Unity3D有四种坐标系,包括世界坐标,屏幕坐标,视口坐标和绘制GUI界面的坐标系。
- World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。
- Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕坐标。
- ViewPort Space(视口坐标):视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。
- 绘制GUI界面的坐标系:这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)。
四种坐标系的转换
- 世界坐标→屏幕坐标:camera.WorldToScreenPoint(transform.position);这样可以将世界坐标转换为屏幕坐标。其中camera为场景中的camera对象。
- 屏幕坐标→视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);这样可以将屏幕坐标转换为视口坐标。其中camera为场景中的camera对象。
- 视口坐标→屏幕坐标:camera.ViewportToScreenPoint();
- 视口坐标→世界坐标:camera.ViewportToWorldPoint();
后记
感觉Unity3D的未来是光明的,我也是这两天刚刚开始学习Unity3D,欢迎大神点评,指出不足。