Unity3d 对单元组件重置作出反应
我编写了一个脚本,用自定义材质替换对象上的材质。当部件损坏或禁用时,原始材料将放回原处。 但是,每当我使用“重置”按钮时,它就会中断系统,因为存储的原始材料丢失 有没有一种方法可以通过先将原始材料放回原位来应对重置Unity3d 对单元组件重置作出反应,unity3d,reset,Unity3d,Reset,我编写了一个脚本,用自定义材质替换对象上的材质。当部件损坏或禁用时,原始材料将放回原处。 但是,每当我使用“重置”按钮时,它就会中断系统,因为存储的原始材料丢失 有没有一种方法可以通过先将原始材料放回原位来应对重置 谢谢 您可以为自己的行为定义一个自定义Reset()方法。 只需在此方法中设置原始材质。如果只需要一个按钮将材质更改为原始材质,可以使用关联菜单属性: using UnityEngine; public class MaterialSwitcher : MonoBehaviour
谢谢 您可以为自己的行为定义一个自定义Reset()方法。
只需在此方法中设置原始材质。如果只需要一个按钮将材质更改为原始材质,可以使用关联菜单属性:
using UnityEngine;
public class MaterialSwitcher : MonoBehaviour
{
private Material _originalMaterial
[ContextMenu("restore to original material")]
void RestoreOriginalMaterial()
{
GetComponent<Renderer>().material = _originalMaterial
}
}
使用UnityEngine;
公共类材料开关:单一行为
{
私人材料(原材料)
[上下文菜单(“还原到原始材料”)]
无效恢复原始材料()
{
GetComponent().material=\u originalMaterial
}
}
我不能这样做,因为所有字段都会重置为其原始值。存储的材料因此被丢弃,我不能用重置方法重置它,因为它的字段已经首先被清除。你打算用重置按钮做什么?如果你只需要组件上的一个按钮就可以取回原始材料,你可以添加一个自定义按钮。这就是我现在拥有的!我只是想知道是否有可能在重置时做出反应,因为目前它破坏了系统。