2021년 4학년 1학기 기업연계프로젝트2
컴퓨터소프트웨어공학과 <원광투어팀>
팀장 : 송유진
팀원 : 김나영, 이경희, 한유진
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.
|
|
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Animation that moves based on a linear mapping
//
//=============================================================================
using UnityEngine;using System.Collections;
namespace Valve.VR.InteractionSystem{ //-------------------------------------------------------------------------
public class LinearAnimation : MonoBehaviour { public LinearMapping linearMapping; public new Animation animation;
private AnimationState animState; private float animLength; private float lastValue;
//-------------------------------------------------
void Awake() { if ( animation == null ) { animation = GetComponent<Animation>(); }
if ( linearMapping == null ) { linearMapping = GetComponent<LinearMapping>(); }
//We're assuming the animation has a single clip, and that's the one we're
//going to scrub with the linear mapping.
animation.playAutomatically = true; animState = animation[animation.clip.name];
//If the anim state's (i.e. clip's) wrap mode is Once (the default) or ClampForever,
//Unity will automatically stop playing the anim, regardless of subsequent changes
//to animState.time. Thus, we set the wrap mode to PingPong.
animState.wrapMode = WrapMode.PingPong; animState.speed = 0; animLength = animState.length; }
//-------------------------------------------------
void Update() { float value = linearMapping.value;
//No need to set the anim if our value hasn't changed.
if ( value != lastValue ) { animState.time = value * animLength; }
lastValue = value; } }}
|