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)
相关推荐
tealcwu10 小时前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu1 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水1 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员1 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯1 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
小小数媒成员1 天前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu1 天前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎
chen_2272 天前
godot做仪表hmi
游戏引擎·godot
郝学胜-神的一滴2 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
BuHuaX2 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua