欢迎光临散文网 会员登陆 & 注册

Unity学习笔记03特效系统

2021-11-29 20:38 作者:挽秋_z  | 我要投稿

视频播放

作用

将视频融入到游戏场景中,提升游戏场景真实感,降低渲染复杂度,可以使用游戏外部的视频资源。

实现原理

将视频渲染到物体表面的纹理上。

除了普通纹理之外,还可以播放在以下目标上:

摄像机的裁剪面(全屏播放,相当于视频播放器),其他物体的纹理上,渲染纹理(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的属性勾选掉。这样只有当镜头移动到对应的范围内,才会产生后处理效果。





Unity学习笔记03特效系统的评论 (共 条)

分享到微博请遵守国家法律