Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
1.2 KiB

//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Set the blend shape weight based on a linear mapping
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class LinearBlendshape : MonoBehaviour
{
public LinearMapping linearMapping;
public SkinnedMeshRenderer skinnedMesh;
private float lastValue;
//-------------------------------------------------
void Awake()
{
if ( skinnedMesh == null )
{
skinnedMesh = GetComponent<SkinnedMeshRenderer>();
}
if ( linearMapping == null )
{
linearMapping = GetComponent<LinearMapping>();
}
}
//-------------------------------------------------
void Update()
{
float value = linearMapping.value;
//No need to set the blend if our value hasn't changed.
if ( value != lastValue )
{
float blendValue = Util.RemapNumberClamped( value, 0f, 1f, 1f, 100f );
skinnedMesh.SetBlendShapeWeight( 0, blendValue );
}
lastValue = value;
}
}
}