Files
old-profesor-atom/Profesor Atom/Library/metadata/8c/8c81a27fd18a29444be92481fe681f4b

154 lines
8.5 KiB
Plaintext
Raw Normal View History

2017-05-17 12:25:25 +03:00
w!<21>5.6.1f1<00><><EFBFBD><EFBFBD><00><><EFBFBD>0<05><><EFBFBD><EFBFBD>L.`?^<5E>0D7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><00><00><00><00><00>#<00><00>+H<00>3<00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00> Q<00>j<00>
<00><00>< <00><00>H H<00>Z<00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00><00><00>g<00><00><00><00><00><00>#<00><00>+v~<00><00><><00><00><><00><00><><00><00><><00><00><><00><00><><00><00><><00><00><><00><00><><00><00><> <00><00><>!<00><00><>"<00><00><>#<00><00>$<00><00>%<00><00>&<00><00>#<00><><EFBFBD><EFBFBD>'<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>(<00><00><00><00>)H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>*<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>+@<00><00><00>,Q<00>j<00>-<00><00>*.<00><00>8/AssetMetaDataguiddata[0]data[1]data[2]data[3]pathNametimeCreatedoriginalChangesetoriginalNameoriginalParentHash128originalDigestbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]labelsassetStoreReflicenseType <00><>z{<0E>@<40><05><>5^(<28>H'<00>7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00> <00><00> <00><00>#.<00>,<00><00><><00> <00><00>#.<00>,H<00><><00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>
Q<00>j<00> <00><00>5<00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>y<00>
<00> <00><00>#.<00>, <00>I@<00><00>X @<00><00>#.<00>,H<00>]<00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>H<00>h<00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>!Q<00>j<00>"H<00>z<00><><EFBFBD><EFBFBD>#<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>$@<00><00><00>%Q<00>j<00>&MonoImporterPPtr<EditorExtension>m_FileIDm_PathIDm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariants<00><><EFBFBD>8-l'<27><>愁h<E68481>ΐA,<00><00>7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00> <00><00>.<00><00><00><><00> <00><00>.<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>
Q<00>j<00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>Q<00>j<00><00><00>(<00><><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><01><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><01>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>y<00>
<00> <00><00>.<00>y<00>< <00><00>.<00><00><00>CH<00>T<00><><EFBFBD><EFBFBD><10>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>!Q<00>j<00>"H<00>`<00><><EFBFBD><EFBFBD>#<10>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>$@<00><00><00>%Q<00>j<00>&H<00>l<00><><EFBFBD><EFBFBD>'<10>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>(@<00><00><00>)Q<00>j<00>*L<00>{+PPtr<EditorExtension>m_FileIDm_PathIDm_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacem_AssemblyNamem_IsEditorScript<00><00>@<00>y<EFBFBD><00><00><>^\a<><61>M<EFBFBD>Q<EFBFBD>| <09>e.<00>*<2A><1D><>D<EFBFBD><44>B<18><><EFBFBD><EFBFBD><Assets/SteamVR/InteractionSystem/Core/Scripts/LinearDrive.cs<63><08>U<00><>* LinearDrive<00>//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Drives a linear mapping based on position between 2 positions
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
[RequireComponent( typeof( Interactable ) )]
public class LinearDrive : MonoBehaviour
{
public Transform startPosition;
public Transform endPosition;
public LinearMapping linearMapping;
public bool repositionGameObject = true;
public bool maintainMomemntum = true;
public float momemtumDampenRate = 5.0f;
private float initialMappingOffset;
private int numMappingChangeSamples = 5;
private float[] mappingChangeSamples;
private float prevMapping = 0.0f;
private float mappingChangeRate;
private int sampleCount = 0;
//-------------------------------------------------
void Awake()
{
mappingChangeSamples = new float[numMappingChangeSamples];
}
//-------------------------------------------------
void Start()
{
if ( linearMapping == null )
{
linearMapping = GetComponent<LinearMapping>();
}
if ( linearMapping == null )
{
linearMapping = gameObject.AddComponent<LinearMapping>();
}
initialMappingOffset = linearMapping.value;
if ( repositionGameObject )
{
UpdateLinearMapping( transform );
}
}
//-------------------------------------------------
private void HandHoverUpdate( Hand hand )
{
if ( hand.GetStandardInteractionButtonDown() )
{
hand.HoverLock( GetComponent<Interactable>() );
initialMappingOffset = linearMapping.value - CalculateLinearMapping( hand.transform );
sampleCount = 0;
mappingChangeRate = 0.0f;
}
if ( hand.GetStandardInteractionButtonUp() )
{
hand.HoverUnlock( GetComponent<Interactable>() );
CalculateMappingChangeRate();
}
if ( hand.GetStandardInteractionButton() )
{
UpdateLinearMapping( hand.transform );
}
}
//-------------------------------------------------
private void CalculateMappingChangeRate()
{
//Compute the mapping change rate
mappingChangeRate = 0.0f;
int mappingSamplesCount = Mathf.Min( sampleCount, mappingChangeSamples.Length );
if ( mappingSamplesCount != 0 )
{
for ( int i = 0; i < mappingSamplesCount; ++i )
{
mappingChangeRate += mappingChangeSamples[i];
}
mappingChangeRate /= mappingSamplesCount;
}
}
//-------------------------------------------------
private void UpdateLinearMapping( Transform tr )
{
prevMapping = linearMapping.value;
linearMapping.value = Mathf.Clamp01( initialMappingOffset + CalculateLinearMapping( tr ) );
mappingChangeSamples[sampleCount % mappingChangeSamples.Length] = ( 1.0f / Time.deltaTime ) * ( linearMapping.value - prevMapping );
sampleCount++;
if ( repositionGameObject )
{
transform.position = Vector3.Lerp( startPosition.position, endPosition.position, linearMapping.value );
}
}
//-------------------------------------------------
private float CalculateLinearMapping( Transform tr )
{
Vector3 direction = endPosition.position - startPosition.position;
float length = direction.magnitude;
direction.Normalize();
Vector3 displacement = tr.position - startPosition.position;
return Vector3.Dot( displacement, direction ) / length;
}
//-------------------------------------------------
void Update()
{
if ( maintainMomemntum && mappingChangeRate != 0.0f )
{
//Dampen the mapping change rate and apply it to the mapping
mappingChangeRate = Mathf.Lerp( mappingChangeRate, 0.0f, momemtumDampenRate * Time.deltaTime );
linearMapping.value = Mathf.Clamp01( linearMapping.value + ( mappingChangeRate * Time.deltaTime ) );
if ( repositionGameObject )
{
transform.position = Vector3.Lerp( startPosition.position, endPosition.position, linearMapping.value );
}
}
}
}
}
<00><>* LinearDriveValve.VR.InteractionSystemAssembly-CSharp.dll