Unity(游戏引擎)一般指Unity3D
官网: https://unity.com/
手册:https://docs.unity3d.com/Manual/
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。
Windows版本:Unity3d 2019.2
Mac版本:Unity3d 2019.2
大陆发布版本
Unity3D PRO虚拟现实、跨平台应用程序开发引擎(商业版)
Unity iOS Pro移动终端发布平台
Unity3D PRO 虚拟现实、跨平台应用程序开发引擎(教育版)
2012年11月15日,Unity Technologies公司正式推出Unity 4.0版本,新加入对于DriectX 11的支持和Mecanim动画工具,以及为用户提供Linux及Adobe Flash Player的部署预览功能。
目前最新版本为Unity2019.2
Unity是免费的,官方为Unity Pro和Unity iOS Pro提供30天全功能试用期。
你可以使用C#快速上手它。
第一步首先了解unity3d的菜单,视图界面。 [2] 这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用的就可以了。当然还要了解人物基本的比例和结构。
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class movePic : MonoBehaviour,IDragHandler ,IPointerDownHandler{
private RawImage img;
Vector3 offsetPos; //存储按下鼠标时的图片-鼠标位置差
void Start()
{
img = GetComponent();//获取图片,因为我们要获取他的RectTransform
}
public void OnDrag(PointerEventData eventData)
{
//将鼠标的位置坐标进行钳制,然后加上位置差再赋值给图片position
img.rectTransform.position = new Vector3(Mathf.Clamp(Input.mousePosition.x, 0, Screen.width), Mathf.Clamp(Input.mousePosition.y, 0, Screen.height), 0) + offsetPos;
}
public void OnPointerDown(PointerEventData eventData)
{
offsetPos = img.rectTransform.position - Input.mousePosition;
}
}
Unity3d代码
第二步理解场景里面的坐标系统,输入系统,简单的向量概念。Unity3D的坐标系统及向量概念如果不理解清楚,不理解世界坐标,局部坐标的关系,即使一个简单的移动,缩放,旋转的几行代码,也会困惑你半天。
第三步学习创建基本的场景的一些基本概念:游戏对象,组件,脚本。在界面上分别体现在层次视图,项目视图及属性视图,要理清楚彼此之间的关系
第四步学习资源导入方面的一些基本元素:网格,材质,贴图,动画等。
第五步学习脚本的生命周期,Start,UpDate,ONGUI这些基本的方法。了解,预制,时间,数学等常用的类及相关方法。理解游戏对象,组件,脚本彼此之间的关系。
第六步进一步学习摄像机,灯光,地形,渲染,粒子系统,物理系统等等,这些每一个深入进去都是一个很复杂的主题。
第七步一些更高级的概念:向量的加减法点乘叉乘,光照法线贴图,内存管理,图形优化等等。Unity3D入门容易,真的要精通,那是相当难的。
http://subject.manew.com/source/
Unity小作品游戏精选推荐(部分作品含源代码)
Unity3D是全面集成的开发引擎,具有丰富的开包即用功能,可以用来创建游戏和其他3D互动内容。你可以使用Unity3D将你的艺术和素材配置到场景和环境中;添加物理性能;虚拟游戏测试并编辑你的游戏,一切完备就绪后,发布到你选择的平台,如台式电脑、网络、iOS、安卓、Wii、PS3、Xbox 360和WP8等。
下面我就推荐一些个人Unity游戏作品,部分包含作者开放的源码,感谢原作者的分享,同时也鼓励大家能上传自己的作品,开放源码!
Unity游戏AngryBots源码
Unity官方自带Demo,包含源码、贴图素材、视频教学及三种脚本不同的写法,适合刚入门学习的新手.更多
1.27G个人作品全部开源
本人也不算厉害的人物,所以代码等等诸多地方也未必就做到很好,不少地方也优化不足,希望大家互相多交流交流,以便共同...更多
Unity2D射击游戏源码
类似雷霆战机那样的射击游戏,附带游戏源码,可生成游戏直接玩,比较简单,可以参考学习...更多
赛车跑道(未完成作品)
未完成作品,里面包含了赛车模型、跑道及城市建筑。可以接着源代码继续开发,类似赛车游戏...更多
植物大战僵尸源码素材及JS脚本带注释
在植物大战僵尸2风靡全球的今天,自己也想做一款,那么本项目可做参考,附带源码素材及JS脚本带注释,对Unity的学习...更多
VS2010+C#写的3D-的Android游戏
游戏采用VS2010+Unity4,纯C#开发,游戏资源均从Unity的资源商店搞的,只是个DEMO,这个DEMO我才搞了10天...更多
Unity3d做的小游戏Demo《高铁惊魂》
由策划同学想的一个在车上模拟晕车的状况。根据右上角的方向来按键,然后如果那个如花同学转头过来看你...更多
Unity3D 之 《坦克克星游戏》
此游戏虽然简单,但是还有很多值得学习的地方,主要用到碰撞检测及图片动画的实现两大块...更多
Unity3D解谜类小游戏
一个用Unity3D完成的简单的密室逃脱游戏,小学期课程设计作品,时间仓促,尚有很多不足之处。更多
Unity迷宫寻宝游戏
面对令人头晕目眩的高度和望而生畏的深度,控制一个球在一个充满铁轨、木桥等机关的超真实世界中遨游...更多
bumper+boats+碰碰船+项目源码
面对令人头晕目眩的高度和望而生畏的深度,控制一个球在一个充满铁轨、木桥等机关的超真实世界中遨游...更多
Unity3D高尔夫球推杆游戏
游戏的操作很简单,控制旋转的方向,保持小球朝向着改方向发射,知道小球被球杆打进洞,表示推杆完成...更多
超级打地鼠3D游戏
这次的游戏,从题材上看是没什么新意的,就是打地鼠,但融入了地下城与阿赵里面的角色和场景...更多
Unity3D愤怒的小鸟教程附源码
我准备把对如何用Unity3D制作愤怒的小鸟的研究过程记录下来,希望能完成愤怒的小鸟游戏的大部分功能...更多
Unity3D写雷电游戏
加了一个子弹的碰撞效果,这个东西搞了我半天,rigidbody加入好子弹漫天乱飞,一个小弹幕游戏的雏形就出来了...更多
推荐指数:★★★★
1:天空盒有接缝怎么解决?
答:在贴图导入设置里设置Wrap Mode为"Clamp"。
2:DDS格式怎么不显示?
答:Unity不支持DDS格式,Unity会将除DDS外的其他格式图片具有为DDS同样的优化。
3:Unity如何动态载入外部模型等文件?
答:可以使用AssetBundle。
4:脚本编辑器有语法提示吗?
答:有的,Win版使用Ctrl+I,Mac版使用Ctrl+>。
5:如何使用烘焙贴图(多重纹理)?
答:不要使用Shell贴图,直接将烘焙图赋予贴图的"自发光"通道之上。
6:怎么屏蔽Webplayer右键菜单?
答:
7:为什么水面没有实时反射效果?
答:只有专业版才支持这种反射效果。
8:怎么做摄像机漫游动画?
答:Max正常制作摄像机漫游动画,导到Unity中后,将Unity的Camea拖拽到Max导出的摄像机Gameobject物体之上,作为其子物体即可。
9:如何自定义Webplayer载入Logo及进度条?
答:,,。
10:GUI上怎么使用中文字?
答:导入任意中文字体,然后定义GUISkin字体为该字体即可。
11:购买一个授权可以安装几台电脑?
答:可以安装于2个系统之上比如一个Win版一个Mac版。
12:Max文件扔到Unity中怎么说导入失败?
答:下载最新版Fbx插件,用Max导出Fbx文件然后扔Unity中。
13:如何不让摄像头穿透模型,离模型近了就像模型露面了?
答:设置相机的Near clip plane,调小一点,但是不要给负数。
14:怎么用双面贴图?
答:Unity中可设置双面Shader,最简单有效的办法是直接做成双面的实体模型.复杂一点的方法可以在材质脚本中的相应的SubShader中的一个Pass块中加入cull off,即关闭反面裁剪。
15:导入的Fbx模型尺寸小于Max中的尺寸?
答:在Unity中该文件的导入设置中设置缩放因子为1。
16:如何给相机添加Glow效果?
答:选中相机对象,在菜单中选中Component-Image Effects-Glow赋予该组件即可(专业版才支持此特效)。
17:怎么设置Webplayer默认尺寸?
答:到菜单Edit-Project Settings-Player中设置Default Web Screen尺寸即可。
18:怎么设置可执行文件的启动Banner?
答:到菜单Edit-Project Settings-Player中设置Resolution Dialog Banner。
19:如何设置雾效?
unity(10张)
答:到菜单Edit-Render Settings中开启Fog及设置Fog Color等即可。
20:如何设定默认Skybox天空盒?
答:到菜单Edit-Render Settings中设置Skybox Material即可. (欢迎加入unity3d百度唯一问答团队,参考资料)
21:如何下载Unity3d游戏开发工具?
Unity3D下载软件开发工具和游戏引擎套件(Unity) v4.5.5 下载Unity3d 4.5.5下载是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎综合编辑通过Unity简单的用户界面
unity3d虚拟现实的设计流程?
答:max 制作模型,导出fbx,导入unity,设计相机代码,设计ui,build 。
22:Unity3D-实现水面渲染 [3]
在实现上其实有两种大体的思路来实现散射,一种是专门为海底的物体写一个shader,这个shader里包含散射的计算;另外一种是专门用一个相机来渲染海底的场景并计算散射。
中国增强版:https://unity.cn/download
https://store.unity.com/cn/
个人使用:
团队使用:
更多阅读参考:
Unity-Unity3D-百度百科
Unity3D 一句话代码实现UGUI图片的拖拽功能
Unity3D脚本--常用代码集
Unity3D代码加密
在线学习Unity之一
在线学习Unity之二