Files
Main/Assets/Launcher/ExternalLibs/Lightmap/CombineMeshLightmap.cs
2025-01-25 04:38:09 +08:00

29 lines
901 B
C#

using UnityEngine;
/// <summary>
/// 特殊处理--针对自己组合生成的网格,对rander的lightmap信息重新设定
/// 这里有个潜规则:关联的网格名字中包含有lightmap的索引ID
/// </summary>
public class CombineMeshLightmap : MonoBehaviour
{
private void Awake()
{
var mf = GetComponent<MeshFilter>();
var render = GetComponent<MeshRenderer>();
if (render != null)
{
int litIdx = 0;
if (mf != null && mf.sharedMesh != null)
{
int idx = mf.sharedMesh.name.LastIndexOf("_");
if (idx >= 0)
{
int.TryParse(mf.sharedMesh.name.Substring(idx), out litIdx);
}
}
render.lightmapIndex = litIdx < 0 ? 0 : litIdx;
render.lightmapScaleOffset = new Vector4(1, 1, 0, 0);
}
}
}