Unity 光照与后处理插件 贴图、视频与着色

无光源

Unity 光照与后处理插件 贴图、视频与着色_第1张图片

点光源

Unity 光照与后处理插件 贴图、视频与着色_第2张图片

平行光

Unity 光照与后处理插件 贴图、视频与着色_第3张图片

平行光+点光源

Unity 光照与后处理插件 贴图、视频与着色_第4张图片

将部分物体设为静态

Unity 光照与后处理插件 贴图、视频与着色_第5张图片

Unity 光照与后处理插件 贴图、视频与着色_第6张图片

动态裁剪(动态遮挡)打开以节约资源

Unity 光照与后处理插件 贴图、视频与着色_第7张图片

遮挡剔除

Unity 光照与后处理插件 贴图、视频与着色_第8张图片

Unity 光照与后处理插件 贴图、视频与着色_第9张图片

选择摄像机

Unity 光照与后处理插件 贴图、视频与着色_第10张图片

向前移动摄像机视角

Unity 光照与后处理插件 贴图、视频与着色_第11张图片

看不见的物体不再显示

后处理组件的安装

Unity 光照与后处理插件 贴图、视频与着色_第12张图片

为摄像机添加后处理层

Unity 光照与后处理插件 贴图、视频与着色_第13张图片

添加后处理层 PostProcessing

Unity 光照与后处理插件 贴图、视频与着色_第14张图片

Unity 光照与后处理插件 贴图、视频与着色_第15张图片

添加后处理体

Unity 光照与后处理插件 贴图、视频与着色_第16张图片

Unity 光照与后处理插件 贴图、视频与着色_第17张图片

层次设置

Unity 光照与后处理插件 贴图、视频与着色_第18张图片

调整 后处理体 优先级

添加后处理特效

Unity 光照与后处理插件 贴图、视频与着色_第19张图片

Unity 光照与后处理插件 贴图、视频与着色_第20张图片

Unity 光照与后处理插件 贴图、视频与着色_第21张图片

Unity 光照与后处理插件 贴图、视频与着色_第22张图片

AO 环境光遮蔽

AO是来描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果,可以解决或改善漏光、飘和阴影不实等问题,解决或改善场景中缝隙、褶皱与墙角、角线以及细小物体等的表现不清晰问题,综合改善细节尤其是暗部阴影,增强空间的层次感、真实感,同时加强和改善画面明暗对比,增强画面的艺术性。

随着技术的发展,要得到更加具有真实感的图形画面,不仅要计算直接光照,还需要计算间接光照,也就是说,光线从光源发出、照射到物体上后,除了计算物体本身反射到玩家眼中的光线,还要计算物体多次反射、折射、吸收光线,以及物体之间因为反射、折射而导致的光线、阴影变化,经过综合计算将光线和阴影的最终效果展示(反射)到玩家眼中,从而实现全局光照的效果。

全局光照在静态图形的处理上比较完美,因为静态图形可以等待渲染的时间,但是对于游戏来说,持续的动态画面必须保证每秒几十fps的渲染速度,因此全局光照的处理就需要非常谨慎,其算法在推进画面真实度的同时,必须保证相应的效率,否则就会打破画面效果和帧速度之间的平衡。

效果/设置

漫反射

Unity 光照与后处理插件 贴图、视频与着色_第23张图片

光晕

类似于拍照的lomo滤镜

vignette 英[vɪnˈjet] 美[vɪnˈjet]
n. (清晰展示人物特征、局势等的) 短文,简介,花絮; (表演) 片段,小品; (尤指书名页上的) 小花饰,小插图;

Unity 光照与后处理插件 贴图、视频与着色_第24张图片

调整强度大于0才有效果

效果

这个视野,有点像游戏中受伤的效果

Unity 光照与后处理插件 贴图、视频与着色_第25张图片

为什么没有效果?

Unity 光照与后处理插件 贴图、视频与着色_第26张图片

打开全局光即可看到效果

权重

效果的强烈程度

Unity 光照与后处理插件 贴图、视频与着色_第27张图片

材质部分

美化效果

自发光属性

自发光材质

老版本材质

Unity 光照与后处理插件 贴图、视频与着色_第28张图片

Unity 光照与后处理插件 贴图、视频与着色_第29张图片

Unity 光照与后处理插件 贴图、视频与着色_第30张图片

