UnityCG.cginc中一些常用的帮助函数

csharp 复制代码
//输入一个模型空间中顶点位置,返回世界空间中该点到摄像机的方向,内部使用了UnityWorldSpaceViewDir函数
float3 WorldSpaceViewDir(float4 v) 
//输入一个世界空间中顶点位置,返回世界空间中该点到摄像机的方向
float3 UnityWorldSpaceViewDir(float4 v) -> normalize(_WorldSpaceCameraPos.xyz - i.worldPos.xyz)
//输入一个模型空间中的顶点位置,返回模型空间中该点到摄像机的方向
float3 ObjSpaceViewDir(float4 v)
//仅可用于前向渲染中,输入一个模型空间顶点位置,返回世界空间中从该点到光源的光照方向, 内部使用了UnityWorldSpaceLightDir函数,没有被归一化
float3 WorldSpaceLightDir(float4 v)
//仅可用于前向渲染中,输入一个世界空间顶点位置,返回世界空间中从该点到光源的光照方向。没有被归一化
float3 UnityWorldSpaceLightDir(float4 v)
//仅可用于前向渲染中,输入一个模型空间顶点位置,返回模型空间中从该点到光源的光照方向。没有被归一化
float3 ObjSpaceLightDir(float4 v)
//把法线方向从模型空间转移到世界空间
float3 UnityObjectToWorldNormal(float3 norm)
//把方向矢量从模型空间变换到世界空间中
float3 UnityObjectToWorldDir(float3 dir)
//把方向矢量从世界空间变换到模型空间中
float3 UnityWorldToObjectDir(float3 dir)
相关推荐
Thomas_YXQ4 小时前
Unity3D Huatuo技术原理剖析详解
unity·unity3d·游戏开发·性能调优·热更新
火云洞红孩儿5 小时前
基于AI IDE 打造快速化的游戏LUA脚本的生成系统
c++·人工智能·inscode·游戏引擎·lua·游戏开发·脚本系统
虾球xz7 小时前
游戏引擎学习第59天
学习·游戏引擎
zh路西法7 小时前
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(二):从FSM开始的2D游戏角色操控底层源码编写
c++·游戏·unity·设计模式·状态模式
橘子遇见BUG10 小时前
Unity Shader学习日记 part 3 线性代数--矩阵变换
学习·线性代数·unity·矩阵·图形渲染
神洛华13 小时前
Y3编辑器教程8:资源管理器与存档、防作弊设置
编辑器·游戏引擎·游戏程序
Moweiii13 小时前
SDL3 GPU编程探索
c++·游戏引擎·图形渲染·sdl·vulkan
Artistation Game13 小时前
一、c#基础
游戏·unity·c#·游戏引擎
成都渲染101云渲染666614 小时前
云渲染,Enscape、D5、Lumion渲染提速教程
运维·服务器·unity·电脑·图形渲染·blender·houdini
超龄魔法少女2 天前
[Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换
unity·技术美术·shadergraph