通常游戏渲染以照相写实主义(photorealism)为主要目标,也有许多游戏使用了非真实感渲染(non-photorealistic rendering,NPR)的方法来渲染游戏画面。
卡通风格的渲染
特点:物体被黑色的线条描边,分明的明暗变化,实现卡通渲染有很多方法,其中之一...
3年前 (2020-11-12) 56℃ 0评论
1喜欢
获取深度和法线纹理
深度纹理:深度值来源于顶点变换得到的归一化的设备坐标(NDC),unity中针对观察空间为右手坐标系,使用列矩阵右乘,变换到NDC后z分量将再[-1,1]。DX中,变换后的分量z在[0,1]中。z分量通过乘0.5加0.5的方式映射到纹理坐标中。
unity中得...
3年前 (2020-11-12) 61℃ 0评论
2喜欢
屏幕后处理效果(screen post-processing effects)是游戏中实现屏幕特效的常见方法。
建立一个基本的屏幕后处理脚本系统
渲染完得到屏幕图像后对图像进行一系列的操作,抓取屏幕可以使用OnRenderImage函数
MonoBehaviour.OnRende...
3年前 (2020-11-09) 57℃ 0评论
0喜欢
unity shader内置变量(时间)
纹理动画——序列帧动画
可以将序列的纹理按顺序选中后ctrl+6可以自动生成序列帧动画。
也可以通过shader:提供一张包含了关键帧的图像,重点在于需要在每个时刻计算该时刻下应该播放的关键帧的位置,并对该关键帧进行纹理采样。
Sha...
3年前 (2020-11-08) 43℃ 0评论
1喜欢
立方体纹理
对立方体纹理采样需要一个三维的纹理坐标。尽量对凸面体使用立方体纹理(凹面体会反射自身,但是立方体纹理不能模拟多次反射的结果)。
立方体纹理的两大应用:天空盒子+环境映射
天空盒子
创建一个skybox材质即可,然后赋值给天空盒子:
步骤:创建材质,shader选择内置...
3年前 (2020-11-08) 30℃ 0评论
0喜欢
Unity的渲染路径
渲染路径rendering path 决定了光照是如何应用的,大多数情况下一个项目使用一种渲染路径,但是如果希望使用多个渲染路径,例如相机A使用前向渲染,相机B使用延迟渲染,可以在每个相机的渲染路径中设置以覆盖全局的设置
全局设置:
相机单独设置:
设置Pa...
3年前 (2020-11-07) 52℃ 0评论
0喜欢
两种方法实现透明效果:透明度测试、透明度混合
透明度测试
不需要关闭深度写入,不满足条件舍弃片元,满足条件按照不透明物体处理(深度测试,深度写入)。
Shader "Custom/透明度测试"
{
Properties {
_Color ("Color Tint...
3年前 (2020-11-06) 28℃ 0评论
0喜欢
Mavis , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:Abstract-2...
3年前 (2020-11-05) 27℃ 0评论
0喜欢
使用纹理映射(texture mapping),逐纹素(texel)地控制模型地颜色,unity使用地纹理空间是符合OpenGL传统地,原点位于纹理左下角。
单张纹理
通常使用纹理来代替物体地漫反射颜色,依旧使用Blinn-Phong光照模型进行计算:
Shader "Unit...
3年前 (2020-11-05) 67℃ 0评论
0喜欢
基础知识
光源:实时渲染中,通常把光源当作一个没有体积的点,用l来表示它的方向。使用辐照度(irradiance)来量化光。
吸收和散射:光源与物体相交的结果:散射(scattering)/吸收(absorption)。
散射改变光线方向,但不改变光线密度和颜色:有两种方向,一...
3年前 (2020-11-04) 28℃ 0评论
0喜欢