现在的 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注册一个。

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

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

点击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窗口:是放置模型文件的地方,所有在游戏中使用的模型都可以在这里被编辑和操作。
  2. Game窗口:所有在Scene窗口中摆放的模型文件都会通过摄像机直接渲染到Game窗口,几乎是同步的所见即所得。
  3. Hierarchy窗口:主要负责管理在游戏中使用的模型、相机、灯光、以及相关组件。注意:在这里出现的组件或模型对象时一定在游戏中使用的。
  4. Project窗口:工程文件窗口,所有的工程文件资源都在这里,包括模型、贴图、材质、脚本、以及插件等。在project窗口中出现的文件不一定在游戏中都会使用的到。
  5. Inspector窗口:当在Hierarchy面板上选中一个对象,就可以在Inspector面板上看到所有该对象的组件信息,并且可以再这里进行编辑,效果会立马显示在Game窗口中,非常方便。

四种坐标系

学习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了相关推荐

  1. 学习和研究下unity3d的四元数 Quaternion

    学习和研究下unity3d的四元数 Quaternion 今天准备学习和研究下unity3d的四元数 Quaternion 四元数在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示 ...

  2. 视频教程-Unity客户端框架设计PureMVC篇视频课程(下)-Unity3D

    Unity客户端框架设计PureMVC篇视频课程(下) 二十多年的软件开发与教学经验IT技术布道者,资深软件工程师.具备深厚编程语言经验,在国内上市企业做项目经理.研发经理,熟悉企业大型软件运作管理过 ...

  3. 视频教程-丑小鸭历险记——趣味玩转unity2d游戏开发(下)-Unity3D

    丑小鸭历险记--趣味玩转unity2d游戏开发(下) 从业8年以上,学过一点知识,写过一点代码,擅长计算机图形学,擅长unity3d,擅长将抽象的东西讲明白,写看得懂的代码,讲听得懂的课程,不闲聊,不 ...

  4. 关于win10系统下unity3D自带编辑器中文乱码的解决方案

    旧人旧梦旧时光 ok我们直接进入正题,之前一直用的是微软的Visual Studio来进行编码,这次打开笔记本发现上面没有安装VS,那么自然而然的就想到了用unity自带的编辑器了,结果打开脚本后发现 ...

  5. Win/Mac/Linux下Unity3D引擎的下载安装

    前言 本文主要简单介绍一下unity3d引擎的下载安装问题. 一.下载Unity Hub 1.windows/mac系统 进入unity官网unity中文官网,点击右上角下载Unity,跳转到下载界面 ...

  6. Windows平台下如何实现Unity3D下的RTMP推送

    好多开发者苦于很难在unity3d下实现RTMP直播推送,本次以大牛直播SDK(Github)的Windows平台RTMP推送模块(以推摄像头为例,如需推屏幕数据,设置相关参数即可)为例,介绍下uni ...

  7. unity3d android 后台运行,unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android...

    易采站长站为您分析unity3d发布apk在android虚拟机中运行的详细步骤,需要的朋友可以参考下 unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android ...

  8. Unity3D引擎入门搭建一个FPS游戏Demo

    目录 一.unity3d简介(平台,应用范围,经典游戏) 二.界面,基础操作(界面,创建场景,灯光系统,摄像机,组件,脚本语言) 1.界面 2.基本操作 三.demo制作(坐标系统,视角控制,移动,碰 ...

  9. Unity3d之Quaternion 学习与应用

    转载:http://www.unitymanual.com/thread-42234-1-1.html 今天准备学习和研究下unity3d的四元数 Quaternion 四元数在电脑图形学中用于表示物 ...

  10. Unity3d八 Unity使用的坐标系

    unity recttransform 和transform有什么区别http://www.jianshu.com/p/dbefa746e50d 前言 需要在代码中调整改变UI控件的属性,比如位置.大 ...

最新文章

  1. MATLAB_no.2:关于眼睛的_cutab=[cutab;a b];_cutab(:,2)-cutab(:,1):
  2. Key Components and Internals of Spring Boot Framework--转
  3. C++使用位操作将数字乘以7的算法实现(附完整源码)
  4. java 生成 xml dtd_使用DTD文件中的JAXB生成Java类 – 如何修改DTD?
  5. java窗口只能点一个_java – 为什么界面只能在顶级类中声明?
  6. 不止有超大杯!小米10系列还将新增配色
  7. ArchSummit微课堂|蘑菇街DevOps实践及心路历程分享
  8. 给定一个区间寻找三角形_计算给定图片中的三角形数量–程序化解决方案
  9. RTP协议与RTCP协议简介
  10. 程序员的自我修养 - 符号修饰 函数签名 以及一个引申的问题: extern c
  11. 阶段3 2.Spring_09.JdbcTemplate的基本使用_3 JdbcTemplate在Dao中的使用
  12. 晶振工作原理与元件选型
  13. 人工智能研究所使用方法,持续更新~
  14. java 中vo、po、dto、bo、pojo、entity、mode如何区分
  15. 陕西电大计算机上机考试题,XX年电大计算机上机操作题(带答案)
  16. 内网映射之natapp
  17. R语言,导入XLSX的Excel数据 多sheet
  18. Java中String转为Long
  19. canfd收不到数据_CAN-FD协议浅析
  20. 测试网速_测速软件测试的网速真的准确吗?

热门文章

  1. Error: Cannot find module 'chalk' 或Cannot find module 'semver'报错
  2. abp调用登录接口获取token再调用其他接口
  3. jq ajax购物车,jquery制作的移动端购物车效果完整示例
  4. app前后台交互php_PHP分布式架构RPC介绍以及手写RPC框架
  5. go对get、post请求封装
  6. windows10中安装anaconda和pytorch
  7. 梦到两个人辞职,一男一女
  8. 招聘看好的几个果然没来
  9. 百度地图与高德地图比较
  10. mysql返回的数据是什么格式_磁盘格式化后能恢复数据吗?先了解什么是格式化...