05 2023 档案
摘要:Hard就是不做阴影抗锯齿,Soft就是开启阴影抗锯齿 在2个地方可以设置: 1) 菜单 -> Editor -> Project Settings -> Quality页签下的Shadows 2) Light组件的Shadow Type属性 Project Settings中设为Hard时,就算L
阅读全文
摘要:区别与联系 1) ShadowMask和ShadowMap可以看做是同一个东西,只是ShadowMask是专门用于静态物体的。 2) ShadowMask在编辑器阶段就预计算好并存入贴图,这个过程也叫烘培(Bake)。 投射和采样情况 例子 1) Plane_A为静态物体, Cube_A为静态物体,
阅读全文
摘要:反射间接光其实就是环境反射,unity中环境颜色一般使用cubeMap等采样的方式来获取 1) IBL 全称Image-Based Lighting, 基于纹理的光照。也就是采样贴图,采样cubeMap这种。 2) 直接光和间接光的区别 直接光一般就是平行光,入射光线都是按一个方向射到物体表面。间接
阅读全文
摘要:PBS的全称为Physically Based Shading,就是基于物理的渲染技术 1) 为什么需要PBS? 因为PBS渲染出来的效果更好。 2) PBS复杂吗? 理论很复杂,但是应用其实也是套用公式,和传统光照不同的公式。 3) BRDF是什么? 全称为Bidirectional Reflec
阅读全文
摘要:最终效果 关于折射 光的反射和折射区别: 反射:光线在介质表面反弹后进入人眼 折射:光线穿透介质后进入人眼,所以看到的是介质后面的物体 为什么最终效果看着是一种放大的效果? 如果不发生折射,将看到灰色光线对应的区域,而现在看到的区域变小了。就相当于,本来是100x100的图片用100x100的Ima
阅读全文
摘要:纹理偏移和缩放 S是Scale的首字母对应tiling, T是Translation的首字母对应Offset Shader "My/Unlit" { Properties { _MainTex("Main Tex", 2D) = "white" {} } SubShader { Tags { "Re
阅读全文
摘要:效果图 半角向量和法线重叠时,为最亮, 此时夹角为0, dot(normal, halfDir)=1 using UnityEngine; [RequireComponent(typeof(MeshFilter))] public class ShowHalfDirTool : MonoBehavi
阅读全文
摘要:平时用的比较少,一直记不起来的,对应c#中的 do while local i = 1 local len = 10 repeat --do something i = i + 1 until i <= len for是最常用的 local len = 10 for i=1,len do --do
阅读全文
摘要:table_ext.lua 如果table不为空则新建 function table.getEmptyTable(tb) if nil == tb or nil ~= next(tb) then return {} end return tb end function table.isEmpty(t
阅读全文
摘要:table_listext.lua function list.reset(listTb, val) for i=1,#listTb do listTb[i] = val end end function list.castItemToNum(listTb) for i=1,#listTb do l
阅读全文
摘要:最终效果 1) 两个阴影重叠的时候,正常 2) 在斜坡上,阴影正常 3) 在平地上遇到障碍物,阴影正常 4) 在平台边缘,镂空的地方,阴影正常 5) 没有做阴影衰减 6) 阴影抗锯齿没做(pcf) 原理 ShadowMap阴影是一种实时阴影,其原理其实也很简单,就2步:1、投射阴影,2、接收阴影 1
阅读全文
摘要:最终效果 1) 两个阴影重叠的时候,基本正常 2) 在斜坡上,阴影穿插了进去 3) 在平地上遇到障碍物,阴影也会穿插进障碍物 4) 在平台边缘,镂空的地方也显示了阴影 5) 阴影衰减做了 原理看这边 使用顶点投射的方法制作实时阴影 - 知乎 (zhihu.com) 【Unity Shader】平面阴
阅读全文
摘要:最终效果 1) 两个阴影重叠的时候,基本正常 2) 在斜坡上,阴影穿插了进去 3) 在平地上遇到障碍物,阴影也会穿插进障碍物 4) 在平台边缘,镂空的地方也显示了阴影 5) 没有做阴影衰减 UpdatePlanarShadowMatrix函数的原理 详解平面阴影 Planar Shadow(方向光篇
阅读全文
摘要:最终效果 1) 两个阴影重叠的时候,基本正常 2) 在斜坡上,阴影穿插了进去 3) 跳起来的时候,阴影跟着一起起来了 4) 在平台边缘,镂空的地方也显示了阴影 using System.Collections.Generic; using UnityEditor; using UnityEngine
阅读全文
摘要:相机控制 实现的功能: 1) 相机跟随, 2) 围绕Player旋转(左右和上下调整相机),3) 镜头zoom using UnityEngine; [RequireComponent(typeof(Camera))] public class ThirdPersonCamera : MonoBeh
阅读全文
摘要:c#层的VP矩阵 public class VPMatrixTest : MonoBehaviour { void Start() { var mainCam = Camera.main; var viewMatrix = mainCam.worldToCameraMatrix; Debug.Log
阅读全文
摘要:判断有某个keyword 方式1,2 #ifdef COLOR_DEFAULT //... #elif defined(COLOR_G) //... #endif 方式3 #if COLOR_DEFAULT //... #elif COLOR_G //... #endif 判断没有某个keyword
阅读全文
摘要:用法 以multi_compile为例: Variant.shader Shader "My/Variant/Variant" { SubShader { //... Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma
阅读全文

浙公网安备 33010602011771号