博文地址:       http://blog.csdn.net/huangyongf/article/details/52523460

Unity3D简介

现在的 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 英文官网
个人版下载地址


点击下一步

介绍用户协议

勾选安装的组件


Unity 默认勾选的,是 Unity 游戏引擎本身;建议不要去掉,其余组件如Android Build Support 和IOS Build Support可以选择性支持。


漫长的下载

创建项目

安装完成后,就来到了下面这个界面:
输入用户名和密码,没有的话,点create one注册一个。


登录账号

Paste_Image.png

选择个人版本,企业版本是收费的。


选择个人版本

然后就是调查界面,根据实际情况随便选选就进下一个界面了。
接下来就可以创建工程了。
在上面输入项目名称,下面修改路径,路径最好不要包括中文或空格。


创建工程

点击create project 就进入了项目界面。


项目界面

菜单界面

要想开发,首先玩转顶部菜单界面。


菜单
  1. File(文件菜单)下主要是负责Unity3D工程文件的打开和发布设置等菜单按钮。
  2. Edit(编辑菜单)下主要是负责Unity3D中常见的工程设置,比如设置默认的编辑器或渲染的质量设置等。
  3. GameObject(游戏对象菜单)下主要是负责让开发者可以手动创建的一些物体对象的功能,例如:灯光,基础的Cube,plane,以及相机等物体。
  4. Component(组件菜单)Unity3D中最常用的菜单,主要是负责一些特效,物理碰撞和动画等组件的添加。
  5. Window(窗口菜单)主要是负责显示和调控Unity3D界面中出现的各种可视化窗口。
  6. Help(帮助菜单)主要是Unity3D的一些版本信息以及用户手册、API以及开发者论坛的链接等。

视图窗口

Unity3D中最常见的窗口有五个,分别是:Scene、Game、Hierarchy、Project、Inspector。

  1. Scene窗口:是放置模型文件的地方,所有在游戏中使用的模型都可以在这里被编辑和操作。

    Scene窗口
  2. Game窗口:所有在Scene窗口中摆放的模型文件都会通过摄像机直接渲染到Game窗口,几乎是同步的所见即所得。

    Game窗口
  3. Hierarchy窗口:主要负责管理在游戏中使用的模型、相机、灯光、以及相关组件。注意:在这里出现的组件或模型对象时一定在游戏中使用的。

    Hierarchy窗口
  4. Project窗口:工程文件窗口,所有的工程文件资源都在这里,包括模型、贴图、材质、脚本、以及插件等。在project窗口中出现的文件不一定在游戏中都会使用的到。

    Project窗口
  5. Inspector窗口:当在Hierarchy面板上选中一个对象,就可以在Inspector面板上看到所有该对象的组件信息,并且可以再这里进行编辑,效果会立马显示在Game窗口中,非常方便。

    Inspector窗口

四种坐标系

学习Unity3D,首先要理解Unity3D中简单地三维空间概念,Unity3D有四种坐标系,包括世界坐标,屏幕坐标,视口坐标和绘制GUI界面的坐标系。

  1. World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。
  2. Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕坐标。
  3. ViewPort Space(视口坐标):视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。
  4. 绘制GUI界面的坐标系:这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)

四种坐标系的转换

  1. 世界坐标→屏幕坐标:camera.WorldToScreenPoint(transform.position);这样可以将世界坐标转换为屏幕坐标。其中camera为场景中的camera对象。
  2. 屏幕坐标→视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);这样可以将屏幕坐标转换为视口坐标。其中camera为场景中的camera对象。
  3. 视口坐标→屏幕坐标:camera.ViewportToScreenPoint();
  4. 视口坐标→世界坐标:camera.ViewportToWorldPoint();

后记

感觉Unity3D的未来是光明的,我也是这两天刚刚开始学习Unity3D,欢迎大神点评,指出不足。

posted on 2017-11-23 22:21  非宁静,无以致远  阅读(10973)  评论(0编辑  收藏  举报