Unity学习笔记03特效系统
作用
将视频融入到游戏场景中,提升游戏场景真实感,降低渲染复杂度,可以使用游戏外部的视频资源。
将视频渲染到物体表面的纹理上。
除了普通纹理之外,还可以播放在以下目标上:
摄像机的裁剪面(全屏播放,相当于视频播放器),其他物体的纹理上,渲染纹理(Render Texture)上。
简单操作
可以新建一个平面,为其添加Video Player组件,然后将需要的视频导入项目中,添加到Video Clip中,在Video Player的属性界面里,Play on Awake勾选后当该组件载入时视频会被自动播放,如果想对视频的播放进行控制,一般需要添加脚本。
如下面这段代码,使用空格来控制视频的播放
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class Video : MonoBehaviour
{
VideoPlayer vp;
// Start is called before the first frame update
void Start()
{
vp = GetComponent<VideoPlayer>();
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
if(vp.isPlaying)
{
vp.Pause();
}
else
{
vp.Play();
}
}
}
}
粒子系统
作用
1.使用传统的动画或者渲染技术难以实现一些自然现象的模拟。
2.使用大量个体来共同表现一个群体效果的技术。
比如一群鸟的动画中,群鸟是一个粒子系统,具有一个群体的约束性,而每只鸟又是一个单独的个体,有其独特的
行为方式
3.火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹和群体运动等。
粒子参数
1.可以将粒子数据结构中的参数分为两类
和粒子行为相关的参数,和粒子外观相关的参数
2.行为参数用来建模粒子系统所模拟的动画,这些参数往往和物理仿真相关。
3.外观参数可以设定粒子的颜色、透明度、大小和纹理等信息。
实现一个简单的火焰粒子系统
层级窗口右键-->Effects-->Particle System,然后添加火焰纹理,调整各种参数(步数过多。。。)然后在火焰的粒子系统上新建一个粒子系统,用来表现烟雾效果。(调整各种参数,,,)
后处理效果
原理
1.所有的渲染已经完成后加入的一个图片处理过程。
2.这个过程类似PS, 为画面添加滤镜。
3.不需要对场景做改变就可以提升场景表现力。
几种常见的后处理效果
1.抗锯齿:减轻由于像素化带来的锯齿问题。
2.环境遮蔽(AO):描绘物体之间由于遮挡而产生的阴影,使用屏幕空间信息来获得环境遮蔽效果,也被称为
Screen Space Ambient Occlusion (SSAO),廉价的方式实现类似全局光照效果。
3.BIoom辉光:现实中的使用镜头拍摄的画面导致的光线汇聚不正确,某些图片滤镜效果,可以赋予场景朦胧感。
简单实践
实现前要在Package Manager中安装Post Processing,然后再Component-->Rendering-->对应处理。
可以为摄像机添加Post processing Layer,让该摄像机可以产生后处理效果。
在post-processing Layer的mode属性中可以添加抗锯齿效果。
新建一个空对象,添加Post-processing Volume组件,在Profile点击New后可以添加新的后处理效果,Is Global属性:勾选后,场景内只要带有post-processing Layer组件的摄像机都可以产生后处理效果。
如果想让某个效果当镜头进入后才产生效果,可以为添加了Post-processing Volume的组件的空物体添加Box collider(并勾选Is Trigger),还需将Post-processing Volume的Is Global的属性勾选掉。这样只有当镜头移动到对应的范围内,才会产生后处理效果。

