Unity 切换烘培贴图脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LightControl : MonoBehaviour
{
    MeshRenderer MeshRenderer;
    //灯光信息
    LightmapData[] lightmapData;
    LightmapData lmd;
    [SerializeField] bool _isTurnOn; //是否开灯

    private void Awake()
    {
        MeshRenderer = GetComponent<MeshRenderer>();
        lightmapData = LightmapSettings.lightmaps;
        lmd = new LightmapData();
    }

    private void Start()
    {
        _isTurnOn = true;
    }

    public void TurnOnLight() 
    {
        if (_isTurnOn)
        {
            SetLightMap(LightManager.Instance.SecondLightColor[MeshRenderer.lightmapIndex], MeshRenderer.lightmapIndex);
            _isTurnOn = false;
        }
        else
        {
            SetLightMap(LightManager.Instance.FirstLightColor[MeshRenderer.lightmapIndex], MeshRenderer.lightmapIndex);
            _isTurnOn = true;
        }
    }

    public void SetLightMap(Texture2D lightmapTex, int index)
    {
        if (lightmapTex == null)
        {
            return;
        }
        lmd.lightmapColor = lightmapTex;
        lightmapData[index] = lmd;
        LightmapSettings.lightmaps = lightmapData;
    }

}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

[System.Serializable]
public struct TurnOnLightBtn 
{
    public Button BtnTurnOnLight;
    public List<LightControl> LightControl;
}
public class LightManager : Singleton<LightManager>
{
    public Texture2D[] FirstLightColor;   //第一套灯光贴图
    public Texture2D[] SecondLightColor;   //第二套灯光贴图

    public List<TurnOnLightBtn> _TurnOnLight;
    void Start()
    {
        for (int i = 0; i < _TurnOnLight.Count; i++)
        {
            //_TurnOnLight[i].BtnTurnOnLight.onClick.AddListener(TurnOnLight);
        }
    }

    private void OnGUI()
    {
        if (GUILayout.Button("Test")) 
        {
            print(_TurnOnLight.Count);
        }
    }


}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值