Unity 光照与后处理插件 贴图、视频与着色_第31张图片

贴图部分

Unity 光照与后处理插件 贴图、视频与着色_第32张图片

法线贴图

有一种凹凸感

(为什么图片变红了?)

Unity 光照与后处理插件 贴图、视频与着色_第33张图片

2D贴图

Unity 光照与后处理插件 贴图、视频与着色_第34张图片

其他贴图方式没看出有什么效果

Unity 光照与后处理插件 贴图、视频与着色_第35张图片

光照贴图

Unity 光照与后处理插件 贴图、视频与着色_第36张图片

Mipmap贴图

视角距离远用模糊图,距离近用高清图(吃鸡跳伞?地图缩放?)

Unity 光照与后处理插件 贴图、视频与着色_第37张图片

模型贴图丢失(变紫)

Unity 光照与后处理插件 贴图、视频与着色_第38张图片

视频贴图

法一:Vedio组件播放

添加视频组件

Unity 光照与后处理插件 贴图、视频与着色_第39张图片

效果

Unity 光照与后处理插件 贴图、视频与着色_第40张图片

法二:脚本控制播放

新建脚本 VedioPlayerControl

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class VedioPlayerControl : MonoBehaviour
{
    public UnityEngine.Video.VideoClip VideoClip;//定义一个视频变量,公开
    // Start is called before the first frame update
    void Start()
    {
        //实际上就是通过代码的方式手动指定视频播放组件的基本属性
        var videoPlayer = gameObject.AddComponent();//获取视频组件
        var audioSource = gameObject.AddComponent();//声音组件

        videoPlayer.playOnAwake = false;//唤醒时播放
        videoPlayer.clip = VideoClip;
        videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.MaterialOverride;//视频渲染方法
        videoPlayer.targetMaterialRenderer = GetComponent();
        videoPlayer.targetMaterialProperty = "_MainTex";//材质属性
        videoPlayer.audioOutputMode = UnityEngine.Video.VideoAudioOutputMode.AudioSource;//音频输出方式
        videoPlayer.SetTargetAudioSource(0, audioSource);
    }

    // Update is called once per frame
    void Update()
    {
        //交互方式
        if (Input.GetButtonDown("Jump"))//按下空格键
        {
            var vp = GetComponent();//调用视频播放组件
            if (vp.isPlaying)//在播放状态就暂停,反之亦然
            {
                vp.Pause();
            }
            else
            {
                vp.Play();
            }
        }
    }
}

把脚本绑定到平面上,指定视频

Unity 光照与后处理插件 贴图、视频与着色_第41张图片

效果

按空格键暂停或播放(下平面)

Unity 光照与后处理插件 贴图、视频与着色_第42张图片

渲染贴图

类似于吃鸡的小地图?

跑到什么地方,渲染什么地方

(老师这里没讲清楚

着色器编程语言

Unity 光照与后处理插件 贴图、视频与着色_第43张图片

语言结构

Unity 光照与后处理插件 贴图、视频与着色_第44张图片

距离远近用不同的贴图(游戏中的草)

Unity 光照与后处理插件 贴图、视频与着色_第45张图片

语言

Unity 光照与后处理插件 贴图、视频与着色_第46张图片

Unity 光照与后处理插件 贴图、视频与着色_第47张图片

新建一个漫反射着色器

Shader "Custom/DiffuseSurfaceShader"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 200

        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf Standard fullforwardshadows

        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

        sampler2D _MainTex;

        struct Input
        {
            float2 uv_MainTex;
        };

        half _Glossiness;
        half _Metallic;
        fixed4 _Color;

        // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
        // #pragma instancing_options assumeuniformscaling
        UNITY_INSTANCING_BUFFER_START(Props)
            // put more per-instance properties here
        UNITY_INSTANCING_BUFFER_END(Props)

        void surf (Input IN, inout SurfaceOutputStandard o)
        {
            // Albedo comes from a texture tinted by color
            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
            o.Albedo = c.rgb;
            // Metallic and smoothness come from slider variables
            o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
            o.Alpha = c.a;
        }
        ENDCG
    }
    FallBack "Diffuse"
}

在此处选择着色器

Unity 光照与后处理插件 贴图、视频与着色_第48张图片

(完)

你可能感兴趣的:(Unity,游戏设计)