在 3D 建模应用程序中设置好混合形状后,请执行以下操作
0
表示混合形状没有影响。100
表示混合形状具有完全影响。要创建混合动画
要预览您的动画,请单击编辑器窗口或动画窗口中的 播放。
您还可以使用诸如 GetBlendShapeWeight 和 SetBlendShapeWeight 之类的函数通过脚本设置混合权重。
要检查 网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。更多信息
参见 词汇表 有多少个混合形状,请使用 blendShapeCount 变量。
此代码示例演示了如何将默认形状在一段时间内混合到两个其他混合形状中,当附加到具有三个或更多混合形状的 游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、路点等等。游戏对象的功用由附加到它的组件定义。更多信息
参见 词汇表 时
using UnityEngine;
using System.Collections;
public class BlendShapeExample : MonoBehaviour
{
int blendShapeCount;
SkinnedMeshRenderer skinnedMeshRenderer;
Mesh skinnedMesh;
float blendOne = 0f;
float blendTwo = 0f;
float blendSpeed = 1f;
bool blendOneFinished = false;
void Awake ()
{
skinnedMeshRenderer = GetComponent<SkinnedMeshRenderer> ();
skinnedMesh = GetComponent<SkinnedMeshRenderer> ().sharedMesh;
}
void Start ()
{
blendShapeCount = skinnedMesh.blendShapeCount;
}
void Update ()
{
if (blendShapeCount > 2) {
if (blendOne < 100f) {
skinnedMeshRenderer.SetBlendShapeWeight (0, blendOne);
blendOne += blendSpeed;
} else {
blendOneFinished = true;
}
if (blendOneFinished == true && blendTwo < 100f) {
skinnedMeshRenderer.SetBlendShapeWeight (1, blendTwo);
blendTwo += blendSpeed;
}
}
}
}