使用3D软件包自身格式进行输出的优缺点:
优点:快带的输出过程,直接从3D文件到Unity,简单的初始化过程。
不足:文件中可能会包括不需要的数据。若输出文件过大,可能会妨碍Unity的更新过程。比较少的数据检验过程,可能会增加出错几率。
使用插件进得输出:
优点:仅仅输出你需要的数据;验证数据;(在导入Unity中之前,可以重新输入回3D软件对数据进行验证);产生比较小的文件;可以使用模块化的方法,即一模块可以用于碰撞,而另一输出的模块可以进行交互;而对于其它Unity不支持的3D软件的专有的格式,我们可以使用插件。
不足:整个输出导入过程可能会反复;输出版本不容易控制(比如输出多个版本的FBX)。
两种动画输入方式:
1.从三维软件包中输出一个单个的模型文件,但此文件中包含所有的动画片段,在输入到Unity中后,根据各个动画片段的帧范围来分割出动画片段。
2.在三维软件中,我们不需要一次创建所有的动画片段,而是输出为多个模型文件中,两个模型中只包含有一个动画片段,如Idle,Run,walk等,此时不得不输出多个文件,这时要把这些动画片段输入到Unity中,还需要遵循一定的命名规范:例如我们输出一个名称为Hero的不带有任何动画片段的基本FBX模型文件,然后我们再输出一个包含有idle名称为Hero@idle的动画片段,以此类推,这样在Unitty中才可以恰当的使用他们。
注意,@符号是规定好的。
Movie纹理的格式:
Movie纹理是从视频文件中产生的一系列动画纹理,用户可以像平常一样将期放置在Asset资源文件夹中进行导入。
Movie纹理是通过Apple Quick Time导入的,因此凡是Quick Time支持的格式,Movie纹理都可以支持:.mov,.mpg,.mpeg,.mp4,.avi,.asf.
当一个视频文件添加到项目中时,它会被自动输入并被 Unity转换为Ogg Theora格式,然后可以像普通纹理那样进行使用。
预设的两个特性:1.重用性。可以使我们快速方便的创建大量的重复性资源。这种创建是通过预设的实例化Instance操作来完成的
在Hierarchy视图中将实例物理添加到Assests中,此时图标变成蓝色的小方块,只需将其拖拽到Scene视图中即可完成预设的创建(即Instance克隆),修改原始实例即可完成所有克隆实例的修改。此特性称为预设的继承性。也可修改克隆实例的对象,此时其修改的属性标签粗体显示,对原始实例的修改不会影响到单独实例的修改。达到修改克隆实例的一部分的效果,当点击Apply时,所有的克隆实例及原始实例都使用此属性了(字体不再是粗体表明不再是重载了)此特性称为预设的重载特性(Override)。
2.运行实例化。运行实例化是指我们可以在程序运行进执行实例化操作。
eg:
step1:新建C#脚本prefabbrick.cs
using UnityEngine;
using System.Collections;
public class prefabbrick : MonoBehaviour {
public Transform brick;
// Use this for initialization
void Start () {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
Instantiate(brick,new Vector3(i,j,0f),Quaternion.identity);
}
}
}
}
step2:Unity编辑窗口新建Cube,在Project视图中创建一个新的prefab,重命名为brickprefab,拖拽Cube物体到brick预设中,此时brickprefab图标变为蓝色小方块,Cube可以删除,然后拖拽brick脚本到空的游戏对象,并将brickprefab赋值给公共变量brick.