因为公司项目功能设计部分需要有一个3D人物形象,需要人物形象可以运动到指定坐标,大概需求就是这个,所以开启了我的Unity3D学习之旅。
也是想到哪说到哪,而且可能有些概念不太准确,大家将就着看呀,以后可能再仔细整理,有不对的地方欢迎大家指出。
1、首先程序安装,我的安装包是朋友给的,也可以自己下载,Unity2017.4.3f1版本的,内置了monoDevelop,
以上两个工具都有了,就可以进行开发了
创建新工程,点击new,填写工程名称,选择工程存放路径,点击CreateProject
创建完成之后,每个场景自带一个Main Camera 和一个Directional Light 。
说下Unity3D工具的使用,
这个是我现在使用的布局
布局的调整可以点击右上角的layout按钮
点击各tab标签可拖动布局,调整完成,点击save layout,保存修改完成的布局。
分别对应快捷键 Q、W、E、R、T、Y,
Q:对应拖动窗口画面的
W:移动游戏物体的X、Y、Z轴的
E:调整游戏物体的旋转角度的
R、调整游戏物体缩放的
T、聚焦游戏物体的
Y、移动、旋转、缩放集合的
Game视图:所见即所得,是游戏运行之后你能看见的东西的展示页面
Scene视图:编程过程中操作游戏物体的区域
Hierarchy视图:场景中所有控件的展示列表区域
Inspector视图:检视面板,游戏物体属性编辑及展示区域
Project视图:资源文件的展示列表区域
Console视图:控制台信息展示区域
Game视图:
Free Aspect :设置视图的尺寸
scale:缩放视图大小
maximize on play:运行之后最大尺寸显示
Mute Audio:静音
Stats:运行过程中各组件运行效率
Gizmos:运行之后显示三角形网格(不知道理解的对不对)
在Project视图下:
点击右键,在弹出的对话框内选择Import Package--->characters,稍等片刻之后,点击右下角的Import按钮,导入系统提供的标准资源文件。按照同样的方式导入其他你需要的系统资源,例如环境、camera等
导入的资源中model和Prefebs文件夹中的文件的区别是:
model指的是外部导入的模型文件,例如3dmax导出的.fbx文件。模型对于unity而言相当于素材,一般不会直接对其进行修改。
prefab则是unity自己序列化保存的.prefab文件。制作Prefabs的方法就是将Hierarchy视图中的游戏物体,拖到Prefab文件夹下。
而将Prefabs文件夹下的文件拖到hierarchy视图下就是创建了这个模型的实例。
Hierarchy文件中存放的都是模型的实例,当然你也可以自己创建简单的游戏物体,例如系统提供的Cube之类的。
选中Hierarchy视图的模型实例或游戏物体,可以看到类似下图的检视面板,本图以系统提供的AIThirdPersonController为例
检视面板:显示各个游戏物体属性及附加组件的区域
每个游戏物体的transform组件都是不可删除的,其内包含position、rotation、scale三个属性,若选中的游戏物体存在父控件,那么需要注意这三个属性是否为对父控件的位置、旋转、和缩放。
其他组件:例如rigidBody刚体组件、Mesh Renderer、脚本组件,按照自己的需要进行添加。
下面是我自己总结的场景设计流程:
1、场景背景的设置,设置场景的天空盒子(系统的/自定义的)或者实体色
2、导入模型资源(可能带动画和骨骼、也可能不带)
3、导入动画资源,调整动画逻辑
4、使游戏物体动起来
5、调整场景中各个游戏物体的细节
6、项目打包和发布(针对android的)
一、制作和应用天空盒子
首先查看系统默认的天空盒子
选中Maincamera ,在检视面板找到camera 组件,关注clear Flags 属性,设置为Solid color ,在下面的Background属性中设置,想要设置的颜色,点击后面的小圈,可以弹出颜色选择面板。
clear Flags 属性,设置为skybox,需要在Maincamera 上对应添加SkyBox 组件,在检视面板最下方,点击Add component按钮,在弹出来的对话框输入想要添加的组件名称。例如 Skybox。
可以看见添加完成SkyBox组件直射,需要为组件的Custom Skybox指定一个Material。
材质是什么呢?请参考 https://blog.csdn.net/qq_29266497/article/details/81515326
要想了解材质,我们需要先了解纹理(Texture),纹理:就是Unity最基础的图片形式。纹理就是一个图片,从项目外部导入的一张图片放在Texture文件夹下,这个图片就是纹理。
选中图片,进入Inspector视图,查看纹理的属性。
Texture Type:纹理类型,默认default,就是纹理;
Normal Map: 贴图法线,就是看起来与3D效果无异的2D贴图。
Editor GUI and Legacy GUI :编辑器GUI和传统GUI
Sprite(2D and UI): 精灵图片,就是动作分解图,是一串图片的集合,用于2D对象和UGUI贴图
Cursor:自定义光标
Cookie:场景光的Cookie
Lightmap:光照贴图,将贴图编码成特定的格式,并对纹理数据进行后处理
SingleChannel:单通道
Texture shape:纹理形状,2D 或 立方体
咱们这里选择default就可以,接下来创建材质球。
创建Material文件夹,点击右键,选择Create,再选择Material,填写材质球的名字,材质球就初步创建好了
选中材质球,设置Shader属性为Skybox,Skybox有四个值,
6 Sided
顾名思义,选择此种模式,需要准备六张图片,分别对应天空盒子的六个面,
Tint Color 可以调整天空盒子的色调
Exposure可以调整天空盒子的明暗度
Rotation可以调整天空盒子的旋转角度
此时将此材质球设置给Main Camera 的Skybox组件,设置完成的效果如下图
这种设置方法,这些图片拼接起来会导致贴图间存在缝隙,这是由于贴图的自然循环导致的。
需要对应修改纹理图片的warp mode 属性为clamp
Cubemap
想要设置此种模式,需要对应修改纹理形状为Cube
此种设置方法和上面的设置方法,都需要注意图片得无缝连接。
Panoramic
这个不太知道,应该是一张图片设置为全景图
Procedural
天空盒子设置完成了,第二步导入模型资源
在Project视图中点击右键,选择Import new Asset