无光源
点光源
平行光
平行光+点光源
将部分物体设为静态
动态裁剪(动态遮挡)打开以节约资源
遮挡剔除
选择摄像机
向前移动摄像机视角
看不见的物体不再显示
后处理组件的安装
为摄像机添加后处理层
添加后处理层 PostProcessing
添加后处理体
层次设置
调整 后处理体 优先级
添加后处理特效
AO 环境光遮蔽
AO是来描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果,可以解决或改善漏光、飘和阴影不实等问题,解决或改善场景中缝隙、褶皱与墙角、角线以及细小物体等的表现不清晰问题,综合改善细节尤其是暗部阴影,增强空间的层次感、真实感,同时加强和改善画面明暗对比,增强画面的艺术性。
随着技术的发展,要得到更加具有真实感的图形画面,不仅要计算直接光照,还需要计算间接光照,也就是说,光线从光源发出、照射到物体上后,除了计算物体本身反射到玩家眼中的光线,还要计算物体多次反射、折射、吸收光线,以及物体之间因为反射、折射而导致的光线、阴影变化,经过综合计算将光线和阴影的最终效果展示(反射)到玩家眼中,从而实现全局光照的效果。
全局光照在静态图形的处理上比较完美,因为静态图形可以等待渲染的时间,但是对于游戏来说,持续的动态画面必须保证每秒几十fps的渲染速度,因此全局光照的处理就需要非常谨慎,其算法在推进画面真实度的同时,必须保证相应的效率,否则就会打破画面效果和帧速度之间的平衡。
效果/设置
漫反射
光晕
类似于拍照的lomo滤镜
vignette 英[vɪnˈjet] 美[vɪnˈjet]
n. (清晰展示人物特征、局势等的) 短文,简介,花絮; (表演) 片段,小品; (尤指书名页上的) 小花饰,小插图;
调整强度大于0才有效果
效果
这个视野,有点像游戏中受伤的效果
为什么没有效果?
打开全局光即可看到效果
权重
效果的强烈程度
材质部分
美化效果
自发光属性
自发光材质
老版本材质
贴图部分
法线贴图
有一种凹凸感
(为什么图片变红了?)
2D贴图
其他贴图方式没看出有什么效果
光照贴图
Mipmap贴图
视角距离远用模糊图,距离近用高清图(吃鸡跳伞?地图缩放?)
模型贴图丢失(变紫)
视频贴图
法一:Vedio组件播放
添加视频组件
效果
法二:脚本控制播放
新建脚本 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<UnityEngine.Video.VideoPlayer>();//获取视频组件 var audioSource = gameObject.AddComponent<AudioSource>();//声音组件 videoPlayer.playOnAwake = false;//唤醒时播放 videoPlayer.clip = VideoClip; videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.MaterialOverride;//视频渲染方法 videoPlayer.targetMaterialRenderer = GetComponent<Renderer>(); 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<UnityEngine.Video.VideoPlayer>();//调用视频播放组件 if (vp.isPlaying)//在播放状态就暂停,反之亦然 { vp.Pause(); } else { vp.Play(); } } } }
把脚本绑定到平面上,指定视频
效果
按空格键暂停或播放(下平面)
渲染贴图
类似于吃鸡的小地图?
跑到什么地方,渲染什么地方
(老师这里没讲清楚
着色器编程语言
语言结构
距离远近用不同的贴图(游戏中的草)
语言
新建一个漫反射着色器
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" }
在此处选择着色器
(完)