2
0
Fork 0

timeline clip 自由转向

master
cd 2 years ago
parent 62fe3b3b87
commit 418b3029d3

@ -21,6 +21,6 @@ MonoBehaviour:
mLastUsedPackagesHash: 1177269412
mLastUsedPackagesCount: 1
mLastBuildCode: 1
mLastEditorStartupTimeTicks: 638222589423104105
mLastEditorStartupTimeTicks: 638222589433305598
mNewVersionAvailable: 1
mLastAttachedFlowPlayerValue: 0

@ -0,0 +1,22 @@
namespace Game
{
public class ClipInputControl : TimelineClipBase
{
private InputControlClip _mRealAsset;
public override void OnEnter()
{
_mRealAsset = Asset as InputControlClip;
Owner.move.IsFreeTurn = _mRealAsset.template.IsFreeTurn;
}
public override void OnStay()
{
}
public override void OnLeave()
{
Owner.move.IsFreeTurn = !_mRealAsset.template.IsFreeTurn;
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 859eb3221c13438eb6b3ae1ca0f32c68
timeCreated: 1686836094

@ -30,6 +30,7 @@ namespace Game
Register<ThrowAnimationClip, ClipThrowAnimation>();
Register<ThrowPositionClip, ClipThrowPosition>();
Register<ThrowTurnClip, ClipThrowTurn>();
Register<InputControlClip, ClipInputControl>();
}
private void Register<T1, T2>() where T2 : TimelineClipBase, new()

@ -1586,6 +1586,98 @@ MonoBehaviour:
m_EditorClassIdentifier:
template:
moveSpeedScale: -0.5
--- !u!114 &-536719081228147351
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c0af86dcc0103db4eada768bc0a1fa8e, type: 3}
m_Name: Input Control Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0.2
m_ClipIn: 0
m_Asset: {fileID: 6252038257660576424}
m_Duration: 0.19999999999999998
m_TimeScale: 1
m_ParentTrack: {fileID: -536719081228147351}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0
m_BlendOutDuration: 0
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: InputControlClip
m_Markers:
m_Objects: []
--- !u!114 &-535530294913848340
MonoBehaviour:
m_ObjectHideFlags: 1
@ -1898,6 +1990,7 @@ MonoBehaviour:
- {fileID: -505701961135431839}
- {fileID: -8593017252192611433}
- {fileID: 5555280687335423580}
- {fileID: -536719081228147351}
m_FixedDuration: 0.9
m_EditorSettings:
m_Framerate: 60
@ -2203,10 +2296,10 @@ MonoBehaviour:
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0.4
m_Start: 0.43333333333333335
m_ClipIn: 0
m_Asset: {fileID: 7000958700220519553}
m_Duration: 0.2666666666666666
m_Duration: 0.43333333333333335
m_TimeScale: 1
m_ParentTrack: {fileID: 5555280687335423580}
m_EaseInDuration: 0
@ -2381,6 +2474,20 @@ MonoBehaviour:
jumpCancel: 1
groundCancel: 0
skillCancel: 1
--- !u!114 &6252038257660576424
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cf3a0ded57877e4408206f1ebe220ada, type: 3}
m_Name: InputControlClip
m_EditorClassIdentifier:
template:
IsFreeTurn: 1
--- !u!114 &6393506803891717977
MonoBehaviour:
m_ObjectHideFlags: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 51143b6b71daf464db8991252d57247f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,14 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class InputControlBehaviour : PlayableBehaviour
{
[Rename("受否自由转向")] public bool IsFreeTurn;
public override void OnPlayableCreate(Playable playable)
{
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 838c2439f8663114995bda1c0f8d8bae
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,22 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class InputControlClip : PlayableAsset, ITimelineClipAsset
{
public InputControlBehaviour template = new InputControlBehaviour ();
public ClipCaps clipCaps
{
get { return ClipCaps.None; }
}
public override Playable CreatePlayable (PlayableGraph graph, GameObject owner)
{
var playable = ScriptPlayable<InputControlBehaviour>.Create (graph, template);
InputControlBehaviour clone = playable.GetBehaviour ();
return playable;
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cf3a0ded57877e4408206f1ebe220ada
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
public class InputControlMixerBehaviour : PlayableBehaviour
{
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties.
public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{
int inputCount = playable.GetInputCount ();
for (int i = 0; i < inputCount; i++)
{
float inputWeight = playable.GetInputWeight(i);
ScriptPlayable<InputControlBehaviour> inputPlayable = (ScriptPlayable<InputControlBehaviour>)playable.GetInput(i);
InputControlBehaviour input = inputPlayable.GetBehaviour ();
// Use the above variables to process each frame of this playable.
}
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b953d6e8b7295ea44ad73543757b04c4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,13 @@
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[TrackColor(0.855f, 0.8623f, 0.87f)]
[TrackClipType(typeof(InputControlClip))]
public class InputControlTrack : TrackAsset
{
public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
{
return ScriptPlayable<InputControlMixerBehaviour>.Create (graph, inputCount);
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c0af86dcc0103db4eada768bc0a1fa8e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save