大家好,我是冰糖咖啡,来自山东的一名大三的Unity3D学习者,最近在通过泰课在线学习《Unity3D RPG游戏开发》,写下一些学到的东西:
Water(Basic)
为场景中的河流添加水面,这里需要提醒一下,在Unity3D 5.0版本以前可以直接在菜单栏中找到Asset,单击它asset,再单击import package ,最后单击water(basic)。弹出对话框,直接单击import,导入资源包。
而在Unity3D 5.x版本中,将水资源包挪到Environment中,所以需要在Import package中找到Environment,单击之后会弹出对话框,找到Water后,单击imprort,导入资源包。
SkyBox(天空盒子)
单击Main Camera,可以看到Clear Flags的属性,默认的应该就是SkyBox,
不过我们还是需要加入一个SkyBox插件,并将提前导入的素材拖到其中。
之后,天空盒子就完成了。
Fog(雾)
我们需要在游戏开始之间加一个简单的较为仙侠的效果,所以我们加一点淡淡的雾,然后再让镜头由远及近的一个动画效果。
Fog想添加,非常简单,在工具栏找Window下有个Lighting选项,单击会弹出一个对话框,中间Scene选项中下拉会找到一个Fog效果,勾选后,可以看到Fog有三个参数:Fog Color”、“Fog Mode”、“Fog Density”,可以设置它们的颜色、浓度。“Fog Mode”中的Linear、Exponential和Exp2是使用了不同的公式计算雾的影响因子。
(ps:当选中“Fog Mode”的Linear模式时会多出现“Linear Fog Start”和“Linear Fog End”,这个用于控制雾的距离。)
MovieCamera
下面就要实现镜头由远及近的这么一个动画效果,首先要创建一个C#脚本文件名为“MovieCamera.cs”,将它赋给MainCamera,并将MainCamera的Z坐标后移至-60;
然后编写代码:
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class MovieCamera : MonoBehaviour { 6 7 public float speed = 20; //镜头移动速度 8 private float endZ = -20; //镜头终止Z坐标 9 // Use this for initialization 10 void Start () { 11 12 } 13 14 // Update is called once per frame 15 void Update () { 16 if (transform.position.z < endZ)//还没有到达指定位置,需要移动 17 { 18 transform.Translate(Vector3.forward * speed * Time.deltaTime); //移动 19 } 20 21 } 22 }
如果感觉速度太快或者太慢的话 可以直接在MainCamera的属性中改动。
原文地址:https://www.cnblogs.com/bingtangkafei/p/8875902.html