news 2026/11/6 6:12:50

【光照】UnityURP[光照贴图]GPU instancing在静态动态物体上的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【光照】UnityURP[光照贴图]GPU instancing在静态动态物体上的应用

静态物体GPU Instancing与光照贴图

‌技术要点‌:

‌静态标记‌:物体需标记为Batching Static,但需禁用静态合批以避免与GPU Instancing冲突。

‌光照贴图绑定‌:通过LightmapIndex和LightmapScaleOffset手动绑定烘焙结果。

‌Shader适配‌:需在着色器中添加实例化支持与光照贴图采样逻辑。

‌示例代码‌:

StaticInstancingExample.cs

using UnityEngine;

[ExecuteAlways]

public class StaticInstancingExample : MonoBehaviour {

public Mesh mesh;

public Material material;

public int instanceCount = 100;

private Matrix4x4[] matrices;

private Vector4[] lightmapOffsets;

void Start() {

// 生成实例变换矩阵

matrices = new Matrix4x4[instanceCount];

lightmapOffsets = new Vector4[instanceCount];

for (int i = 0; i < instanceCount; i++) {

Vector3 pos = Random.insideUnitSphere * 10f;

matrices[i] = Matrix4x4.TRS(pos, Quaternion.identity, Vector3.one);

// 模拟不同光照贴图偏移(需与烘焙数据匹配)

lightmapOffsets[i] = new Vector4(1, 1, i % 2 * 0.5f, i / 2 * 0.5f);

}

}

void Update() {

MaterialPropertyBlock props = new MaterialPropertyBlock();

props.SetVectorArray("_LightmapST", lightmapOffsets); // 传递光照贴图UV偏移

Graphics.DrawMeshInstanced(mesh, 0, material, matrices, instanceCount, props);

}

}

‌实现说明‌:

使用MaterialPropertyBlock传递每实例的光照贴图UV偏移参数。

着色器中需声明UNITY_LIGHTMAP_ON宏并采样unity_Lightmap纹理。

动态物体GPU Instancing与光照探针

‌技术要点‌:

‌光照探针替代‌:动态物体依赖Light Probes获取间接光照。

‌混合光源支持‌:光源设为Mixed模式,静态阴影烘焙到光照贴图,动态物体接收实时阴影。

‌实例化属性扩展‌:通过MaterialPropertyBlock传递探针数据。

‌示例代码‌:

DynamicInstancingExample.cs

using UnityEngine;

public class DynamicInstancingExample : MonoBehaviour {

public Mesh mesh;

public Material material;

public int instanceCount = 100;

private Matrix4x4[] matrices;

void Start() {

matrices = new Matrix4x4[instanceCount];

for (int i = 0; i < instanceCount; i++) {

Vector3 pos = Random.insideUnitSphere * 10f;

matrices[i] = Matrix4x4.TRS(pos, Quaternion.identity, Vector3.one);

}

}

void Update() {

MaterialPropertyBlock props = new MaterialPropertyBlock();

// 为每个实例设置光照探针数据

LightProbes.GetInterpolatedProbe(transform.position, null, out var probe);

props.AddVector("_LightProbeData", new Vector4(probe.occlusion, 0, 0, 0));

Graphics.DrawMeshInstanced(mesh, 0, material, matrices, instanceCount, props);

}

}

‌实现说明‌:

通过LightProbes.GetInterpolatedProbe获取动态物体的光照探针数据。

着色器中需使用SHADERGRAPH_BAKED_LIGHT_PROBES宏处理探针数据。

Shader适配关键代码(URP Shader Graph)

‌静态光照贴图采样‌:在Shader Graph中添加Lightmap节点,并通过Custom Function节点接入实例化的UV偏移参数。

‌动态探针支持‌:添加Baked Light Probes节点,并与实例化属性_LightProbeData关联。

‌优先级注意‌:若同时启用SRP Batcher,需确保材质兼容性(禁用MaterialPropertyBlock)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/6 4:14:41

关键词:一致性算法;直流微电网;下垂控制;分布式二次控制;电压电流恢复与均分;非线性负载

关键词:一致性算法;直流微电网;下垂控制;分布式二次控制;电压电流恢复与均分;非线性负载;MATLAB/Simulink;顶刊复现&#xff0c;有意者加好友&#xff1b;设有粉丝价&#xff0c;本模型不&#xff0c;运行时间较长耐心等待 主题:提出了一种新的基于一致性算法的直流微电网均流和…

作者头像 李华
网站建设 2026/11/5 22:33:33

ComfyUI-Manager安全权限终极指南:快速解决权限问题

ComfyUI-Manager安全权限终极指南&#xff1a;快速解决权限问题 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 当你在ComfyUI中安装新节点或修复依赖时遇到"此操作在当前安全级别配置下不被允许"的提示&am…

作者头像 李华
网站建设 2026/11/5 22:38:27

Electronic WeChat个性化配置完全指南:从入门到精通

Electronic WeChat个性化配置完全指南&#xff1a;从入门到精通 【免费下载链接】electronic-wechat :speech_balloon: A better WeChat on macOS and Linux. Built with Electron by Zhongyi Tong. 项目地址: https://gitcode.com/gh_mirrors/el/electronic-wechat 还在…

作者头像 李华
网站建设 2026/11/6 3:39:10

I2C总线:时序结构与数据帧

I2C&#xff08;Inter-Integrated Circuit&#xff09;总线是由飞利浦半导体&#xff08;现恩智浦半导体&#xff09;于 1982 年研发的两线式串行通信标准&#xff0c;其发明源于当时电子设备的通信痛点&#xff0c;后续凭借独特优势逐步成为电子领域的重要通信协议。其两根通信…

作者头像 李华
网站建设 2026/11/5 20:23:12

适合新手的电脑版AI编曲软件快速根据哼唱清唱主旋律作伴奏

适合新手的电脑版AI编曲软件——小白桌面AI编曲软件 对于新手而言&#xff0c;涉足音乐编曲领域往往困难重重。没有专业的音乐知识&#xff0c;缺乏操作复杂编曲软件的经验&#xff0c;找专业编曲师费用高昂且时间成本大&#xff0c;这些问题成为了新手进入音乐编曲世界的一道道…

作者头像 李华
网站建设 2026/11/6 4:22:05

ZW3D二次开发_分享一个通过命令按钮查找关联API函数的插件

给大家分享一个ZW3D二次开发的插件&#xff0c;可以快速输出ZW3D界面中的功能按钮对应的API函数&#xff0c;目前已支持超530个ZW3D命令。 插件资源&#xff1a; 下载方法1&#xff1a; 通过网盘分享的文件&#xff1a;ZW3DAPITeller.zip 链接: https://pan.baidu.co…

作者头像 李华