是时候该了解下Unity3D了

作者: 于连林520wcf | 来源:发表于2016-05-09 14:47 被阅读2198次

    现在的 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,欢迎大神点评,指出不足。

    参考文献

    AR技术应用 の 照片透视效果
    新手该如学习Unity3D
    Unity3D的四种坐标系

    相关文章

      网友评论

      本文标题:是时候该了解下Unity3D了

      本文链接:https://www.haomeiwen.com/subject/fvcjrttx.html