Unity 预制动态绑定光照贴图遇到变白问题

预制绑定光照贴图,网上解决方案很多,已下是要点:

//烘培完场景之后,保存光照贴图信息
void StoreLightmapData()
{
    lightMap.Clear();
    LightmapData[] lds = LightmapSettings.lightmaps;
    foreach (LightmapData data in lds)
    {
        CustomLightMapData cd = new CustomLightMapData();
        cd.lightMapDir = data.lightmapDir;
        cd.shadowMask = data.shadowMask;
        cd.lightMapColor = data.lightmapColor;
        lightMap.Add(cd);
    }
}
//因为预制不保存光照信息
//保存预制中MeshRenderer 的光照信息到存储列表
private void GetChildData(Transform parent)
{
    if (parent.gameObject.isStatic)
    {
        var render = parent.GetComponent<MeshRenderer>();
        if (render != null && render.lightmapIndex >=0)
        {
            datas.Add(new RenderLightmapData(render, render.lightmapIndex, render.lightmapScaleOffset));
        }
    }

    for (int i = 0; i < parent.childCount; i++)
    {
        GetChildData(parent.GetChild(i));
    }
}
//加载预制是执行脚本方法

public void SetAllLightmapData()
{
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值