unity中给人物皮肤换颜色

在unity人物模型中,一般会有一个表示主身体的模型,并且在这个物体上还会有Skinned Mesh Render组件
在这里插入图片描述

那我们只需要在代码中,获取Skinned Mesh Render组件,并给其中MaterialColor赋值即可,代码如下

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

public class PlayerHp : MonoBehaviour
{
    //皮肤渲染
    private SkinnedMeshRenderer _mSkinnedMeshRenderer;

    // Start is called before the first frame update
    void Start()
    {
    	//获取组件
        _mSkinnedMeshRenderer = GameObject.Find("PlayerBody").GetComponent<SkinnedMeshRenderer>();
    }

    // Update is called once per frame
    void Update()
    {
    	//改变颜色,这里使用了Color.Lerp()一个颜色的渐变
        _mSkinnedMeshRenderer.material.color =
            Color.Lerp(_mSkinnedMeshRenderer.material.color, Color.white, Time.deltaTime);
    }
}

发布了201 篇原创文章 · 获赞 210 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/104693505