unity 太阳自发光_unity动态改变自发光

unity5.0很早以前可以动态改自发光

也就是自发光对GI有影响

不过很少有人注意到这点

主要是在动态和静态上也存在不同的情况

有时候用处还是很明显的

下面是在unity5.5上做的测试

首先 作为自发光的物体必须是静态的,

其次材质的emission必须放上图片或者有颜色

然后烘焙和实时分为三种情况

而且emission下有三个选项,none就是自发光不管在哪个模式下都不对全局光产生影响

realtime就是在实时的情况下可以通过代码DynamicGI.UpdateMaterials来调整自发光的亮度或者颜色等等

baked当然也能通过代码调整,但必须是只开了pre的情况下才行,如果既开了pre又开了baked,那么只有设置成realtime才能的才能改变

如果场景只设置了baked,只有烘焙效果,并不能有实时效果

当然两个都没有的话,就没有烘焙效果和实时效果了

下面是控制代码

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class UpdataGI : MonoBehaviour {

float tempTime = 0.001f;

void Update () {

if (tempTime < 1) tempTime += 0.001f;

else

tempTime = 0;

this.gameObject.GetComponent().material.SetColor("_EmissionColor", Color.HSVToRGB(tempTime, 1,2));

DynamicGI.UpdateMaterials(this.gameObject.GetComponent());

}

}

图片效果比较像面光源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值