Merge remote-tracking branch 'origin/NewStory' into NewStory

# Conflicts:
#	Assets/MEDIEVAL_ANIMATIONS_MEGA_PACK_new/Bow/Materials/Adam_body_Metal.mat
#	Assets/MEDIEVAL_ANIMATIONS_MEGA_PACK_new/Bow/Materials/Adam_head_metal.mat
#	Assets/MEDIEVAL_ANIMATIONS_MEGA_PACK_new/Bow/Materials/Bow.mat
#	Assets/MEDIEVAL_ANIMATIONS_MEGA_PACK_new/Bow/Materials/Eva_Body_Metal.mat
#	Assets/MEDIEVAL_ANIMATIONS_MEGA_PACK_new/Bow/Materials/Eva_Head_Metal.mat
This commit is contained in:
szczuras4
2025-09-13 19:10:55 +02:00
45 changed files with 7217 additions and 2671 deletions

View File

@@ -339,13 +339,12 @@ namespace DemonBoss.Magic
Gizmos.DrawWireCube(transform.position + Vector3.up * 2f, Vector3.one * 0.5f); Gizmos.DrawWireCube(transform.position + Vector3.up * 2f, Vector3.one * 0.5f);
// HP text in Scene View // HP text in Scene View
#if UNITY_EDITOR
if (Application.isPlaying) if (Application.isPlaying)
{ {
UnityEditor.Handles.Label(transform.position + Vector3.up * 2.5f, $"HP: {currentHealth}/{maxHealth}"); UnityEditor.Handles.Label(transform.position + Vector3.up * 2.5f, $"HP: {currentHealth}/{maxHealth}");
} }
#endif
} }
#endif
public void AddHealth(int value) public void AddHealth(int value)
{ {
@@ -362,6 +361,5 @@ namespace DemonBoss.Magic
throw new System.NotImplementedException(); throw new System.NotImplementedException();
} }
#endif
} }
} }

View File

@@ -0,0 +1,213 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1947871717301538
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4209731392266258}
- component: {fileID: -5586632368230897359}
- component: {fileID: 6785567375430979834}
m_Layer: 30
m_Name: FireBall new
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4209731392266258
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1947871717301538}
serializedVersion: 2
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 6.67, y: 1, z: -53.73}
m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6802751815913059821}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
--- !u!136 &-5586632368230897359
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1947871717301538}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 1
m_Height: 0
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &6785567375430979834
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1947871717301538}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1a863cb5e6092ec4a936c4eb21bb9166, type: 3}
m_Name:
m_EditorClassIdentifier:
targetTag: Player
targetHeightOffset: 1
speed: 12
lockTime: 0.5
maxLifeTime: 60
arrivalTolerance: 0.25
damage: 5
knockbackForce: 5
enableDebug: 0
--- !u!1001 &6802374026672139437
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 4209731392266258}
m_Modifications:
- target: {fileID: 1363404153839300, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_Name
value: Effect12
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114430605913307632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: Speed
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114430605913307632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: Distance
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114430605913307632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114430605913307632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: CollidesWith.m_Bits
value: 256
objectReference: {fileID: 0}
- target: {fileID: 114587680334040632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199693142139168640, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: m_Materials.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199728937019303074, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
propertyPath: m_Materials.Array.size
value: 1
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 114430605913307632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
- {fileID: 114587680334040632, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 1294706121055886, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
insertIndex: -1
addedObject: {fileID: 1570972138348746864}
m_SourcePrefab: {fileID: 100100000, guid: 6fca1031e82d1264a8f6d8d1d7a7cced, type: 3}
--- !u!1 &6801133233205277219 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1294706121055886, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
m_PrefabInstance: {fileID: 6802374026672139437}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1570972138348746864
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6801133233205277219}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 3
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_LightLayerMask: 1
m_RenderingLayers: 1
m_CustomShadowLayers: 0
m_ShadowLayerMask: 1
m_ShadowRenderingLayers: 1
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 0
--- !u!4 &6802751815913059821 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4179900483688768, guid: 6fca1031e82d1264a8f6d8d1d7a7cced,
type: 3}
m_PrefabInstance: {fileID: 6802374026672139437}
m_PrefabAsset: {fileID: 0}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 10813082aa17ea94f9eb5edcc37ac632
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,12 +1,13 @@
using Invector.vCharacterController.AI.FSMBehaviour; using Invector.vCharacterController.AI.FSMBehaviour;
using Lean.Pool; using Lean.Pool;
using UnityEngine; using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.Playables;
namespace DemonBoss.Magic namespace DemonBoss.Magic
{ {
/// <summary> /// <summary>
/// Spawns a meteor behind the BOSS and launches it toward the player's position /// Spawns a meteor behind the BOSS and launches it toward the player's position.
/// Similar mechanics to FireballProjectile but coming from above
/// </summary> /// </summary>
[CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Call Meteor")] [CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Call Meteor")]
public class SA_CallMeteor : vStateAction public class SA_CallMeteor : vStateAction
@@ -31,18 +32,37 @@ namespace DemonBoss.Magic
[Tooltip("Tag used to find the target (usually Player)")] [Tooltip("Tag used to find the target (usually Player)")]
public string targetTag = "Player"; public string targetTag = "Player";
[Header("One-off Overlay Clip (No Animator Params)")]
public AnimationClip overlayClip;
[Tooltip("Playback speed (1 = normal)")] public float overlaySpeed = 1f;
[Tooltip("Blend-in seconds (instant in this minimal impl)")] public float overlayFadeIn = 0.10f;
[Tooltip("Blend-out seconds (instant in this minimal impl)")] public float overlayFadeOut = 0.10f;
[Header("Debug")] [Header("Debug")]
public bool enableDebug = false; public bool enableDebug = false;
private Transform _boss; private Transform _boss;
private Transform _target; private Transform _target;
// --- Playables runtime ---
private PlayableGraph _overlayGraph;
private AnimationPlayableOutput _overlayOutput;
private AnimationClipPlayable _overlayPlayable;
private bool _overlayPlaying;
private float _overlayStopAtTime;
public override void DoAction(vIFSMBehaviourController fsm, vFSMComponentExecutionType execType = vFSMComponentExecutionType.OnStateUpdate) public override void DoAction(vIFSMBehaviourController fsm, vFSMComponentExecutionType execType = vFSMComponentExecutionType.OnStateUpdate)
{ {
if (execType == vFSMComponentExecutionType.OnStateEnter) if (execType == vFSMComponentExecutionType.OnStateEnter)
{ {
OnEnter(fsm); OnEnter(fsm);
} }
else if (execType == vFSMComponentExecutionType.OnStateUpdate)
{
if (_overlayPlaying && Time.time >= _overlayStopAtTime) StopOverlayWithFade();
}
} }
private void OnEnter(vIFSMBehaviourController fsm) private void OnEnter(vIFSMBehaviourController fsm)
@@ -58,7 +78,14 @@ namespace DemonBoss.Magic
if (enableDebug) Debug.Log($"[SA_CallMeteor] Boss: {_boss.name}, Target: {_target.name}"); if (enableDebug) Debug.Log($"[SA_CallMeteor] Boss: {_boss.name}, Target: {_target.name}");
SpawnMeteor(); // Fire overlay clip (no Animator params)
PlayOverlayOnce(_boss);
// Optional: wait for castDelay before spawning (simple timer via Invoke)
if (castDelay > 0f)
_boss.gameObject.AddComponent<DelayedInvoker>().Init(castDelay, SpawnMeteor);
else
SpawnMeteor();
} }
private void SpawnMeteor() private void SpawnMeteor()
@@ -101,5 +128,78 @@ namespace DemonBoss.Magic
if (enableDebug) Debug.LogError("[SA_CallMeteor] Meteor prefab missing MeteorProjectile component!"); if (enableDebug) Debug.LogError("[SA_CallMeteor] Meteor prefab missing MeteorProjectile component!");
} }
} }
private void PlayOverlayOnce(Transform owner)
{
if (overlayClip == null) return;
var animator = owner.GetComponent<Animator>();
if (animator == null) return;
StopOverlayImmediate();
_overlayGraph = PlayableGraph.Create("ActionOverlay(CallMeteor)");
_overlayGraph.SetTimeUpdateMode(DirectorUpdateMode.GameTime);
_overlayPlayable = AnimationClipPlayable.Create(_overlayGraph, overlayClip);
_overlayPlayable.SetApplyFootIK(false);
_overlayPlayable.SetApplyPlayableIK(false);
_overlayPlayable.SetSpeed(Mathf.Max(0.0001f, overlaySpeed));
_overlayOutput = AnimationPlayableOutput.Create(_overlayGraph, "AnimOut", animator);
_overlayOutput.SetSourcePlayable(_overlayPlayable);
_overlayOutput.SetWeight(1f);
_overlayGraph.Play();
_overlayPlaying = true;
float len = overlayClip.length / Mathf.Max(0.0001f, overlaySpeed);
_overlayStopAtTime = Time.time + len;
if (enableDebug) Debug.Log("[SA_CallMeteor] Overlay clip started via Playables");
}
private void StopOverlayImmediate()
{
if (_overlayGraph.IsValid())
{
_overlayGraph.Stop();
_overlayGraph.Destroy();
}
_overlayPlaying = false;
}
private void StopOverlayWithFade()
{
if (!_overlayPlaying) { StopOverlayImmediate(); return; }
if (_overlayOutput.IsOutputNull() == false) _overlayOutput.SetWeight(0f);
StopOverlayImmediate();
if (enableDebug) Debug.Log("[SA_CallMeteor] Overlay clip stopped");
}
/// <summary>
/// Tiny helper MonoBehaviour to delay a callback without coroutines here.
/// </summary>
private sealed class DelayedInvoker : MonoBehaviour
{
private float _timeLeft;
private System.Action _callback;
public void Init(float delay, System.Action callback)
{
_timeLeft = delay;
_callback = callback;
}
private void Update()
{
_timeLeft -= Time.deltaTime;
if (_timeLeft <= 0f)
{
try { _callback?.Invoke(); }
finally { Destroy(this); }
}
}
}
} }
} }

View File

@@ -1,187 +1,376 @@
using Invector.vCharacterController.AI.FSMBehaviour; using Invector.vCharacterController.AI.FSMBehaviour;
using Lean.Pool; using Lean.Pool;
using UnityEngine; using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.Playables;
namespace DemonBoss.Magic namespace DemonBoss.Magic
{ {
/// <summary> /// <summary>
/// StateAction for Magic Shield spell - boss casts magical shield for 5 seconds /// Magic Shield
/// During casting boss stands still, after completion returns to Combat /// Spawns shield FX, holds for 'shieldDuration', then plays End and cleans up.
/// </summary> /// </summary>
[CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Cast Shield")] [CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Cast Shield (Start/Keep/End)")]
public class SA_CastShield : vStateAction public class SA_CastShield : vStateAction
{ {
public override string categoryName => "DemonBoss/Magic"; public override string categoryName => "DemonBoss/Magic";
public override string defaultName => "Cast Shield"; public override string defaultName => "Cast Shield";
[Header("Shield Configuration")] [Header("Shield Logic")]
[Tooltip("Prefab with magical shield particle effect")] [Tooltip("Prefab with magical shield particle effect")]
public GameObject shieldFXPrefab; public GameObject shieldFXPrefab;
[Tooltip("Shield duration in seconds")] [Tooltip("Shield duration in seconds (time spent in Keep phase before End)")]
public float shieldDuration = 5f; public float shieldDuration = 5f;
[Tooltip("Animator bool parameter name for blocking state")] [Tooltip("Animator bool parameter name for blocking state (optional)")]
public string animatorBlockingBool = "IsBlocking"; public string animatorBlockingBool = "IsBlocking";
[Header("Animation Clips (no Animator params)")]
[Tooltip("One-shot intro")]
public AnimationClip startClip;
[Tooltip("Looping hold/maintain")]
public AnimationClip keepClip;
[Tooltip("One-shot outro")]
public AnimationClip endClip;
[Header("Playback & Fades")]
[Tooltip("Global playback speed for all clips")]
public float clipSpeed = 1f;
[Tooltip("Seconds to crossfade between phases")]
public float crossfadeTime = 0.12f;
[Tooltip("If the state exits early, still play End quickly before full teardown")]
public bool playEndOnEarlyExit = true;
[Header("Debug")] [Header("Debug")]
[Tooltip("Enable debug logging")] public bool debugLogs = false;
public bool enableDebug = false;
private GameObject spawnedShield; // --- Runtime (shield/FX) ---
private Animator npcAnimator; private Transform _npc;
private Transform npcTransform;
private float shieldStartTime;
private bool shieldActive = false;
/// <summary> private Animator _anim;
/// Main action execution method called by FSM private GameObject _spawnedShieldFX;
/// </summary> private float _shieldStartTime;
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate) private bool _shieldActive;
// --- Playables graph state ---
private PlayableGraph _graph;
private AnimationPlayableOutput _output;
private AnimationMixerPlayable _mixer; // 2-way mixer for crossfades
private AnimationClipPlayable _pStart;
private AnimationClipPlayable _pKeep;
private AnimationClipPlayable _pEnd;
private enum Phase
{ None, Start, Keep, End, Done }
private Phase _phase = Phase.None;
// crossfade bookkeeping
private int _fromInput = -1; // 0 or 1
private int _toInput = -1; // 0 or 1
private float _fadeT0; // Time.time at fade start
private float _fadeDur; // seconds
private bool _fading;
// which clip is bound to each input
private AnimationClipPlayable _input0;
private AnimationClipPlayable _input1;
// timers for auto-advance
private float _phaseScheduledEnd = 0f; // absolute Time.time when Start/End should be done
public override void DoAction(vIFSMBehaviourController fsm, vFSMComponentExecutionType execType = vFSMComponentExecutionType.OnStateUpdate)
{ {
if (executionType == vFSMComponentExecutionType.OnStateEnter) if (execType == vFSMComponentExecutionType.OnStateEnter) OnEnter(fsm);
else if (execType == vFSMComponentExecutionType.OnStateUpdate) OnUpdate(fsm);
else if (execType == vFSMComponentExecutionType.OnStateExit) OnExit(fsm);
}
// ------------------ FSM Hooks ------------------
private void OnEnter(vIFSMBehaviourController fsm)
{
_npc = fsm.transform;
_anim = _npc.GetComponent<Animator>();
if (_anim != null && !string.IsNullOrEmpty(animatorBlockingBool))
_anim.SetBool(animatorBlockingBool, true);
SpawnShieldFX();
_shieldStartTime = Time.time;
_shieldActive = true;
BuildGraphIfNeeded();
if (startClip != null)
{ {
OnStateEnter(fsmBehaviour); EnterStart();
} }
else if (executionType == vFSMComponentExecutionType.OnStateUpdate) else if (keepClip != null)
{ {
OnStateUpdate(fsmBehaviour); EnterKeep();
} }
else if (executionType == vFSMComponentExecutionType.OnStateExit) else
{ {
OnStateExit(fsmBehaviour); if (debugLogs) Debug.Log("[SA_CastShield] No Start/Keep clips; waiting to End.");
_phase = Phase.Keep; // logical keep (no anim)
} }
} }
/// <summary> private void OnUpdate(vIFSMBehaviourController fsm)
/// Called when entering state - starts shield casting
/// </summary>
private void OnStateEnter(vIFSMBehaviourController fsmBehaviour)
{ {
if (enableDebug) Debug.Log("[SA_CastShield] Entering shield casting state"); // handle crossfade
if (_fading)
// Store NPC references
npcTransform = fsmBehaviour.transform;
npcAnimator = npcTransform.GetComponent<Animator>();
var aiController = fsmBehaviour as Invector.vCharacterController.AI.vIControlAI;
if (aiController != null)
{ {
aiController.Stop(); float u = Mathf.Clamp01((Time.time - _fadeT0) / Mathf.Max(0.0001f, _fadeDur));
if (enableDebug) Debug.Log("[SA_CastShield] AI stopped"); if (_fromInput >= 0) _mixer.SetInputWeight(_fromInput, 1f - u);
if (_toInput >= 0) _mixer.SetInputWeight(_toInput, u);
if (u >= 1f) _fading = false;
} }
if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) // auto-advance phases based on timers
if (_phase == Phase.Start && Time.time >= _phaseScheduledEnd)
{ {
npcAnimator.SetBool(animatorBlockingBool, true); if (keepClip != null) CrossfadeToKeep();
if (enableDebug) Debug.Log($"[SA_CastShield] Set bool: {animatorBlockingBool} = true"); else BeginEnd(); // no keep; go straight to End window
} }
else if (_phase == Phase.Keep)
SpawnShieldEffect(fsmBehaviour);
shieldStartTime = Time.time;
shieldActive = true;
}
/// <summary>
/// Called every frame during state duration
/// </summary>
private void OnStateUpdate(vIFSMBehaviourController fsmBehaviour)
{
if (shieldActive && Time.time - shieldStartTime >= shieldDuration)
{ {
if (enableDebug) Debug.Log("[SA_CastShield] Shield time passed, finishing state"); // When shield timer is up, begin End
FinishShield(fsmBehaviour); if (_shieldActive && (Time.time - _shieldStartTime) >= shieldDuration)
{
BeginEnd();
}
}
else if (_phase == Phase.End && Time.time >= _phaseScheduledEnd)
{
// End completed
_phase = Phase.Done;
TeardownGraph();
CleanupShieldFX();
_shieldActive = false;
} }
} }
/// <summary> private void OnExit(vIFSMBehaviourController fsm)
/// Called when exiting state - cleanup
/// </summary>
private void OnStateExit(vIFSMBehaviourController fsmBehaviour)
{ {
if (enableDebug) Debug.Log("[SA_CastShield] Exiting shield state"); if (_anim != null && !string.IsNullOrEmpty(animatorBlockingBool))
_anim.SetBool(animatorBlockingBool, false);
if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) // If we left early, optionally play End briefly (best-effort)
if (playEndOnEarlyExit && _phase != Phase.End && _phase != Phase.Done && endClip != null)
{ {
npcAnimator.SetBool(animatorBlockingBool, false); if (debugLogs) Debug.Log("[SA_CastShield] Early exit: playing End quickly.");
if (enableDebug) Debug.Log($"[SA_CastShield] Set bool: {animatorBlockingBool} = false"); // build graph if it was never built (e.g., no Start/Keep)
BuildGraphIfNeeded();
CrossfadeTo(endClip, out _pEnd, quick: true);
_phase = Phase.End;
_phaseScheduledEnd = Time.time + Mathf.Min(endClip.length / SafeSpeed(), 0.25f); // quick outro
}
else
{
// otherwise normal cleanup
TeardownGraph();
} }
if (shieldActive) CleanupShieldFX();
{ _shieldActive = false;
CleanupShield();
}
var aiController = fsmBehaviour as Invector.vCharacterController.AI.vIControlAI;
if (aiController != null)
{
if (enableDebug) Debug.Log("[SA_CastShield] AI resumed");
}
} }
/// <summary> // ------------------ Phase Transitions ------------------
/// Spawns magical shield particle effect
/// </summary> private void EnterStart()
private void SpawnShieldEffect(vIFSMBehaviourController fsmBehaviour)
{ {
if (shieldFXPrefab == null) CrossfadeTo(startClip, out _pStart, quick: false);
_phase = Phase.Start;
_phaseScheduledEnd = Time.time + (startClip.length / SafeSpeed());
if (debugLogs) Debug.Log("[SA_CastShield] Start phase.");
}
private void CrossfadeToKeep()
{
if (keepClip == null)
{ {
Debug.LogWarning("[SA_CastShield] Missing shieldFXPrefab!"); BeginEnd();
return; return;
} }
CrossfadeTo(keepClip, out _pKeep, quick: false, loop: true);
// Spawn shield at NPC's position and rotation _phase = Phase.Keep;
Vector3 spawnPosition = npcTransform.position; if (debugLogs) Debug.Log("[SA_CastShield] Switched to Keep (loop).");
Quaternion spawnRotation = npcTransform.rotation;
spawnedShield = LeanPool.Spawn(shieldFXPrefab, spawnPosition, spawnRotation);
if (enableDebug) Debug.Log($"[SA_CastShield] Shield spawned at NPC position: {spawnPosition}");
} }
/// <summary> private void EnterKeep()
/// Finishes shield operation and transitions to next state
/// </summary>
private void FinishShield(vIFSMBehaviourController fsmBehaviour)
{ {
shieldActive = false; CrossfadeTo(keepClip, out _pKeep, quick: false, loop: true);
CleanupShield(); _phase = Phase.Keep;
if (debugLogs) Debug.Log("[SA_CastShield] Entered Keep directly.");
DEC_CheckCooldown.SetCooldownStatic(fsmBehaviour, "Shield", 15f);
// End state - FSM will transition to next state
// FYI: In Invector FSM, state completion is handled automatically
} }
/// <summary> private void BeginEnd()
/// Cleans up spawned shield
/// </summary>
private void CleanupShield()
{ {
if (spawnedShield != null) if (endClip == null)
{ {
LeanPool.Despawn(spawnedShield); // No end clip; just finish
spawnedShield = null; _phase = Phase.Done;
if (enableDebug) Debug.Log("[SA_CastShield] Shield despawned"); TeardownGraph();
CleanupShieldFX();
_shieldActive = false;
if (debugLogs) Debug.Log("[SA_CastShield] No End clip; finished.");
return;
}
CrossfadeTo(endClip, out _pEnd, quick: false);
_phase = Phase.End;
_phaseScheduledEnd = Time.time + (endClip.length / SafeSpeed());
if (debugLogs) Debug.Log("[SA_CastShield] End phase.");
}
// ------------------ Graph Setup / Crossfade ------------------
private void BuildGraphIfNeeded()
{
if (_graph.IsValid()) return;
if (_anim == null)
{
_anim = _npc ? _npc.GetComponent<Animator>() : null;
if (_anim == null)
{
if (debugLogs) Debug.LogWarning("[SA_CastShield] No Animator found; animation disabled.");
return;
}
}
_graph = PlayableGraph.Create("ShieldOverlayGraph");
_graph.SetTimeUpdateMode(DirectorUpdateMode.GameTime);
_mixer = AnimationMixerPlayable.Create(_graph, 2); // 2-way mixer
_mixer.SetInputWeight(0, 0f);
_mixer.SetInputWeight(1, 0f);
_output = AnimationPlayableOutput.Create(_graph, "AnimOut", _anim);
_output.SetSourcePlayable(_mixer);
_output.SetWeight(1f);
_graph.Play();
}
private void TeardownGraph()
{
if (_graph.IsValid())
{
_graph.Stop();
_graph.Destroy();
}
_input0 = default;
_input1 = default;
_fromInput = _toInput = -1;
_fading = false;
}
private float SafeSpeed() => Mathf.Max(0.0001f, clipSpeed);
/// <summary>
/// Fades from whatever is currently audible to the given clip.
/// Reuses the 2 inputs; swaps playables as needed.
/// </summary>
private void CrossfadeTo(AnimationClip clip,
out AnimationClipPlayable playableOut,
bool quick,
bool loop = false)
{
playableOut = default;
if (!_graph.IsValid() || clip == null) return;
float speed = SafeSpeed();
// Prepare or reuse a slot (two inputs that we swap between)
// Choose the silent input as target; if none is silent, pick the opposite of the currently "from".
int targetInput = (_mixer.GetInputWeight(0) < 0.0001f) ? 0 : (_mixer.GetInputWeight(1) < 0.0001f) ? 1 : (_toInput == 0 ? 1 : 0);
// Destroy existing playable on that input if any
var currentPlayableOnTarget = (AnimationClipPlayable)_mixer.GetInput(targetInput);
if (currentPlayableOnTarget.IsValid())
{
_graph.Disconnect(_mixer, targetInput);
currentPlayableOnTarget.Destroy();
}
// Create new clip playable
var newPlayable = AnimationClipPlayable.Create(_graph, clip);
newPlayable.SetApplyFootIK(false);
newPlayable.SetApplyPlayableIK(false);
newPlayable.SetSpeed(speed);
// Connect to mixer
_graph.Connect(newPlayable, 0, _mixer, targetInput);
_mixer.SetInputWeight(targetInput, 0f);
// Cache which playable is on which slot for optional debug
if (targetInput == 0) _input0 = newPlayable; else _input1 = newPlayable;
// Determine current audible input to fade from
int sourceInput = (targetInput == 0) ? 1 : 0;
float wSource = _mixer.GetInputWeight(sourceInput);
bool hasSource = wSource > 0.0001f && _mixer.GetInput(sourceInput).IsValid();
// Start from beginning for new phase
newPlayable.SetTime(0);
playableOut = newPlayable;
// Configure fade
_fromInput = hasSource ? sourceInput : -1;
_toInput = targetInput;
_fadeDur = Mathf.Max(0f, quick ? Mathf.Min(0.06f, crossfadeTime) : crossfadeTime);
_fadeT0 = Time.time;
_fading = _fadeDur > 0f && hasSource;
// Set immediate weights if not fading
if (!_fading)
{
if (_fromInput >= 0) _mixer.SetInputWeight(_fromInput, 0f);
_mixer.SetInputWeight(_toInput, 1f);
} }
} }
/// <summary> // ------------------ FX Helpers ------------------
/// Checks if shield is currently active
/// </summary> private void SpawnShieldFX()
public bool IsShieldActive()
{ {
return shieldActive; if (shieldFXPrefab == null) return;
_spawnedShieldFX = LeanPool.Spawn(shieldFXPrefab, _npc.position, _npc.rotation);
if (debugLogs) Debug.Log("[SA_CastShield] Shield FX spawned.");
} }
/// <summary> private void CleanupShieldFX()
/// Returns remaining shield time {
/// </summary> if (_spawnedShieldFX != null)
{
LeanPool.Despawn(_spawnedShieldFX);
_spawnedShieldFX = null;
if (debugLogs) Debug.Log("[SA_CastShield] Shield FX despawned.");
}
}
// ------------------ Public Query ------------------
public bool IsShieldActive() => _shieldActive;
public float GetRemainingShieldTime() public float GetRemainingShieldTime()
{ {
if (!shieldActive) return 0f; if (!_shieldActive) return 0f;
return Mathf.Max(0f, shieldDuration - (Time.time - shieldStartTime)); float t = Mathf.Max(0f, shieldDuration - (Time.time - _shieldStartTime));
return (_phase == Phase.End || _phase == Phase.Done) ? 0f : t;
} }
} }
} }

View File

@@ -1,13 +1,14 @@
using Invector.vCharacterController.AI.FSMBehaviour; using Invector.vCharacterController.AI.FSMBehaviour;
using Lean.Pool; using Lean.Pool;
using UnityEngine; using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.Playables;
namespace DemonBoss.Magic namespace DemonBoss.Magic
{ {
/// <summary> /// <summary>
/// Spawns exactly 3 crystal turrets around the opponent. /// Spawns exactly 3 crystal turrets around the opponent.
/// Now with per-spawn randomness: global rotation offset and per-turret angle/radius jitter. /// Now with per-spawn randomness and position validation.
/// Validates positions (ground/obstacles) and enforces minimum separation.
/// </summary> /// </summary>
[CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Spawn 3 Turrets Radial")] [CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Spawn 3 Turrets Radial")]
public class SA_SpawnTurretSmart : vStateAction public class SA_SpawnTurretSmart : vStateAction
@@ -43,6 +44,13 @@ namespace DemonBoss.Magic
[Tooltip("Per-turret radius jitter (meters). 0 = disabled.")] [Tooltip("Per-turret radius jitter (meters). 0 = disabled.")]
public float perTurretRadiusJitter = 0.75f; public float perTurretRadiusJitter = 0.75f;
[Header("One-off Overlay Clip (No Animator Params)")]
public AnimationClip overlayClip;
[Tooltip("Playback speed (1 = normal)")] public float overlaySpeed = 1f;
[Tooltip("Blend-in seconds (instant in this minimal impl)")] public float overlayFadeIn = 0.10f;
[Tooltip("Blend-out seconds (instant in this minimal impl)")] public float overlayFadeOut = 0.10f;
[Header("Debug")] [Header("Debug")]
public bool enableDebug = false; public bool enableDebug = false;
@@ -52,11 +60,25 @@ namespace DemonBoss.Magic
private Transform npcTransform; private Transform npcTransform;
private Transform playerTransform; private Transform playerTransform;
private readonly System.Collections.Generic.List<Vector3> _lastPlanned = new System.Collections.Generic.List<Vector3>(3); private readonly System.Collections.Generic.List<Vector3> _lastPlanned =
new System.Collections.Generic.List<Vector3>(3);
// --- Playables runtime ---
private PlayableGraph _overlayGraph;
private AnimationPlayableOutput _overlayOutput;
private AnimationClipPlayable _overlayPlayable;
private bool _overlayPlaying;
private float _overlayStopAtTime;
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate) public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
{ {
if (executionType == vFSMComponentExecutionType.OnStateEnter) OnStateEnter(fsmBehaviour); if (executionType == vFSMComponentExecutionType.OnStateEnter) OnStateEnter(fsmBehaviour);
else if (executionType == vFSMComponentExecutionType.OnStateUpdate)
{
// Auto-stop overlay when finished
if (_overlayPlaying && Time.time >= _overlayStopAtTime) StopOverlayWithFade();
}
else if (executionType == vFSMComponentExecutionType.OnStateExit) OnStateExit(fsmBehaviour); else if (executionType == vFSMComponentExecutionType.OnStateExit) OnStateExit(fsmBehaviour);
} }
@@ -70,6 +92,8 @@ namespace DemonBoss.Magic
if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool))
npcAnimator.SetBool(animatorBlockingBool, true); npcAnimator.SetBool(animatorBlockingBool, true);
PlayOverlayOnce(npcTransform);
SpawnThreeTurretsRadial(fsmBehaviour); SpawnThreeTurretsRadial(fsmBehaviour);
DEC_CheckCooldown.SetCooldownStatic(fsmBehaviour, "Turret", 12f); DEC_CheckCooldown.SetCooldownStatic(fsmBehaviour, "Turret", 12f);
@@ -79,6 +103,8 @@ namespace DemonBoss.Magic
{ {
if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool))
npcAnimator.SetBool(animatorBlockingBool, false); npcAnimator.SetBool(animatorBlockingBool, false);
StopOverlayWithFade();
} }
private void FindPlayer(vIFSMBehaviourController fsmBehaviour) private void FindPlayer(vIFSMBehaviourController fsmBehaviour)
@@ -270,5 +296,54 @@ namespace DemonBoss.Magic
prevPoint = newPoint; prevPoint = newPoint;
} }
} }
private void PlayOverlayOnce(Transform owner)
{
if (overlayClip == null) return;
if (npcAnimator == null)
npcAnimator = owner.GetComponent<Animator>();
if (npcAnimator == null) return;
StopOverlayImmediate(); // safety
_overlayGraph = PlayableGraph.Create("ActionOverlay(SpawnTurret)");
_overlayGraph.SetTimeUpdateMode(DirectorUpdateMode.GameTime);
_overlayPlayable = AnimationClipPlayable.Create(_overlayGraph, overlayClip);
_overlayPlayable.SetApplyFootIK(false);
_overlayPlayable.SetApplyPlayableIK(false);
_overlayPlayable.SetSpeed(Mathf.Max(0.0001f, overlaySpeed));
_overlayOutput = AnimationPlayableOutput.Create(_overlayGraph, "AnimOut", npcAnimator);
_overlayOutput.SetSourcePlayable(_overlayPlayable);
_overlayOutput.SetWeight(1f);
_overlayGraph.Play();
_overlayPlaying = true;
float len = overlayClip.length / Mathf.Max(0.0001f, overlaySpeed);
_overlayStopAtTime = Time.time + len;
if (enableDebug) Debug.Log("[SA_SpawnTurretSmart] Overlay clip started via Playables");
}
private void StopOverlayImmediate()
{
if (_overlayGraph.IsValid())
{
_overlayGraph.Stop();
_overlayGraph.Destroy();
}
_overlayPlaying = false;
}
private void StopOverlayWithFade()
{
if (!_overlayPlaying) { StopOverlayImmediate(); return; }
if (_overlayOutput.IsOutputNull() == false) _overlayOutput.SetWeight(0f);
StopOverlayImmediate();
if (enableDebug) Debug.Log("[SA_SpawnTurretSmart] Overlay clip stopped");
}
} }
} }

View File

@@ -1,232 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &115880
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 417168}
- component: {fileID: 3365858}
- component: {fileID: 2323612}
- component: {fileID: 13662188}
- component: {fileID: 7020133711031364094}
- component: {fileID: -8194063383422297065}
- component: {fileID: 1536958584606674588}
- component: {fileID: 8851143338676511289}
m_Layer: 26
m_Name: Turet
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &417168
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.8250632, y: -7.1673625e-17, z: 3.2278929}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8411050209285398990}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3365858
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Mesh: {fileID: 4300002, guid: dee9a5e3bb15d7740bde7911bad2ba90, type: 3}
--- !u!23 &2323612
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 30d0d8732a281d349a5abc48f8171e83, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!136 &13662188
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.58
m_Height: 2.64
m_Direction: 1
m_Center: {x: 0.0078576505, y: 1.0259461, z: -0.052128524}
--- !u!114 &7020133711031364094
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 906d915677721914dbe9708f218f574a, type: 3}
m_Name:
m_EditorClassIdentifier:
muzzle: {fileID: 8411050209285398990}
fireballPrefab: {fileID: 1947871717301538, guid: 9591667a35466484096c6e63785e136c,
type: 3}
fireRate: 6
maxShots: 10
despawnDelay: 10
initialStaggerRange: {x: 0, y: 0.6}
fireRateJitter: 5
aimJitterDegrees: 0
turnSpeed: 0
idleSpinSpeed: 0
aimTolerance: 360
autoFindPlayer: 1
playerTag: Player
maxShootingRange: 50
useShootEffects: 1
muzzleFlashPrefab: {fileID: 1514282284419572, guid: ad259b29cbefa54479b68c8a4960565a,
type: 3}
shootSound: {fileID: 8300000, guid: f58578c3593cfcd40a4b21417e49421a, type: 3}
enableDebug: 1
showGizmos: 1
--- !u!114 &-8194063383422297065
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 06579ea47ceeddd42a05f7720c15b5de, type: 3}
m_Name:
m_EditorClassIdentifier:
maxHealth: 50
currentHealth: 0
destructionEffect: {fileID: 8876690725160639820, guid: c1b3da9fe585c44479dda2cd5c3a7b83,
type: 3}
destructionSound: {fileID: 8300000, guid: 3c1f8b87da670734991b73bf5c30f0af, type: 3}
hitSound: {fileID: 8300000, guid: 0af332725d9792840a4caa29e8991d08, type: 3}
damagedMaterial: {fileID: 2100000, guid: f94eea72c30ac2e45ab55894421ea48c, type: 2}
damagedThreshold: 0.5
enableDebug: 1
--- !u!114 &1536958584606674588
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 605ff11ee57b0c241a82c0c37c40c0bc, type: 3}
m_Name:
m_EditorClassIdentifier:
openCloseEvents: 0
openCloseWindow: 0
selectedToolbar: 0
messagesListeners: []
--- !u!114 &8851143338676511289
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 312629d966d1a40e3874daa93364e1f3, type: 3}
m_Name:
m_EditorClassIdentifier:
targetIcon: {fileID: 8317937118480752073, guid: 82581d6c5dd5945b89394d83db5f4c8b,
type: 3}
--- !u!1 &6534933121460188189
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8411050209285398990}
m_Layer: 26
m_Name: Spawnpoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8411050209285398990
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6534933121460188189}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 3.114, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 417168}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0d20e89d7557c3b41b7ef0e6be87e319
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -134,7 +134,13 @@ MonoBehaviour:
type: 3} type: 3}
shieldDuration: 10 shieldDuration: 10
animatorBlockingBool: IsBlocking animatorBlockingBool: IsBlocking
enableDebug: 1 startClip: {fileID: 7400082, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
keepClip: {fileID: 7400084, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
endClip: {fileID: 7400086, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
clipSpeed: 1
crossfadeTime: 0.12
playEndOnEarlyExit: 1
debugLogs: 0
--- !u!114 &-6568372008305276654 --- !u!114 &-6568372008305276654
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -158,11 +164,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -445 x: -335
y: 30 y: 125
width: 150 width: 150
height: 62 height: 62
positionRect: {x: -445, y: 30} positionRect: {x: -335, y: 125}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 0, g: 1, b: 1, a: 1} nodeColor: {r: 0, g: 1, b: 1, a: 1}
@@ -189,14 +195,14 @@ MonoBehaviour:
parentState: {fileID: -6568372008305276654} parentState: {fileID: -6568372008305276654}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -295 x: -185
y: 60 y: 155
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -295 x: -185
y: 70 y: 165
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -233,6 +239,10 @@ MonoBehaviour:
aboveBossHeight: 20 aboveBossHeight: 20
castDelay: 1.5 castDelay: 1.5
targetTag: Player targetTag: Player
overlayClip: {fileID: 7400088, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
overlaySpeed: 1
overlayFadeIn: 0.1
overlayFadeOut: 0.1
enableDebug: 1 enableDebug: 1
--- !u!114 &-6379838510941931433 --- !u!114 &-6379838510941931433
MonoBehaviour: MonoBehaviour:
@@ -287,11 +297,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -410 x: -300
y: 185 y: 270
width: 150 width: 150
height: 106 height: 106
positionRect: {x: -410, y: 185} positionRect: {x: -300, y: 270}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 0, b: 0, a: 1} nodeColor: {r: 1, g: 0, b: 0, a: 1}
@@ -318,14 +328,14 @@ MonoBehaviour:
parentState: {fileID: -6144582714324757854} parentState: {fileID: -6144582714324757854}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 215 y: 300
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 225 y: 310
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -346,14 +356,14 @@ MonoBehaviour:
parentState: {fileID: -6144582714324757854} parentState: {fileID: -6144582714324757854}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 237 y: 322
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 247 y: 332
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -382,14 +392,14 @@ MonoBehaviour:
parentState: {fileID: -6144582714324757854} parentState: {fileID: -6144582714324757854}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 259 y: 344
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -260 x: -150
y: 269 y: 354
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -540,11 +550,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -130 x: -40
y: 35 y: 130
width: 150 width: 150
height: 62 height: 62
positionRect: {x: -130, y: 35} positionRect: {x: -40, y: 130}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 0.10323405, g: 1, b: 0, a: 1} nodeColor: {r: 0.10323405, g: 1, b: 0, a: 1}
@@ -563,14 +573,14 @@ MonoBehaviour:
parentState: {fileID: -3177478727897100882} parentState: {fileID: -3177478727897100882}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 20 x: 110
y: 65 y: 160
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 20 x: 110
y: 75 y: 170
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -609,11 +619,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 165 x: 230
y: -5 y: 90
width: 150 width: 150
height: 62 height: 62
positionRect: {x: 165, y: -5} positionRect: {x: 230, y: 90}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 0, g: 1, b: 0.004989147, a: 1} nodeColor: {r: 0, g: 1, b: 0.004989147, a: 1}
@@ -625,7 +635,7 @@ MonoBehaviour:
- decisions: - decisions:
- trueValue: 0 - trueValue: 0
decision: {fileID: 7927421991537792917} decision: {fileID: 7927421991537792917}
isValid: 0 isValid: 1
validated: 0 validated: 0
trueState: {fileID: -312774025800194259} trueState: {fileID: -312774025800194259}
falseState: {fileID: 0} falseState: {fileID: 0}
@@ -636,14 +646,14 @@ MonoBehaviour:
parentState: {fileID: -2904979146780567904} parentState: {fileID: -2904979146780567904}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 155 x: 220
y: 25 y: 120
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 315 x: 380
y: 35 y: 130
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -751,6 +761,10 @@ MonoBehaviour:
globalStartAngleRandom: 1 globalStartAngleRandom: 1
perTurretAngleJitter: 10 perTurretAngleJitter: 10
perTurretRadiusJitter: 0.75 perTurretRadiusJitter: 0.75
overlayClip: {fileID: 7400080, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
overlaySpeed: 1
overlayFadeIn: 0.1
overlayFadeOut: 0.1
enableDebug: 1 enableDebug: 1
showGizmos: 1 showGizmos: 1
--- !u!114 &-712571192746352845 --- !u!114 &-712571192746352845
@@ -776,11 +790,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -130 x: -40
y: -20 y: 80
width: 150 width: 150
height: 30 height: 30
positionRect: {x: -130, y: -20} positionRect: {x: -40, y: 80}
rectWidth: 150 rectWidth: 150
editingName: 0 editingName: 0
nodeColor: {r: 0, g: 1, b: 0, a: 1} nodeColor: {r: 0, g: 1, b: 0, a: 1}
@@ -852,11 +866,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -325 x: -225
y: 445 y: 530
width: 150 width: 150
height: 150 height: 150
positionRect: {x: -325, y: 445} positionRect: {x: -225, y: 530}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 0.95132554, b: 0, a: 1} nodeColor: {r: 1, g: 0.95132554, b: 0, a: 1}
@@ -883,14 +897,14 @@ MonoBehaviour:
parentState: {fileID: -312774025800194259} parentState: {fileID: -312774025800194259}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 475 y: 560
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 485 y: 570
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -915,14 +929,14 @@ MonoBehaviour:
parentState: {fileID: -312774025800194259} parentState: {fileID: -312774025800194259}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 497 y: 582
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 507 y: 592
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -955,14 +969,14 @@ MonoBehaviour:
parentState: {fileID: -312774025800194259} parentState: {fileID: -312774025800194259}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -335 x: -235
y: 519 y: 604
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 529 y: 614
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -991,14 +1005,14 @@ MonoBehaviour:
parentState: {fileID: -312774025800194259} parentState: {fileID: -312774025800194259}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 541 y: 626
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 551 y: 636
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1023,14 +1037,14 @@ MonoBehaviour:
parentState: {fileID: -312774025800194259} parentState: {fileID: -312774025800194259}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 563 y: 648
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: -175 x: -75
y: 573 y: 658
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1077,7 +1091,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a5fc604039227434d8b4e63ebc5e74a5, type: 3} m_Script: {fileID: 11500000, guid: a5fc604039227434d8b4e63ebc5e74a5, type: 3}
m_Name: FSM_Demon m_Name: FSM_Demon
m_EditorClassIdentifier: m_EditorClassIdentifier:
selectedNode: {fileID: 4162026404432437805} selectedNode: {fileID: 2986668563461644515}
wantConnection: 0 wantConnection: 0
connectionNode: {fileID: 0} connectionNode: {fileID: 0}
showProperties: 1 showProperties: 1
@@ -1094,7 +1108,7 @@ MonoBehaviour:
- {fileID: 9112689765763526057} - {fileID: 9112689765763526057}
- {fileID: 766956384951898899} - {fileID: 766956384951898899}
- {fileID: 4162026404432437805} - {fileID: 4162026404432437805}
panOffset: {x: -1205, y: 130} panOffset: {x: -600, y: -5}
overNode: 0 overNode: 0
actions: actions:
- {fileID: 0} - {fileID: 0}
@@ -1125,6 +1139,7 @@ MonoBehaviour:
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
- {fileID: 0}
icon: {fileID: 0} icon: {fileID: 0}
--- !u!114 &117913083446138218 --- !u!114 &117913083446138218
MonoBehaviour: MonoBehaviour:
@@ -1178,11 +1193,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 685 x: 745
y: 675 y: 760
width: 150 width: 150
height: 62 height: 62
positionRect: {x: 685, y: 675} positionRect: {x: 745, y: 760}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 1, b: 1, a: 1} nodeColor: {r: 1, g: 1, b: 1, a: 1}
@@ -1201,14 +1216,14 @@ MonoBehaviour:
parentState: {fileID: 762670965814380212} parentState: {fileID: 762670965814380212}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 675 x: 735
y: 705 y: 790
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 835 x: 895
y: 715 y: 800
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1248,11 +1263,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 750 x: 810
y: 125 y: 220
width: 150 width: 150
height: 62 height: 62
positionRect: {x: 750, y: 125} positionRect: {x: 810, y: 220}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 1, b: 1, a: 1} nodeColor: {r: 1, g: 1, b: 1, a: 1}
@@ -1271,14 +1286,14 @@ MonoBehaviour:
parentState: {fileID: 766956384951898899} parentState: {fileID: 766956384951898899}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 740 x: 800
y: 155 y: 250
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 900 x: 960
y: 165 y: 260
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1295,6 +1310,36 @@ MonoBehaviour:
useDecisions: 1 useDecisions: 1
parentGraph: {fileID: 11400000} parentGraph: {fileID: 11400000}
defaultTransition: {fileID: 0} defaultTransition: {fileID: 0}
--- !u!114 &1848419507865303702
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: 57041025c9fb3ad459fbfb7da1224d25, type: 3}
m_Name: Check Health > 75
m_EditorClassIdentifier:
parentFSM: {fileID: 11400000}
editingName: 0
trueRect:
serializedVersion: 2
x: 0
y: 0
width: 10
height: 10
falseRect:
serializedVersion: 2
x: 0
y: 0
width: 10
height: 10
selectedTrue: 0
selectedFalse: 0
checkValue: 2
value: 75
--- !u!114 &1913506767753201076 --- !u!114 &1913506767753201076
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -1367,11 +1412,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 475 x: 535
y: 675 y: 760
width: 150 width: 150
height: 62 height: 62
positionRect: {x: 475, y: 675} positionRect: {x: 535, y: 760}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 1, b: 1, a: 1} nodeColor: {r: 1, g: 1, b: 1, a: 1}
@@ -1390,14 +1435,14 @@ MonoBehaviour:
parentState: {fileID: 2691300596403639167} parentState: {fileID: 2691300596403639167}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 465 x: 525
y: 705 y: 790
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 625 x: 685
y: 715 y: 800
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1437,11 +1482,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 220 x: 280
y: 395 y: 480
width: 150 width: 150
height: 150 height: 150
positionRect: {x: 220, y: 395} positionRect: {x: 280, y: 480}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 0, b: 0, a: 1} nodeColor: {r: 1, g: 0, b: 0, a: 1}
@@ -1464,14 +1509,14 @@ MonoBehaviour:
parentState: {fileID: 2986668563461644515} parentState: {fileID: 2986668563461644515}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 210 x: 270
y: 425 y: 510
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 435 y: 520
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1496,14 +1541,14 @@ MonoBehaviour:
parentState: {fileID: 2986668563461644515} parentState: {fileID: 2986668563461644515}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 210 x: 270
y: 447 y: 532
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 457 y: 542
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1515,12 +1560,12 @@ MonoBehaviour:
scroolView: {x: 0, y: 0, z: 0} scroolView: {x: 0, y: 0, z: 0}
sameTargetCount: 0 sameTargetCount: 0
- decisions: - decisions:
- trueValue: 0
decision: {fileID: -6379838510941931433}
isValid: 0
validated: 0
- trueValue: 1 - trueValue: 1
decision: {fileID: -7938248970223304488} decision: {fileID: -7938248970223304488}
isValid: 0
validated: 0
- trueValue: 0
decision: {fileID: 1848419507865303702}
isValid: 1 isValid: 1
validated: 0 validated: 0
trueState: {fileID: 766956384951898899} trueState: {fileID: 766956384951898899}
@@ -1532,14 +1577,14 @@ MonoBehaviour:
parentState: {fileID: 2986668563461644515} parentState: {fileID: 2986668563461644515}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 469 y: 554
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 479 y: 564
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1551,14 +1596,14 @@ MonoBehaviour:
scroolView: {x: 0, y: 0, z: 0} scroolView: {x: 0, y: 0, z: 0}
sameTargetCount: 0 sameTargetCount: 0
- decisions: - decisions:
- trueValue: 0
decision: {fileID: -6379838510941931433}
isValid: 0
validated: 0
- trueValue: 1 - trueValue: 1
decision: {fileID: 8113515040269600600} decision: {fileID: 8113515040269600600}
isValid: 1 isValid: 1
validated: 0 validated: 0
- trueValue: 0
decision: {fileID: 1848419507865303702}
isValid: 1
validated: 0
trueState: {fileID: 9112689765763526057} trueState: {fileID: 9112689765763526057}
falseState: {fileID: 0} falseState: {fileID: 0}
muteTrue: 0 muteTrue: 0
@@ -1568,14 +1613,14 @@ MonoBehaviour:
parentState: {fileID: 2986668563461644515} parentState: {fileID: 2986668563461644515}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 491 y: 576
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 501 y: 586
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1604,14 +1649,14 @@ MonoBehaviour:
parentState: {fileID: 2986668563461644515} parentState: {fileID: 2986668563461644515}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 513 y: 598
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 370 x: 430
y: 523 y: 608
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0
@@ -1708,14 +1753,14 @@ MonoBehaviour:
canEditName: 1 canEditName: 1
canEditColor: 1 canEditColor: 1
isOpen: 0 isOpen: 0
isSelected: 1 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 745 x: 805
y: 340 y: 425
width: 150 width: 150
height: 30 height: 30
positionRect: {x: 745, y: 340} positionRect: {x: 805, y: 425}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 1, b: 1, a: 1} nodeColor: {r: 1, g: 1, b: 1, a: 1}
@@ -1734,14 +1779,14 @@ MonoBehaviour:
parentState: {fileID: 4162026404432437805} parentState: {fileID: 4162026404432437805}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 820 x: 880
y: 355 y: 440
width: 0 width: 0
height: 0 height: 0
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 820 x: 880
y: 355 y: 440
width: 0 width: 0
height: 0 height: 0
selectedTrue: 0 selectedTrue: 0
@@ -1907,11 +1952,11 @@ MonoBehaviour:
isSelected: 0 isSelected: 0
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 755 x: 815
y: -50 y: 65
width: 150 width: 150
height: 62 height: 62
positionRect: {x: 755, y: -50} positionRect: {x: 815, y: 65}
rectWidth: 150 rectWidth: 150
editingName: 1 editingName: 1
nodeColor: {r: 1, g: 1, b: 1, a: 1} nodeColor: {r: 1, g: 1, b: 1, a: 1}
@@ -1930,14 +1975,14 @@ MonoBehaviour:
parentState: {fileID: 9112689765763526057} parentState: {fileID: 9112689765763526057}
trueRect: trueRect:
serializedVersion: 2 serializedVersion: 2
x: 745 x: 805
y: -20 y: 95
width: 10 width: 10
height: 10 height: 10
falseRect: falseRect:
serializedVersion: 2 serializedVersion: 2
x: 905 x: 965
y: -10 y: 105
width: 10 width: 10
height: 10 height: 10
selectedTrue: 0 selectedTrue: 0

View File

@@ -134,7 +134,13 @@ MonoBehaviour:
type: 3} type: 3}
shieldDuration: 10 shieldDuration: 10
animatorBlockingBool: IsBlocking animatorBlockingBool: IsBlocking
enableDebug: 1 startClip: {fileID: 0}
keepClip: {fileID: 0}
endClip: {fileID: 0}
clipSpeed: 1
crossfadeTime: 0.12
playEndOnEarlyExit: 1
debugLogs: 0
--- !u!114 &-7016508256595524775 --- !u!114 &-7016508256595524775
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -206,7 +212,7 @@ MonoBehaviour:
- decisions: - decisions:
- trueValue: 1 - trueValue: 1
decision: {fileID: 5430119601860107240} decision: {fileID: 5430119601860107240}
isValid: 1 isValid: 0
validated: 0 validated: 0
- trueValue: 1 - trueValue: 1
decision: {fileID: 117913083446138218} decision: {fileID: 117913083446138218}
@@ -260,13 +266,14 @@ MonoBehaviour:
executionType: -1 executionType: -1
editingName: 0 editingName: 0
meteorPrefab: {fileID: 0} meteorPrefab: {fileID: 0}
decalPrefab: {fileID: 1743301284569550, guid: ad2ab49d0a2a17148bd51c93d977bdbc, behindBossDistance: 3
type: 3} aboveBossHeight: 8
spawnHeight: 40
castDelay: 1.5 castDelay: 1.5
groundMask: targetTag: Player
serializedVersion: 2 overlayClip: {fileID: 0}
m_Bits: 4294967295 overlaySpeed: 1
overlayFadeIn: 0.1
overlayFadeOut: 0.1
enableDebug: 1 enableDebug: 1
--- !u!114 &-6379838510941931433 --- !u!114 &-6379838510941931433
MonoBehaviour: MonoBehaviour:
@@ -659,7 +666,7 @@ MonoBehaviour:
- decisions: - decisions:
- trueValue: 0 - trueValue: 0
decision: {fileID: 7927421991537792917} decision: {fileID: 7927421991537792917}
isValid: 1 isValid: 0
validated: 0 validated: 0
trueState: {fileID: -312774025800194259} trueState: {fileID: -312774025800194259}
falseState: {fileID: 0} falseState: {fileID: 0}
@@ -778,8 +785,17 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
m_Bits: 4294967295 m_Bits: 4294967295
animatorBlockingBool: IsBlocking animatorBlockingBool: IsBlocking
backPreferenceMultiplier: 2 perTurretAdjustmentTries: 10
maxSpawnAttempts: 12 maxAngleAdjust: 25
maxRadiusAdjust: 1
minSeparationBetweenTurrets: 1.5
globalStartAngleRandom: 1
perTurretAngleJitter: 10
perTurretRadiusJitter: 0.75
overlayClip: {fileID: 0}
overlaySpeed: 1
overlayFadeIn: 0.1
overlayFadeOut: 0.1
enableDebug: 1 enableDebug: 1
showGizmos: 1 showGizmos: 1
--- !u!114 &-712571192746352845 --- !u!114 &-712571192746352845

View File

@@ -1133,10 +1133,10 @@ MonoBehaviour:
openCloseWindow: 1 openCloseWindow: 1
selectedToolbar: 0 selectedToolbar: 0
_isDead: 0 _isDead: 0
_currentHealth: 225 _currentHealth: 250
isImmortal: 0 isImmortal: 0
fillHealthOnStart: 1 fillHealthOnStart: 1
maxHealth: 225 maxHealth: 250
healthRecovery: 0 healthRecovery: 0
healthRecoveryDelay: 0 healthRecoveryDelay: 0
currentHealthRecoveryDelay: 0 currentHealthRecoveryDelay: 0

View File

@@ -4629,12 +4629,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
openCloseEvents: 0 openCloseEvents: 0
openCloseWindow: 1 openCloseWindow: 1
selectedToolbar: 5 selectedToolbar: 0
_isDead: 0 _isDead: 0
_currentHealth: 100 _currentHealth: 300
isImmortal: 0 isImmortal: 0
fillHealthOnStart: 1 fillHealthOnStart: 1
maxHealth: 100 maxHealth: 300
healthRecovery: 0 healthRecovery: 0
healthRecoveryDelay: 0 healthRecoveryDelay: 0
currentHealthRecoveryDelay: 0 currentHealthRecoveryDelay: 0

View File

@@ -0,0 +1,48 @@
using UnityEngine;
public class RandomizeAnimatorIntWeighted : StateMachineBehaviour
{
[Header("Animator parameter name (must be int type)")]
public string parameterName = "Randomized";
[Header("Weights for each slot (index = int value)")]
public int[] weights = { 35, 35, 15, 15 };
// Example: {70, 20, 10} means index 0 has 70% chance, 1 has 20%, 2 has 10%
// Called when the animator enters this state
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
if (weights == null || weights.Length == 0)
{
return;
}
int total = 0;
foreach (int w in weights)
{
total += Mathf.Max(0, w);
}
if (total <= 0)
{
return;
}
int randomValue = Random.Range(0, total);
int cumulative = 0;
int chosenIndex = 0;
for (int i = 0; i < weights.Length; i++)
{
cumulative += Mathf.Max(0, weights[i]);
if (randomValue < cumulative)
{
chosenIndex = i;
break;
}
}
animator.SetFloat(parameterName, (float)chosenIndex);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d20bc7e4150a82f4ba03191390f832f8

View File

@@ -1,6 +1,6 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3625974168367842241 --- !u!114 &-4038453504596325930
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 11 m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}

View File

@@ -134,7 +134,7 @@ Material:
- _SpecColor: {r: 0.625, g: 0.7206896, b: 1, a: 1} - _SpecColor: {r: 0.625, g: 0.7206896, b: 1, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
m_AllowLocking: 1 m_AllowLocking: 1
--- !u!114 &1114542027491659141 --- !u!114 &5618362483761361914
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 11 m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}

View File

@@ -129,7 +129,7 @@ Material:
- _SpecColor: {r: 0.8602941, g: 0.89594316, b: 1, a: 1} - _SpecColor: {r: 0.8602941, g: 0.89594316, b: 1, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
m_AllowLocking: 1 m_AllowLocking: 1
--- !u!114 &3248454389675638324 --- !u!114 &6956751399976171411
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 11 m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}

View File

@@ -1,6 +1,6 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3687339755134204407 --- !u!114 &-7691346883607124648
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 11 m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}

View File

@@ -1,6 +1,6 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7174681138944601437 --- !u!114 &-4499385966301197659
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 11 m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}

View File

@@ -1,5 +1,18 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1019187969406195858
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 8 serializedVersion: 8

View File

@@ -105633,13 +105633,13 @@ MonoBehaviour:
triggerDieBehaviour: 0 triggerDieBehaviour: 0
m_ignoreTriggers: 1 m_ignoreTriggers: 1
useAnimationBasedRotation: 0 useAnimationBasedRotation: 0
strafeRollInputThreshold: 0.3
strafeRollForwardAnim: Roll_Forward strafeRollForwardAnim: Roll_Forward
strafeRollBackwardAnim: Roll_Backward strafeRollBackwardAnim: Roll_Backward
strafeRollLeftAnim: Roll_Left strafeRollLeftAnim: Roll_Left
strafeRollRightAnim: Roll_Right strafeRollRightAnim: Roll_Right
strafeRollLeftCorrectionAngle: 70.6 strafeRollLeftCorrectionAngle: 70.6
strafeRollRightCorrectionAngle: 70 strafeRollRightCorrectionAngle: 70
strafeRollBackwardCorrectionAngle: 0
--- !u!114 &9202663235077955828 --- !u!114 &9202663235077955828
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -22,6 +22,28 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -2074274001345678418} m_DefaultState: {fileID: -2074274001345678418}
--- !u!1101 &-9191327555805306621
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1102861933717182418}
m_Solo: 0
m_Mute: 1
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.6808511
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-9143515860420698953 --- !u!1102 &-9143515860420698953
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@@ -738,7 +760,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9c0e8cc669ad24ae3bcdae73fa4c003b, type: 3} m_Script: {fileID: 11500000, guid: 9c0e8cc669ad24ae3bcdae73fa4c003b, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
startDamage: 0.3 startDamage: 0.2
endDamage: 0.4 endDamage: 0.4
damageMultiplier: 0 damageMultiplier: 0
recoilID: 1 recoilID: 1
@@ -750,17 +772,16 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 1 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.5
unlockRotationTime: 0.5 unlockRotationTime: 0.5
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5
positionLerpSpeed: 2 positionLerpSpeed: 2
stoppingDistance: 1.2 stoppingDistance: 1.2
useComboTimingWindow: 1 useComboTimingWindow: 1
comboWindowStartTime: 0.5 comboWindowStartTime: 0.7
comboWindowDuration: 0.2 comboWindowDuration: 0.3
comboWindowTimeScale: 0.3 comboWindowTimeScale: 0.4
useAttackTimeScale: 0 useAttackTimeScale: 0
maxTargetDistance: 3 maxTargetDistance: 3
lowHealthTh: 10 lowHealthTh: 10
@@ -2715,7 +2736,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9c0e8cc669ad24ae3bcdae73fa4c003b, type: 3} m_Script: {fileID: 11500000, guid: 9c0e8cc669ad24ae3bcdae73fa4c003b, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
startDamage: 0.4 startDamage: 0.3
endDamage: 0.5 endDamage: 0.5
damageMultiplier: 2 damageMultiplier: 2
recoilID: 2 recoilID: 2
@@ -2727,8 +2748,7 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.3
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -2736,8 +2756,8 @@ MonoBehaviour:
stoppingDistance: 1.2 stoppingDistance: 1.2
useComboTimingWindow: 1 useComboTimingWindow: 1
comboWindowStartTime: 0.6 comboWindowStartTime: 0.6
comboWindowDuration: 0.2 comboWindowDuration: 0.3
comboWindowTimeScale: 0.3 comboWindowTimeScale: 0.4
useAttackTimeScale: 1 useAttackTimeScale: 1
maxTargetDistance: 3 maxTargetDistance: 3
lowHealthTh: 30 lowHealthTh: 30
@@ -4545,6 +4565,7 @@ MonoBehaviour:
tags: tags:
- IsRolling - IsRolling
- IgnoreIK - IgnoreIK
- LockRotation
--- !u!206 &-2581317115762456654 --- !u!206 &-2581317115762456654
BlendTree: BlendTree:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -4604,6 +4625,24 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!114 &-2385230577109390366
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: 5f3b04f29aa5b134b99e94c78b296dcf, type: 3}
m_Name:
m_EditorClassIdentifier:
stateInfos: []
debug: 0
tags:
- tagName: Attack
tagType: 3
normalizedTime: {x: 0.1, y: 0.8}
--- !u!206 &-2382170802819547054 --- !u!206 &-2382170802819547054
BlendTree: BlendTree:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -4832,6 +4871,28 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1101 &-1951197489304851175
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -262143111545491946}
m_Solo: 0
m_Mute: 1
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.99222386
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-1890823228988152332 --- !u!1102 &-1890823228988152332
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@@ -5154,8 +5215,7 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.3
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -5163,8 +5223,8 @@ MonoBehaviour:
stoppingDistance: 1.2 stoppingDistance: 1.2
useComboTimingWindow: 1 useComboTimingWindow: 1
comboWindowStartTime: 0.6 comboWindowStartTime: 0.6
comboWindowDuration: 0.2 comboWindowDuration: 0.3
comboWindowTimeScale: 0.3 comboWindowTimeScale: 0.4
useAttackTimeScale: 1 useAttackTimeScale: 1
maxTargetDistance: 3 maxTargetDistance: 3
lowHealthTh: 10 lowHealthTh: 10
@@ -5676,8 +5736,7 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.5
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 0 lerpPositionTowardsTarget: 0
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -6086,6 +6145,36 @@ MonoBehaviour:
stateInfos: [] stateInfos: []
tags: tags:
- CustomAction - CustomAction
--- !u!1102 &-262143111545491946
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A1
m_Speed: 1.4
m_CycleOffset: 0
m_Transitions:
- {fileID: 3665975024854504718}
- {fileID: -9191327555805306621}
m_StateMachineBehaviours:
- {fileID: -2385230577109390366}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 6399467581995111687, guid: fb07a934dbc1969468121112ca048964,
type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1109 &-164828508768324166 --- !u!1109 &-164828508768324166
AnimatorTransition: AnimatorTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -26469,15 +26558,14 @@ MonoBehaviour:
ignoreDefense: 1 ignoreDefense: 1
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 1
resetTriggerBeforeTime: 0.6
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5
positionLerpSpeed: 2 positionLerpSpeed: 2
stoppingDistance: 1.2 stoppingDistance: 1.2
useComboTimingWindow: 0 useComboTimingWindow: 0
comboWindowStartTime: 0.9 comboWindowStartTime: 1
comboWindowDuration: 0.5 comboWindowDuration: 0.5
comboWindowTimeScale: 0.3 comboWindowTimeScale: 0.3
useAttackTimeScale: 0 useAttackTimeScale: 0
@@ -26488,7 +26576,7 @@ MonoBehaviour:
attackTimeScaleEnd: 0.58 attackTimeScaleEnd: 0.58
rotatePlayerTowardsTarget: 1 rotatePlayerTowardsTarget: 1
degreeThreshold: 100 degreeThreshold: 100
debug: 0 debug: 1
--- !u!1101 &542493047717198179 --- !u!1101 &542493047717198179
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -29503,10 +29591,10 @@ AnimatorStateTransition:
m_Mute: 0 m_Mute: 0
m_IsExit: 0 m_IsExit: 0
serializedVersion: 3 serializedVersion: 3
m_TransitionDuration: 0.23156369 m_TransitionDuration: 0.17750603
m_TransitionOffset: 0.05401399 m_TransitionOffset: 0.12662058
m_ExitTime: 0.7634842 m_ExitTime: 0.8490755
m_HasExitTime: 1 m_HasExitTime: 0
m_HasFixedDuration: 0 m_HasFixedDuration: 0
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
@@ -33828,10 +33916,10 @@ AnimatorStateTransition:
m_Mute: 0 m_Mute: 0
m_IsExit: 0 m_IsExit: 0
serializedVersion: 3 serializedVersion: 3
m_TransitionDuration: 0.09166676 m_TransitionDuration: 0.15347171
m_TransitionOffset: 0.012494694 m_TransitionOffset: 0.008216396
m_ExitTime: 0.617021 m_ExitTime: 0.8888667
m_HasExitTime: 1 m_HasExitTime: 0
m_HasFixedDuration: 1 m_HasFixedDuration: 1
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
@@ -36601,12 +36689,13 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: A m_Name: A0
m_Speed: 1.3 m_Speed: 1.3
m_CycleOffset: 0 m_CycleOffset: 0
m_Transitions: m_Transitions:
- {fileID: 1101963861138605418} - {fileID: 1101963861138605418}
- {fileID: 1101255493625229458} - {fileID: 1101255493625229458}
- {fileID: -1951197489304851175}
m_StateMachineBehaviours: m_StateMachineBehaviours:
- {fileID: 114405241802589726} - {fileID: 114405241802589726}
- {fileID: 114667135945300734} - {fileID: 114667135945300734}
@@ -40730,30 +40819,33 @@ AnimatorStateMachine:
m_ChildStates: m_ChildStates:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102466317250516052} m_State: {fileID: 1102466317250516052}
m_Position: {x: 240, y: 120, z: 0} m_Position: {x: 170, y: 140, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102861933717182418} m_State: {fileID: 1102861933717182418}
m_Position: {x: 240, y: 50, z: 0} m_Position: {x: 170, y: 20, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102186001672383516} m_State: {fileID: 1102186001672383516}
m_Position: {x: 240, y: -10, z: 0} m_Position: {x: 400, y: -50, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 2206263804988382436} m_State: {fileID: 2206263804988382436}
m_Position: {x: 240, y: -120, z: 0} m_Position: {x: 390, y: -140, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -493156934175870501} m_State: {fileID: -493156934175870501}
m_Position: {x: -30, y: -130, z: 0} m_Position: {x: -30, y: -130, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -3801079781883241350} m_State: {fileID: -3801079781883241350}
m_Position: {x: 270, y: -330, z: 0} m_Position: {x: 270, y: -330, z: 0}
- serializedVersion: 1
m_State: {fileID: -262143111545491946}
m_Position: {x: 440, y: 150, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
m_StateMachineTransitions: {} m_StateMachineTransitions: {}
m_StateMachineBehaviours: [] m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 48, y: 60, z: 0} m_AnyStatePosition: {x: 10, y: 60, z: 0}
m_EntryPosition: {x: 30, y: 120, z: 0} m_EntryPosition: {x: -30, y: 140, z: 0}
m_ExitPosition: {x: 528, y: 60, z: 0} m_ExitPosition: {x: 680, y: 40, z: 0}
m_ParentStateMachinePosition: {x: 710, y: -50, z: 0} m_ParentStateMachinePosition: {x: 710, y: -50, z: 0}
m_DefaultState: {fileID: 1102466317250516052} m_DefaultState: {fileID: 1102466317250516052}
--- !u!1107 &1107517961391708756 --- !u!1107 &1107517961391708756
@@ -46053,6 +46145,28 @@ MonoBehaviour:
- tagName: LockRotation - tagName: LockRotation
tagType: 3 tagType: 3
normalizedTime: {x: 0.35, y: 0.65} normalizedTime: {x: 0.35, y: 0.65}
--- !u!1101 &3665975024854504718
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.8717949
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!114 &3671708723907702589 --- !u!114 &3671708723907702589
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -47866,8 +47980,7 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.5
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 0 lerpPositionTowardsTarget: 0
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -48021,8 +48134,7 @@ MonoBehaviour:
ignoreDefense: 0 ignoreDefense: 0
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 1 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.5
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 0 lerpPositionTowardsTarget: 0
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -48424,8 +48536,7 @@ MonoBehaviour:
ignoreDefense: 1 ignoreDefense: 1
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.6
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5
@@ -48772,10 +48883,10 @@ AnimatorStateTransition:
m_Mute: 0 m_Mute: 0
m_IsExit: 0 m_IsExit: 0
serializedVersion: 3 serializedVersion: 3
m_TransitionDuration: 0.33513224 m_TransitionDuration: 0.26323152
m_TransitionOffset: 0 m_TransitionOffset: 0.018871611
m_ExitTime: 0.8191499 m_ExitTime: 0.8424806
m_HasExitTime: 1 m_HasExitTime: 0
m_HasFixedDuration: 1 m_HasFixedDuration: 1
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
@@ -49313,8 +49424,7 @@ MonoBehaviour:
ignoreDefense: 1 ignoreDefense: 1
activeRagdoll: 0 activeRagdoll: 0
senselessTime: 0 senselessTime: 0
resetAttackTrigger: 0 blockInputBeforeTime: 0.5
resetTriggerBeforeTime: 0.6
unlockRotationTime: 0.7 unlockRotationTime: 0.7
lerpPositionTowardsTarget: 1 lerpPositionTowardsTarget: 1
maxLerpDistance: 3.5 maxLerpDistance: 3.5

View File

@@ -9838,7 +9838,6 @@ GameObject:
- component: {fileID: 7898212980114005163} - component: {fileID: 7898212980114005163}
- component: {fileID: 8020189233111417037} - component: {fileID: 8020189233111417037}
- component: {fileID: 8020706684658151899} - component: {fileID: 8020706684658151899}
- component: {fileID: 7789765392435096873}
m_Layer: 0 m_Layer: 0
m_Name: Particles m_Name: Particles
m_TagString: Untagged m_TagString: Untagged
@@ -14484,21 +14483,6 @@ ParticleSystemRenderer:
m_MeshWeighting2: 1 m_MeshWeighting2: 1
m_MeshWeighting3: 1 m_MeshWeighting3: 1
m_MaskInteraction: 0 m_MaskInteraction: 0
--- !u!114 &7789765392435096873
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7893307381764779335}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dded6759b4b430e4283cf015251490b7, type: 3}
m_Name:
m_EditorClassIdentifier:
target: {fileID: 0}
Force: 1
DistanceRelative: 0
--- !u!1 &7893317824759632779 --- !u!1 &7893317824759632779
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -14528,6 +14528,26 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: GhostDemon value: GhostDemon
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 974380812503253259, guid: fe3f8cbdaa5d03147a0de1c74712d32b,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1481547778589526557, guid: fe3f8cbdaa5d03147a0de1c74712d32b,
type: 3}
propertyPath: _maxAttackCount
value: 5
objectReference: {fileID: 0}
- target: {fileID: 1481547778589526557, guid: fe3f8cbdaa5d03147a0de1c74712d32b,
type: 3}
propertyPath: _minAttackCount
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1481547778589526557, guid: fe3f8cbdaa5d03147a0de1c74712d32b,
type: 3}
propertyPath: selectedToolbar
value: 9
objectReference: {fileID: 0}
- target: {fileID: 1564533674011589205, guid: fe3f8cbdaa5d03147a0de1c74712d32b, - target: {fileID: 1564533674011589205, guid: fe3f8cbdaa5d03147a0de1c74712d32b,
type: 3} type: 3}
propertyPath: m_AnchorMax.x propertyPath: m_AnchorMax.x
@@ -16396,6 +16416,11 @@ PrefabInstance:
propertyPath: m_Layer propertyPath: m_Layer
value: 5 value: 5
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1385765897516864307, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: openCloseWindow
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1494204689157949844, guid: 851e8e61247888340bdec90fc8aa37f5, - target: {fileID: 1494204689157949844, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3} type: 3}
propertyPath: m_Layer propertyPath: m_Layer
@@ -16501,6 +16526,11 @@ PrefabInstance:
propertyPath: m_SizeDelta.y propertyPath: m_SizeDelta.y
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1979772587506359731, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.00030639363
objectReference: {fileID: 0}
- target: {fileID: 1979772587738893350, guid: 851e8e61247888340bdec90fc8aa37f5, - target: {fileID: 1979772587738893350, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3} type: 3}
propertyPath: m_Enabled propertyPath: m_Enabled
@@ -17420,7 +17450,17 @@ PrefabInstance:
- target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5, - target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3} type: 3}
propertyPath: strafeRollLeftCorrectionAngle propertyPath: strafeRollLeftCorrectionAngle
value: 70.6 value: -20
objectReference: {fileID: 0}
- target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: strafeRollRightCorrectionAngle
value: -10
objectReference: {fileID: 0}
- target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: strafeRollBackwardCorrectionAngle
value: 180
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5, - target: {fileID: 4704300330561169846, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3} type: 3}
@@ -23177,6 +23217,12 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 05db168aa73c6d7489b4930e8ac0f2ce, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 05db168aa73c6d7489b4930e8ac0f2ce, type: 3}
--- !u!1 &1776088664 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1154969794063037242, guid: ca5617ade2be349c3826daac1e6fdcf2,
type: 3}
m_PrefabInstance: {fileID: 1993521574}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1785581995 --- !u!1 &1785581995
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -24305,7 +24351,11 @@ PrefabInstance:
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 1154969794063037242, guid: ca5617ade2be349c3826daac1e6fdcf2,
type: 3}
insertIndex: -1
addedObject: {fileID: 1993521576}
m_SourcePrefab: {fileID: 100100000, guid: ca5617ade2be349c3826daac1e6fdcf2, type: 3} m_SourcePrefab: {fileID: 100100000, guid: ca5617ade2be349c3826daac1e6fdcf2, type: 3}
--- !u!4 &1993521575 stripped --- !u!4 &1993521575 stripped
Transform: Transform:
@@ -24313,6 +24363,21 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1993521574} m_PrefabInstance: {fileID: 1993521574}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &1993521576
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1776088664}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5547fefaea58c4174adccc95d48c54ae, type: 3}
m_Name:
m_EditorClassIdentifier:
m_OnTimeScaleChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &2002250978 --- !u!1 &2002250978
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -81,8 +81,11 @@ namespace Beyond
private PlayerAttribute brightnessAttribute; private PlayerAttribute brightnessAttribute;
private PlayerAttribute maturityAttribute; private PlayerAttribute maturityAttribute;
private MagicAttacks m_magicAttacks; private MagicAttacks m_magicAttacks;
private bMeleeCombatInput m_meleeCombatInput;
public MagicAttacks Magic => m_magicAttacks; public MagicAttacks Magic => m_magicAttacks;
public bMeleeCombatInput MeleeCombatInput => m_meleeCombatInput;
public PlayerAttribute MaturityAttribute public PlayerAttribute MaturityAttribute
{ {
get get
@@ -186,6 +189,7 @@ namespace Beyond
m_meleeManager = GetComponent<vMeleeManager>(); m_meleeManager = GetComponent<vMeleeManager>();
m_magicAttacks = GetComponent<MagicAttacks>(); m_magicAttacks = GetComponent<MagicAttacks>();
m_autoTargetting = GetComponent<AutoTargetting>(); m_autoTargetting = GetComponent<AutoTargetting>();
m_meleeCombatInput = GetComponent<bMeleeCombatInput>();
} }
@@ -867,10 +871,10 @@ namespace Beyond
public void PlaySingleSound(AudioClip clipToPlay, bool destroyAfterPlaying = true) public void PlaySingleSound(AudioClip clipToPlay, bool destroyAfterPlaying = true)
{ {
// Opcjonalne opóŸnienie na starcie poziomu, aby unikn¹æ "spamowania" dŸwiêkami // Opcjonalne op<EFBFBD>nienie na starcie poziomu, aby unikn<EFBFBD><EFBFBD> "spamowania" d<EFBFBD>wi<EFBFBD>kami
if (Time.timeSinceLevelLoad < 0.5f && clipToPlay != null) if (Time.timeSinceLevelLoad < 0.5f && clipToPlay != null)
{ {
// Mo¿esz chcieæ to odkomentowaæ, jeœli dŸwiêki na starcie s¹ problemem // Mo<EFBFBD>esz chcie<EFBFBD> to odkomentowa<EFBFBD>, je<EFBFBD>li d<EFBFBD>wi<EFBFBD>ki na starcie s<EFBFBD> problemem
// return; // return;
} }
@@ -885,28 +889,28 @@ namespace Beyond
return; return;
} }
// Instancjonowanie prefabu dŸwiêkowego // Instancjonowanie prefabu d<EFBFBD>wi<EFBFBD>kowego
// Upewnij siê, ¿e prefab 'audioSource' ma komponent AudioSource // Upewnij si<EFBFBD>, <EFBFBD>e prefab 'audioSource' ma komponent AudioSource
GameObject audioObjectInstance = Instantiate(this.audioSource, transform.position, transform.rotation); GameObject audioObjectInstance = Instantiate(this.audioSource, transform.position, transform.rotation);
AudioSource sourceComponent = audioObjectInstance.GetComponent<AudioSource>(); AudioSource sourceComponent = audioObjectInstance.GetComponent<AudioSource>();
if (sourceComponent != null) if (sourceComponent != null)
{ {
// PlayOneShot jest dobre dla efektów, nie przerywa innych dŸwiêków na tym samym source, // PlayOneShot jest dobre dla efekt<EFBFBD>w, nie przerywa innych d<EFBFBD>wi<EFBFBD>k<EFBFBD>w na tym samym source,
// jeœli s¹ one odtwarzane przez .Play() i nie u¿ywaj¹ tego samego kana³u. // je<EFBFBD>li s<EFBFBD> one odtwarzane przez .Play() i nie u<EFBFBD>ywaj<EFBFBD> tego samego kana<EFBFBD>u.
sourceComponent.PlayOneShot(clipToPlay); sourceComponent.PlayOneShot(clipToPlay);
if (destroyAfterPlaying) if (destroyAfterPlaying)
{ {
// Niszczymy obiekt GameObject zawieraj¹cy AudioSource po zakoñczeniu odtwarzania klipu. // Niszczymy obiekt GameObject zawieraj<EFBFBD>cy AudioSource po zako<EFBFBD>czeniu odtwarzania klipu.
// Dodajemy ma³y bufor czasowy, aby upewniæ siê, ¿e dŸwiêk zd¹¿y siê odtworzyæ w ca³oœci. // Dodajemy ma<EFBFBD>y bufor czasowy, aby upewni<EFBFBD> si<EFBFBD>, <EFBFBD>e d<EFBFBD>wi<EFBFBD>k zd<EFBFBD><EFBFBD>y si<EFBFBD> odtworzy<EFBFBD> w ca<EFBFBD>o<EFBFBD>ci.
Destroy(audioObjectInstance, clipToPlay.length + 0.1f); Destroy(audioObjectInstance, clipToPlay.length + 0.1f);
} }
} }
else else
{ {
Debug.LogWarning("The instantiated 'audioSource' prefab (from Player.cs) does not have an AudioSource component. Destroying instance."); Debug.LogWarning("The instantiated 'audioSource' prefab (from Player.cs) does not have an AudioSource component. Destroying instance.");
Destroy(audioObjectInstance); // Posprz¹taj, jeœli coœ posz³o nie tak Destroy(audioObjectInstance); // Posprz<EFBFBD>taj, je<EFBFBD>li co<EFBFBD> posz<EFBFBD>o nie tak
} }
} }

View File

@@ -13,6 +13,11 @@ namespace Invector.vMelee
public class bMeleeAttackControl : StateMachineBehaviour public class bMeleeAttackControl : StateMachineBehaviour
{ {
// --- MODIFICATION: Static variable to track the currently active attack state ---
private static int activeAttackInstanceId = 0;
private int myAttackInstanceId;
// --- END MODIFICATION ---
[Header("Damage Window")] [Header("Damage Window")]
[Tooltip("NormalizedTime of Active Damage")] [Tooltip("NormalizedTime of Active Damage")]
public float startDamage = 0.05f; public float startDamage = 0.05f;
@@ -37,10 +42,8 @@ namespace Invector.vMelee
public float senselessTime; public float senselessTime;
[Header("Attack Flow")] [Header("Attack Flow")]
[Tooltip("Check true in the last attack of your combo to reset the FSM attack triggers.")] [Tooltip("Normalized time point to start allowing the next attack input.")]
public bool resetAttackTrigger; public float blockInputBeforeTime = 0.5f;
[Tooltip("Normalized time point to reset attack triggers. (Used only if Combo Timing Window is disabled)")]
public float resetTriggerBeforeTime = 0.5f;
[Header("Combo & Movement")] [Header("Combo & Movement")]
[Tooltip("Normalized time to unlock rotation, allowing the player to aim the next attack in a combo. Set to 1 to disable.")] [Tooltip("Normalized time to unlock rotation, allowing the player to aim the next attack in a combo. Set to 1 to disable.")]
@@ -62,7 +65,6 @@ namespace Invector.vMelee
[Tooltip("How close the character should get to the target.")] [Tooltip("How close the character should get to the target.")]
public float stoppingDistance = 1.2f; public float stoppingDistance = 1.2f;
// --- MODIFIED: Switched to a real-time duration model ---
[Header("Combo Timing Window")] [Header("Combo Timing Window")]
[Tooltip("Enable a special timing window at the end of the attack to chain the next combo hit.")] [Tooltip("Enable a special timing window at the end of the attack to chain the next combo hit.")]
public bool useComboTimingWindow = false; public bool useComboTimingWindow = false;
@@ -76,7 +78,6 @@ namespace Invector.vMelee
[Tooltip("The time scale to use during the combo window for a slow-motion effect.")] [Tooltip("The time scale to use during the combo window for a slow-motion effect.")]
public float comboWindowTimeScale = 0.1f; public float comboWindowTimeScale = 0.1f;
// --- END MODIFICATION ---
[Header("Slow Motion Settings")] [Header("Slow Motion Settings")]
[Tooltip("Enable slow motion effect during this attack based on conditions below.")] [Tooltip("Enable slow motion effect during this attack based on conditions below.")]
@@ -104,11 +105,16 @@ namespace Invector.vMelee
private bThirdPersonController _characterController; private bThirdPersonController _characterController;
private bool _isRotationLockedByThis; private bool _isRotationLockedByThis;
private bool _comboWindowEffectTriggered; // --- NEW ---: Tracks if the slow-mo effect has been fired. private bool _comboWindowEffectTriggered;
private Animator _animator; private Animator _animator;
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{ {
if (_animator == null) _animator = animator; if (_animator == null) _animator = animator;
// --- MODIFICATION: Assign a unique ID to this state instance ---
myAttackInstanceId = ++activeAttackInstanceId;
// --- END MODIFICATION ---
mFighter = animator.GetComponent<vIAttackListener>(); mFighter = animator.GetComponent<vIAttackListener>();
_characterController = animator.GetComponent<bThirdPersonController>(); _characterController = animator.GetComponent<bThirdPersonController>();
@@ -122,7 +128,7 @@ namespace Invector.vMelee
isAttacking = true; isAttacking = true;
isActive = false; isActive = false;
m_hasScaledTime = false; m_hasScaledTime = false;
_comboWindowEffectTriggered = false; // --- NEW ---: Reset the flag on enter. _comboWindowEffectTriggered = false;
if (_characterController != null) if (_characterController != null)
{ {
@@ -134,12 +140,41 @@ namespace Invector.vMelee
mFighter.OnEnableAttack(); mFighter.OnEnableAttack();
if (debug) if (debug)
Debug.Log($"({damageType}) OnStateEnter. The trigger that started this state has been consumed by the Animator."); Debug.Log($"({damageType}, ID: {myAttackInstanceId}) OnStateEnter. Now the authoritative state.");
// --- MODIFICATION: Immediately block input on enter ---
// This ensures the new state takes control right away.
BlockAttack(true);
// --- END MODIFICATION ---
if (attackTimeScaleStart < 0f) attackTimeScaleStart = startDamage; if (attackTimeScaleStart < 0f) attackTimeScaleStart = startDamage;
if (attackTimeScaleEnd < 0f) attackTimeScaleEnd = endDamage; if (attackTimeScaleEnd < 0f) attackTimeScaleEnd = endDamage;
} }
void BlockAttack(bool block)
{
// --- MODIFICATION: Only allow the authoritative state to change the lock ---
if (myAttackInstanceId != activeAttackInstanceId)
{
if(debug) Debug.Log($"({damageType}, ID: {myAttackInstanceId}) Tried to change block but I am not the active instance ({activeAttackInstanceId}). Ignoring.");
return;
}
// --- END MODIFICATION ---
if (Player.Instance != null)
{
var meleeInput = Player.Instance.MeleeCombatInput;
if (meleeInput != null)
{
if (meleeInput.BlockAttack != block) // Only log/change if there is a change
{
if(debug) Debug.Log($"({damageType}, ID: {myAttackInstanceId}) Setting BlockAttack to: {block}");
meleeInput.BlockAttack = block;
}
}
}
}
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{ {
if (Player.Instance.ActiveWeaponTrail) if (Player.Instance.ActiveWeaponTrail)
@@ -148,11 +183,10 @@ namespace Invector.vMelee
float currentNormalizedTime = stateInfo.normalizedTime % 1; float currentNormalizedTime = stateInfo.normalizedTime % 1;
if (currentNormalizedTime == 0 && stateInfo.normalizedTime > 0.5f) currentNormalizedTime = 1f; if (currentNormalizedTime == 0 && stateInfo.normalizedTime > 0.5f) currentNormalizedTime = 1f;
// --- NEW: Centralized combo logic management ---
ManageComboLogic(currentNormalizedTime); ManageComboLogic(currentNormalizedTime);
if (_characterController != null && _characterController.lockRotation) if (_characterController != null && _characterController.lockRotation)
AttemptRotationTowardsAutoTarget(animator); AttemptRotationTowardsAutoTarget(animator);
AttemptPositionLerp(animator); AttemptPositionLerp(animator);
UpdateRotationLock(currentNormalizedTime); UpdateRotationLock(currentNormalizedTime);
@@ -182,7 +216,7 @@ namespace Invector.vMelee
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{ {
if (debug) Debug.Log($"({damageType}) OnStateExit."); if (debug) Debug.Log($"({damageType}, ID: {myAttackInstanceId}) OnStateExit.");
if (isActive) if (isActive)
{ {
@@ -196,62 +230,52 @@ namespace Invector.vMelee
isAttacking = false; isAttacking = false;
m_hasScaledTime = false; m_hasScaledTime = false;
// The TimeController now reliably handles resetting the time scale via its own coroutine. if (_comboWindowEffectTriggered && TimeController.Instance != null)
// A manual reset here is no longer necessary and could cause conflicts.
/*
if (mFighter != null && resetAttackTrigger)
{ {
mFighter.ResetAttackTriggers(); _comboWindowEffectTriggered = false;
if (debug) Debug.Log($"({damageType}) Final trigger reset on exit due to 'Reset Attack Trigger' flag."); TimeController.Instance.Reset();
} }
*/
if (_characterController != null && _isRotationLockedByThis) if (_characterController != null && _isRotationLockedByThis)
{ {
_characterController.lockRotation = false; _characterController.lockRotation = false;
_isRotationLockedByThis = false; _isRotationLockedByThis = false;
} }
// --- MODIFICATION: When exiting, ensure the attack is unblocked. ---
// This is a safety net. If this was the last attack in a combo,
// we need to make sure the input is unlocked for future actions.
BlockAttack(false);
// --- END MODIFICATION ---
} }
/// <summary>
/// Manages the combo logic, including input window and time scale effects.
/// </summary>
private void ManageComboLogic(float currentNormalizedTime) private void ManageComboLogic(float currentNormalizedTime)
{ {
if (!useComboTimingWindow) if (blockInputBeforeTime > 0f)
{ {
// Fallback to old logic if new system is disabled for this state if (currentNormalizedTime >= blockInputBeforeTime)
if (resetAttackTrigger && currentNormalizedTime >= resetTriggerBeforeTime)
{ {
if (mFighter != null) BlockAttack(false); // Unlock input
mFighter.ResetAttackTriggers(); }
else
{
BlockAttack(true); // Block input
} }
return;
} }
// --- FIX 2: Corrected window logic --- if (!useComboTimingWindow) return;
bool isInsideWindow = currentNormalizedTime >= comboWindowStartTime; bool isInsideWindow = currentNormalizedTime >= comboWindowStartTime;
if (isInsideWindow) if (isInsideWindow)
{ {
// --- We are INSIDE the combo window ---
// We STOP resetting the trigger to allow the player's input to register.
if (!_comboWindowEffectTriggered && TimeController.Instance != null) if (!_comboWindowEffectTriggered && TimeController.Instance != null)
{ {
_comboWindowEffectTriggered = true; _comboWindowEffectTriggered = true;
TimeController.Instance.SetTimeScaleForRealTimeSec(comboWindowTimeScale, comboWindowDuration, false); TimeController.Instance.SetTimeScaleForRealTimeSec(comboWindowTimeScale, comboWindowDuration, false);
if (debug) Debug.Log($"({damageType}) COMBO WINDOW OPEN. Accepting input.");
if (debug) Debug.Log($"({damageType}) COMBO WINDOW OPEN. Accepting input. Animator mode set to UnscaledTime.");
} }
} }
else
{
// --- We are OUTSIDE the combo window ---
// We continuously reset the trigger to consume any premature/late input.
if (mFighter != null)
mFighter.ResetAttackTriggers();
}
} }
// --- Other methods remain unchanged --- // --- Other methods remain unchanged ---

View File

@@ -4,6 +4,7 @@ using Invector.vEventSystems;
using Invector.vMelee; using Invector.vMelee;
using UnityEngine; using UnityEngine;
using System.Collections; using System.Collections;
using UnityEngine.Android;
namespace Beyond namespace Beyond
{ {
@@ -23,6 +24,8 @@ namespace Beyond
internal vMeleeManager meleeManager; internal vMeleeManager meleeManager;
protected bool _isAttacking; protected bool _isAttacking;
public bool BlockAttack { get; set; }
public bool isAttacking public bool isAttacking
{ {
get => _isAttacking || (cc != null && cc.IsAnimatorTag("Attack")); get => _isAttacking || (cc != null && cc.IsAnimatorTag("Attack"));
@@ -87,16 +90,17 @@ namespace Beyond
autoTargeting = GetComponent<AutoTargetting>(); autoTargeting = GetComponent<AutoTargetting>();
if (autoTargeting == null && Player.Instance != null && Player.Instance.gameObject == this.gameObject) if (autoTargeting == null && Player.Instance != null && Player.Instance.gameObject == this.gameObject)
{ {
autoTargeting = Player.Instance.GetComponent<AutoTargetting>(); autoTargeting = Player.Instance.GetComponent<AutoTargetting>();
} }
if (autoTargeting == null && cc != null && cc.transform.root != null) if (autoTargeting == null && cc != null && cc.transform.root != null)
{ {
autoTargeting = cc.transform.root.GetComponentInChildren<AutoTargetting>(true); autoTargeting = cc.transform.root.GetComponentInChildren<AutoTargetting>(true);
} }
if (autoTargeting == null) if (autoTargeting == null)
{ {
Debug.LogWarning("bMeleeCombatInput: AutoTargetting component not found. Dash towards target will require manual aiming."); Debug.LogWarning("bMeleeCombatInput: AutoTargetting component not found. Dash towards target will require manual aiming.");
} }
BlockAttack = false;
} }
protected override void LateUpdate() protected override void LateUpdate()
@@ -148,6 +152,10 @@ namespace Beyond
{ {
cc.animator.SetInteger(vAnimatorParameters.AttackID, AttackID); cc.animator.SetInteger(vAnimatorParameters.AttackID, AttackID);
cc.animator.SetTrigger(vAnimatorParameters.WeakAttack); cc.animator.SetTrigger(vAnimatorParameters.WeakAttack);
if (TimeController.Instance != null)
{
TimeController.Instance.Reset(); // Ensure normal time scale on attack start
}
} }
public virtual void MeleeStrongAttackInput() public virtual void MeleeStrongAttackInput()
@@ -237,7 +245,7 @@ namespace Beyond
public virtual bool MeleeAttackConditions() public virtual bool MeleeAttackConditions()
{ {
if (meleeManager == null) meleeManager = GetComponent<vMeleeManager>(); if (meleeManager == null) meleeManager = GetComponent<vMeleeManager>();
return meleeManager != null && cc != null && cc.isGrounded && !cc.customAction && !cc.IsAnimatorTag("special") && return !BlockAttack && meleeManager != null && cc != null && cc.isGrounded && !cc.customAction && !cc.IsAnimatorTag("special") &&
!cc.isJumping && !cc.isCrouching && !cc.isRolling && !isEquipping && !cc.isJumping && !cc.isCrouching && !cc.isRolling && !isEquipping &&
(cc.animator != null && !cc.animator.IsInTransition(cc.baseLayer)) && !isRotatingAndDashing; (cc.animator != null && !cc.animator.IsInTransition(cc.baseLayer)) && !isRotatingAndDashing;
} }

View File

@@ -18,10 +18,6 @@ namespace Beyond
public bool useAnimationBasedRotation = false; public bool useAnimationBasedRotation = false;
[Header("Beyond's Strafe Combat Settings")] [Header("Beyond's Strafe Combat Settings")]
[Tooltip("The minimum horizontal input value to trigger a side roll instead of a forward/backward one.")]
[Range(0.1f, 1.0f)]
public float strafeRollInputThreshold = 0.3f;
[Tooltip("The name of the animation state to play when rolling forward while strafing. (This is now disabled)")] [Tooltip("The name of the animation state to play when rolling forward while strafing. (This is now disabled)")]
public string strafeRollForwardAnim = "Roll_Forward"; // Kept for reference, but won't be used public string strafeRollForwardAnim = "Roll_Forward"; // Kept for reference, but won't be used
[Tooltip("The name of the animation state to play when rolling backward while strafing.")] [Tooltip("The name of the animation state to play when rolling backward while strafing.")]
@@ -31,15 +27,19 @@ namespace Beyond
[Tooltip("The name of the animation state to play when rolling right while strafing.")] [Tooltip("The name of the animation state to play when rolling right while strafing.")]
public string strafeRollRightAnim = "Roll_Right"; public string strafeRollRightAnim = "Roll_Right";
// --- UPDATED FIELDS FOR INDEPENDENT CONTROL --- // --- UPDATED FIELDS FOR FINER CONTROL ---
[Header("Beyond's Strafe Roll Correction")] [Header("Beyond's Strafe Roll Correction")]
[Tooltip("The fixed angle to rotate the character before a LEFT strafe roll.")] [Tooltip("An additional angle to apply for a LEFT strafe roll.")]
[Range(0f, 90f)] [Range(-90f, 90f)]
public float strafeRollLeftCorrectionAngle = 45f; public float strafeRollLeftCorrectionAngle = -45f;
[Tooltip("The fixed angle to rotate the character before a RIGHT strafe roll.")] [Tooltip("An additional angle to apply for a RIGHT strafe roll.")]
[Range(0f, 90f)] [Range(-90f, 90f)]
public float strafeRollRightCorrectionAngle = 70f; public float strafeRollRightCorrectionAngle = 45f;
[Tooltip("An additional angle to apply for a BACKWARD strafe roll. Use 0 for a standard 180-degree roll.")]
[Range(-180f, 180f)]
public float strafeRollBackwardCorrectionAngle = 0f;
// --- END OF UPDATED FIELDS --- // --- END OF UPDATED FIELDS ---
public bool GodMode public bool GodMode
@@ -64,27 +64,21 @@ namespace Beyond
protected override void RollBehavior() protected override void RollBehavior()
{ {
// If we are not strafing, use the default Invector roll behavior.
if (!isStrafing) if (!isStrafing)
{ {
base.RollBehavior(); base.RollBehavior();
return; return;
} }
// Custom Strafe Roll with Root Motion (no rotation logic needed here anymore)
if (!isRolling) if (!isRolling)
{ {
return; return;
} }
Vector3 deltaPosition = new Vector3(animator.deltaPosition.x, 0f, animator.deltaPosition.z); Vector3 deltaPosition = new Vector3(animator.deltaPosition.x, 0f, animator.deltaPosition.z);
Vector3 v = (deltaPosition / Time.deltaTime) * (1f - stopMoveWeight); Vector3 v = (deltaPosition / Time.deltaTime) * (1f - stopMoveWeight);
if (rollUseGravity && animator.GetNormalizedTime(baseLayer) >= rollUseGravityTime) if (rollUseGravity && animator.GetNormalizedTime(baseLayer) >= rollUseGravityTime)
{ {
v.y = _rigidbody.linearVelocity.y; v.y = _rigidbody.linearVelocity.y;
} }
_rigidbody.linearVelocity = v; _rigidbody.linearVelocity = v;
} }
@@ -120,7 +114,12 @@ namespace Beyond
} }
} }
// --- MODIFIED METHOD WITH TWO-ANGLE LOGIC --- // --- FINAL ROBUST METHOD ---
// This logic now handles all specified cases:
// 1. Sets a base rotation facing the camera to ensure consistency.
// 2. Defaults to a backward roll if input is near-zero (fixing the lingering roll issue).
// 3. Never uses the forward roll; it triggers a backward roll instead.
// 4. Applies a unique correction angle for backward rolls as well as side rolls.
private void TriggerStrafeRoll(string forwardAnim, string backwardAnim, string leftAnim, string rightAnim) private void TriggerStrafeRoll(string forwardAnim, string backwardAnim, string leftAnim, string rightAnim)
{ {
OnRoll.Invoke(); OnRoll.Invoke();
@@ -129,42 +128,59 @@ namespace Beyond
currentStaminaRecoveryDelay = 2f; currentStaminaRecoveryDelay = 2f;
string animToPlay; string animToPlay;
float correctionAngle = 0f;
// Prioritize side rolls based on horizontal input. // Determine the base "forward" direction from the camera, ignoring vertical tilt.
if (Mathf.Abs(horizontalSpeed) > strafeRollInputThreshold) Vector3 baseForward = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized;
if (baseForward == Vector3.zero) baseForward = transform.forward; // Fallback
// Set the character's rotation to this base direction. This provides a clean slate.
transform.rotation = Quaternion.LookRotation(baseForward);
// Check if input is negligible (joystick is centered).
// input.sqrMagnitude is more efficient than input.magnitude. 0.1*0.1=0.01.
if (input.sqrMagnitude < 0.01f)
{ {
float correction = 0f; // If no input, always perform a backward roll.
animToPlay = backwardAnim;
// Check if rolling right (positive horizontal speed) correctionAngle = strafeRollBackwardCorrectionAngle;
if (horizontalSpeed > 0)
{
animToPlay = rightAnim;
// For a right roll, we apply a negative rotation (turn left) to angle the trajectory forward.
correction = -strafeRollRightCorrectionAngle;
}
// Otherwise, rolling left
else
{
animToPlay = leftAnim;
// For a left roll, we apply a positive rotation (turn right) to angle the trajectory forward.
correction = strafeRollLeftCorrectionAngle;
}
// Apply the calculated rotation instantly around the Y-axis.
if (correction != 0)
{
transform.Rotate(0, correction, 0);
}
} }
// If horizontal input is not met, default to the backward roll.
else else
{ {
animToPlay = backwardAnim; // If there IS input, determine the dominant direction.
if (Mathf.Abs(verticalSpeed) >= Mathf.Abs(horizontalSpeed))
{
// Vertical input is dominant.
// ALWAYS use the backward roll, regardless of forward or backward input.
animToPlay = backwardAnim;
correctionAngle = strafeRollBackwardCorrectionAngle;
}
else
{
// Horizontal input is dominant.
if (horizontalSpeed > 0)
{
animToPlay = rightAnim;
correctionAngle = strafeRollRightCorrectionAngle;
}
else
{
animToPlay = leftAnim;
correctionAngle = strafeRollLeftCorrectionAngle;
}
}
} }
// Apply the chosen correction angle if it's not zero.
if (correctionAngle != 0f)
{
transform.Rotate(0, correctionAngle, 0);
}
// Play the selected animation.
animator.CrossFadeInFixedTime(animToPlay, rollTransition, baseLayer); animator.CrossFadeInFixedTime(animToPlay, rollTransition, baseLayer);
} }
// --- END OF MODIFIED METHOD --- // --- END OF FINAL METHOD ---
public void OnEvadeStart() { if (!m_GodMode) isImmortal = true; } public void OnEvadeStart() { if (!m_GodMode) isImmortal = true; }
public void OnEvadeEnd() { if (!m_GodMode) isImmortal = false; } public void OnEvadeEnd() { if (!m_GodMode) isImmortal = false; }

View File

@@ -129,6 +129,8 @@ MonoBehaviour:
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 0 m_PrefilterNativeRenderPass: 0
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterReflectionProbeBlending: 1
m_PrefilterReflectionProbeBoxProjection: 1
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:

View File

@@ -129,6 +129,8 @@ MonoBehaviour:
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1 m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 2 m_ShadowCascades: 2
m_Textures: m_Textures:

View File

@@ -129,6 +129,8 @@ MonoBehaviour:
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 0 m_PrefilterNativeRenderPass: 0
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterReflectionProbeBlending: 1
m_PrefilterReflectionProbeBoxProjection: 1
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:

View File

@@ -129,6 +129,8 @@ MonoBehaviour:
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 0 m_PrefilterNativeRenderPass: 0
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterReflectionProbeBlending: 1
m_PrefilterReflectionProbeBoxProjection: 1
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:

View File

@@ -129,6 +129,8 @@ MonoBehaviour:
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 0 m_PrefilterNativeRenderPass: 0
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterReflectionProbeBlending: 1
m_PrefilterReflectionProbeBoxProjection: 1
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:

View File

@@ -1,7 +1,14 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 33155b0e0a894984aaa6d5beee3b6e77 guid: 33155b0e0a894984aaa6d5beee3b6e77
AssetOrigin:
serializedVersion: 1
productId: 269483
packageName: One Handed Sword Animset Pro
packageVersion: 1.0
assetPath: Assets/SwordAnimsetPro/Animations/RootPlace/Attack_Combo_02_04_Anim.FBX
uploadId: 738342
ModelImporter: ModelImporter:
serializedVersion: 21300 serializedVersion: 22200
internalIDToNameTable: internalIDToNameTable:
- first: - first:
74: 1827226128182048838 74: 1827226128182048838
@@ -19,8 +26,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -47,11 +52,11 @@ ModelImporter:
cycleOffset: 0 cycleOffset: 0
loop: 0 loop: 0
hasAdditiveReferencePose: 0 hasAdditiveReferencePose: 0
loopTime: 1 loopTime: 0
loopBlend: 0 loopBlend: 0
loopBlendOrientation: 1 loopBlendOrientation: 1
loopBlendPositionY: 1 loopBlendPositionY: 1
loopBlendPositionXZ: 1 loopBlendPositionXZ: 0
keepOriginalOrientation: 1 keepOriginalOrientation: 1
keepOriginalPositionY: 1 keepOriginalPositionY: 1
keepOriginalPositionXZ: 1 keepOriginalPositionXZ: 1
@@ -212,6 +217,7 @@ ModelImporter:
addColliders: 0 addColliders: 0
useSRGBMaterialColor: 1 useSRGBMaterialColor: 1
sortHierarchyByName: 1 sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1 importVisibility: 1
importBlendShapes: 1 importBlendShapes: 1
importCameras: 1 importCameras: 1
@@ -239,6 +245,7 @@ ModelImporter:
secondaryUVMinObjectScale: 1 secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4 secondaryUVPackMargin: 4
useFileScale: 1 useFileScale: 1
strictVertexDataChecks: 0
tangentSpace: tangentSpace:
normalSmoothAngle: 60 normalSmoothAngle: 60
normalImportMode: 0 normalImportMode: 0
@@ -412,14 +419,6 @@ ModelImporter:
value: {x: 0, y: 0, z: 0} value: {x: 0, y: 0, z: 0}
length: 0 length: 0
modified: 0 modified: 0
- boneName: ball_r
humanName: RightToes
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: thumb_01_l - boneName: thumb_01_l
humanName: Left Thumb Proximal humanName: Left Thumb Proximal
limit: limit:
@@ -669,400 +668,357 @@ ModelImporter:
length: 0 length: 0
modified: 0 modified: 0
skeleton: skeleton:
- name: Armature(Clone) - name: Attack_Combo_02_04_Anim(Clone)
parentName: parentName:
position: {x: 0, y: 0, z: 0} position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1} rotation: {x: 0, y: 0, z: 0, w: 1}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1, z: 1}
- name: Geometry
parentName: Armature(Clone)
position: {x: -0, y: 0, z: 0}
rotation: {x: 0.00000008146034, y: 0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Armature_Mesh 1
parentName: Geometry
position: {x: -0, y: 0, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: root - name: root
parentName: Armature(Clone) parentName: Attack_Combo_02_04_Anim(Clone)
position: {x: -0, y: 0, z: 0} position: {x: 0.00000019311905, y: -0.00000045776366, z: 0.000000054563714}
rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} rotation: {x: -0.7071068, y: 0.00000034771128, z: 0.000000094830334, w: 0.7071068}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000007, y: 1.0000008, z: 1.0000005}
- name: ik_foot_root
parentName: root
position: {x: -0, y: 0, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: ik_foot_l
parentName: ik_foot_root
position: {x: -0.1707627, y: 0.080721274, z: 0.13465731}
rotation: {x: 0.020529665, y: 0.71223336, z: -0.01172283, w: 0.7015445}
scale: {x: 1, y: 1, z: 1}
- name: ik_foot_r
parentName: ik_foot_root
position: {x: 0.17076288, y: 0.08072148, z: 0.13465573}
rotation: {x: 0.70154446, y: 0.011725438, z: 0.71223336, w: -0.020532234}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_root
parentName: root
position: {x: -0, y: 0, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_gun
parentName: ik_hand_root
position: {x: 0.56646097, y: 0.0033541175, z: 1.1167965}
rotation: {x: 0.6188494, y: 0.069541104, z: -0.38913622, w: 0.67879486}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_l
parentName: ik_hand_gun
position: {x: -0.77885526, y: -0.6960196, z: 0.43869558}
rotation: {x: 0.68747425, y: 0.61435777, z: -0.38722563, w: -0.000000527876}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_r
parentName: ik_hand_gun
position: {x: -0, y: 0, z: 0}
rotation: {x: 0.000000007450579, y: 0.0000000074505784, z: -0.000000089406946,
w: 1}
scale: {x: 1, y: 1, z: 1}
- name: pelvis - name: pelvis
parentName: root parentName: root
position: {x: 1.6940659e-23, y: 0.010561532, z: 0.967506} position: {x: 0.0015526001, y: 0, z: 0.89949095}
rotation: {x: 0.0012919111, y: 0.7071056, z: 0.0012919111, w: 0.70710564} rotation: {x: -0.180187, y: 0.7303708, z: -0.0602064, w: 0.6560993}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1, z: 1.0000001}
- name: Weapon_Waist
parentName: pelvis
position: {x: -0.033212814, y: -0.013039031, z: -0.22270256}
rotation: {x: -0.27525714, y: 0.67732406, z: 0.5421512, w: -0.41417116}
scale: {x: 1, y: 1, z: 1}
- name: spine_01 - name: spine_01
parentName: pelvis parentName: pelvis
position: {x: -0.10808952, y: -0.008514154, z: -1.0004442e-13} position: {x: -0.1080888, y: -0.008514154, z: 0.000000019073486}
rotation: {x: 1.9816575e-12, y: -1.2530104e-13, z: 0.06238869, w: 0.99805194} rotation: {x: 0.071059406, y: -0.025649605, z: 0.098846145, w: 0.9922309}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1, z: 0.99999994}
- name: spine_02 - name: spine_02
parentName: spine_01 parentName: spine_01
position: {x: -0.1887535, y: 0.0380116, z: 5.9673766e-10} position: {x: -0.1887535, y: 0.03801159, z: 0}
rotation: {x: 1.9856304e-12, y: -8.666872e-15, z: -0.122419976, w: 0.99247843} rotation: {x: 0.1130694, y: -0.045137748, z: 0.23324236, w: 0.9647673}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1, z: 0.99999994}
- name: spine_03 - name: spine_03
parentName: spine_02 parentName: spine_02
position: {x: -0.13407394, y: 0.0042047976, z: 1.1823431e-13} position: {x: -0.13407329, y: 0.00420475, z: 0.000000028610229}
rotation: {x: 1.5723038e-12, y: 2.2838824e-13, z: -0.02425258, w: 0.9997059} rotation: {x: 0.026746681, y: 0.04008734, z: 0.05746506, w: 0.99718374}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 0.9999999}
- name: Weapon_B_B
parentName: spine_03
position: {x: -0.13291, y: 0.17242967, z: -0.08474755}
rotation: {x: -0.077171534, y: 0.9732335, z: 0.009727723, w: 0.21625552}
scale: {x: 1, y: 1, z: 1}
- name: Weapon_B_A
parentName: spine_03
position: {x: -0.1443399, y: 0.1984746, z: 0.08800269}
rotation: {x: 0.21625581, y: 0.009727914, z: 0.97323346, w: -0.07717145}
scale: {x: 0.999999, y: 1.000001, z: 1}
- name: neck_01
parentName: spine_03
position: {x: -0.16558838, y: -0.0035531996, z: -5.9652394e-10}
rotation: {x: 7.9457805e-13, y: -3.4253748e-14, z: 0.20371033, w: 0.9790312}
scale: {x: 1, y: 1, z: 1}
- name: head
parentName: neck_01
position: {x: -0.09283508, y: 0.00364151, z: -5.002221e-14}
rotation: {x: 3.9399622e-13, y: -6.0260296e-14, z: -0.13354221, w: 0.99104315}
scale: {x: 1, y: 1, z: 1}
- name: clavicle_l - name: clavicle_l
parentName: spine_03 parentName: spine_03
position: {x: -0.118836515, y: -0.027320823, z: -0.037819855} position: {x: -0.11883682, y: -0.027320862, z: -0.037819825}
rotation: {x: 0.15407036, y: -0.7262773, z: -0.066704944, w: 0.66658384} rotation: {x: -0.013658353, y: -0.7949734, z: 0.14171273, w: 0.58970183}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1, z: 0.9999998}
- name: upperarm_l - name: upperarm_l
parentName: clavicle_l parentName: clavicle_l
position: {x: -0.15784876, y: 5.9604643e-10, z: -0.00000030517577} position: {x: -0.15784872, y: 0, z: -0.00000015258789}
rotation: {x: 0.059959687, y: 0.03741067, z: 0.15131606, w: 0.9859558} rotation: {x: 0.2841912, y: 0.1619693, z: -0.055562634, w: 0.9433526}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999998, y: 0.9999997, z: 0.99999976}
- name: lowerarm_l - name: lowerarm_l
parentName: upperarm_l parentName: upperarm_l
position: {x: -0.3033992, y: 0.000000019073486, z: -0.00000015258789} position: {x: -0.30339924, y: 0.000000009536743, z: 0.000000076293944}
rotation: {x: -0.061964918, y: 0.029636784, z: 0.027705546, w: 0.9972534} rotation: {x: -0.057504058, y: 0.0030879676, z: 0.01000784, w: 0.9982904}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 1}
- name: hand_l - name: hand_l
parentName: lowerarm_l parentName: lowerarm_l
position: {x: -0.2697512, y: 0.000000057220458, z: -0.00000022888183} position: {x: -0.26975146, y: 0, z: 0}
rotation: {x: -0.6178948, y: -0.019371929, z: -0.010653258, w: 0.7859499} rotation: {x: -0.55782324, y: 0.062217917, z: 0.3209781, w: 0.7628467}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999998, y: 0.9999998, z: 1.0000001}
- name: Weapon_L
parentName: hand_l
position: {x: -0.09643631, y: 0.040368345, z: 0.0017903136}
rotation: {x: 0.77167386, y: 0.034539346, z: 0.6346724, w: 0.022746237}
scale: {x: 1, y: 1, z: 1}
- name: thumb_01_l
parentName: hand_l
position: {x: -0.047620315, y: 0.023749694, z: -0.025378227}
rotation: {x: 0.60051745, y: -0.29971117, z: 0.1853573, w: 0.7177706}
scale: {x: 1, y: 1.000001, z: 1}
- name: thumb_02_l
parentName: thumb_01_l
position: {x: -0.03869667, y: 0.000000076293944, z: 0.00000022888183}
rotation: {x: 0.002636432, y: -0.019812906, z: -0.029710047, w: 0.9993588}
scale: {x: 1, y: 1, z: 1}
- name: thumb_03_l
parentName: thumb_02_l
position: {x: -0.040621642, y: -0.000000076293944, z: 0.00000022888183}
rotation: {x: 0.021399122, y: -0.0018833969, z: 0.10793767, w: 0.9939256}
scale: {x: 1, y: 1, z: 1}
- name: index_01_l - name: index_01_l
parentName: hand_l parentName: hand_l
position: {x: -0.120681114, y: 0.017634582, z: -0.021093978} position: {x: -0.12068119, y: 0.017634582, z: -0.021093959}
rotation: {x: 0.13733824, y: 0.009896379, z: -0.13344933, w: 0.98144364} rotation: {x: -0.042163815, y: 0.03351595, z: 0.020672167, w: 0.9983344}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000002, z: 1}
- name: index_02_l - name: index_02_l
parentName: index_01_l parentName: index_01_l
position: {x: -0.04287502, y: 0.000000076293944, z: 0.000000038146972} position: {x: -0.04287506, y: 0, z: -0.000000057220458}
rotation: {x: 0.01210087, y: 0.0010687108, z: -0.038368557, w: 0.99918985} rotation: {x: 0.012641782, y: 0.00019268683, z: -0.031927325, w: 0.9994102}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
- name: index_03_l - name: index_03_l
parentName: index_02_l parentName: index_02_l
position: {x: -0.033938065, y: -0.00000015258789, z: -0.000000057220458} position: {x: -0.033937987, y: 0, z: -0.000000038146972}
rotation: {x: 0.010611094, y: -0.0078507885, z: 0.082855195, w: 0.9964742} rotation: {x: 0.010061978, y: -0.014899413, z: -0.12724501, w: 0.9917084}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 0.99999994, z: 1.0000001}
- name: middle_01_l - name: middle_01_l
parentName: hand_l parentName: hand_l
position: {x: -0.12244266, y: 0.012936401, z: 0.0057115746} position: {x: -0.12244286, y: 0.012936363, z: 0.005711651}
rotation: {x: 0.029485751, y: 0.040345762, z: -0.1303333, w: 0.9902101} rotation: {x: -0.10508478, y: 0.10453472, z: -0.08622286, w: 0.98518795}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1.0000001, z: 1}
- name: middle_02_l - name: middle_02_l
parentName: middle_01_l parentName: middle_01_l
position: {x: -0.046403885, y: -0.00000030517577, z: -0.000000038146972} position: {x: -0.046403732, y: -0.000000076293944, z: 0.000000019073486}
rotation: {x: -0.018723572, y: -0.002837239, z: -0.038118426, w: 0.9990938} rotation: {x: -0.020515025, y: -0.0010910779, z: -0.032421418, w: 0.9992632}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999998, y: 0.99999994, z: 1.0000001}
- name: middle_03_l - name: middle_03_l
parentName: middle_02_l parentName: middle_02_l
position: {x: -0.03648865, y: 0, z: 0.000000019073486} position: {x: -0.036488418, y: 0, z: 0}
rotation: {x: 0.0016213919, y: 0.038867008, z: 0.13362402, w: 0.99026835} rotation: {x: 0.0089297835, y: 0.048352133, z: -0.17108564, w: 0.98402846}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 0.99999994, z: 1}
- name: ring_01_l
parentName: hand_l
position: {x: -0.11497879, y: 0.0175354, z: 0.028469028}
rotation: {x: -0.09728434, y: 0.07056106, z: -0.116225, w: 0.9859253}
scale: {x: 1, y: 1, z: 1}
- name: ring_02_l
parentName: ring_01_l
position: {x: -0.044301756, y: 0, z: 0.000000028610229}
rotation: {x: 0.004327772, y: 0.004577195, z: -0.03747059, w: 0.9992779}
scale: {x: 1, y: 1, z: 1}
- name: ring_03_l
parentName: ring_02_l
position: {x: -0.034766767, y: 0, z: 0.000000019073486}
rotation: {x: -0.00019881252, y: -0.026257839, z: 0.11221317, w: 0.99333715}
scale: {x: 1, y: 1, z: 1}
- name: pinky_01_l - name: pinky_01_l
parentName: hand_l parentName: hand_l
position: {x: -0.101406746, y: 0.022631224, z: 0.04643154} position: {x: -0.10140666, y: 0.02263153, z: 0.046431445}
rotation: {x: -0.13504837, y: 0.09653543, z: -0.08907403, w: 0.98209405} rotation: {x: -0.30704668, y: 0.096554, z: -0.0697224, w: 0.94421315}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 0.99999994, z: 1}
- name: pinky_02_l - name: pinky_02_l
parentName: pinky_01_l parentName: pinky_01_l
position: {x: -0.03570995, y: 0.00000015258789, z: 0.000000019073486} position: {x: -0.035709858, y: -0.000000038146972, z: 0}
rotation: {x: 0.010402318, y: 0.004141426, z: -0.03848013, w: 0.9991967} rotation: {x: 0.014888434, y: 0.00030022112, z: -0.020904124, w: 0.9996706}
scale: {x: 1.000001, y: 1, z: 1} scale: {x: 0.9999999, y: 1.0000001, z: 1}
- name: pinky_03_l - name: pinky_03_l
parentName: pinky_02_l parentName: pinky_02_l
position: {x: -0.029856643, y: -0.00000030517577, z: 0} position: {x: -0.029856281, y: 0, z: 0}
rotation: {x: 0.0035809448, y: -0.033796344, z: -0.008930362, w: 0.99938244} rotation: {x: 0.00018234825, y: -0.038848173, z: -0.31119236, w: 0.9495526}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1, z: 1.0000001}
- name: ring_01_l
parentName: hand_l
position: {x: -0.11497894, y: 0.017535247, z: 0.028469104}
rotation: {x: -0.17491661, y: 0.092290685, z: -0.08976502, w: 0.97612953}
scale: {x: 0.9999998, y: 1.0000001, z: 0.99999994}
- name: ring_02_l
parentName: ring_01_l
position: {x: -0.044301834, y: 0, z: 0}
rotation: {x: 0.009538977, y: 0.0007756277, z: -0.022933194, w: 0.9996912}
scale: {x: 0.9999999, y: 1.0000001, z: 0.9999999}
- name: ring_03_l
parentName: ring_02_l
position: {x: -0.034766443, y: 0, z: -0.000000038146972}
rotation: {x: 0.0010915702, y: -0.026316691, z: -0.1960736, w: 0.9802354}
scale: {x: 1, y: 1, z: 1.0000001}
- name: thumb_01_l
parentName: hand_l
position: {x: -0.04762043, y: 0.023749733, z: -0.025378188}
rotation: {x: 0.37738293, y: 0.023550505, z: 0.30923915, w: 0.87258166}
scale: {x: 1.0000001, y: 0.99999976, z: 1.0000002}
- name: thumb_02_l
parentName: thumb_01_l
position: {x: -0.038696717, y: -0.000000038146972, z: 0}
rotation: {x: -0.013729625, y: -0.01217588, z: -0.028283292, w: 0.99943155}
scale: {x: 1.0000002, y: 1.0000001, z: 1}
- name: thumb_03_l
parentName: thumb_02_l
position: {x: -0.04062171, y: 0.000000019073486, z: 0}
rotation: {x: -0.070657775, y: -0.016861392, z: -0.40833193, w: 0.9099386}
scale: {x: 1.0000002, y: 0.9999999, z: 1.0000002}
- name: lowerarm_twist_01_l - name: lowerarm_twist_01_l
parentName: lowerarm_l parentName: lowerarm_l
position: {x: -0.13999976, y: 0.000000057220458, z: -0.0000003814697} position: {x: -0.14000002, y: 0, z: 0.000000076293944}
rotation: {x: 0.000000014901163, y: -0.000000029802322, z: 0.0000000074505815, rotation: {x: 0.00210536, y: -0.000001305833, z: -0.0000009397513, w: 0.9999978}
w: 1} scale: {x: 0.99999994, y: 1, z: 1}
scale: {x: 1, y: 1, z: 1}
- name: upperarm_twist_01_l - name: upperarm_twist_01_l
parentName: upperarm_l parentName: upperarm_l
position: {x: -0.005000229, y: 0, z: -0.00000030517577} position: {x: -0.0049999235, y: 0.000000028610229, z: 0.000000076293944}
rotation: {x: -0.0000000018626451, y: -0.000000014901161, z: -0.0000000018626451, rotation: {x: 0.00000003166497, y: -0.00000013411046, z: 0.000000027939684,
w: 1} w: 1}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1, z: 1}
- name: clavicle_r - name: clavicle_r
parentName: spine_03 parentName: spine_03
position: {x: -0.11883758, y: -0.027321015, z: 0.037820004} position: {x: -0.118837886, y: -0.027321015, z: 0.037820052}
rotation: {x: 0.7262779, y: 0.15407024, z: 0.66658336, w: 0.066704765} rotation: {x: 0.7222737, y: 0.10238078, z: 0.68398726, w: 0.00055002596}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 0.99999994}
- name: upperarm_r - name: upperarm_r
parentName: clavicle_r parentName: clavicle_r
position: {x: 0.15784794, y: -0.00000004887581, z: -0.00000045776366} position: {x: 0.15784796, y: -0.000000038146972, z: -0.00000015258789}
rotation: {x: 0.059959557, y: 0.037411354, z: 0.15131633, w: 0.9859557} rotation: {x: 0.20276237, y: -0.010564359, z: -0.043542232, w: 0.97820246}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1, z: 1}
- name: lowerarm_r - name: lowerarm_r
parentName: upperarm_r parentName: upperarm_r
position: {x: 0.30340058, y: -0.000000095367426, z: 0.000000076293944} position: {x: 0.30340055, y: -0.000000038146972, z: 0.000000076293944}
rotation: {x: -0.06196519, y: 0.029635787, z: 0.02770495, w: 0.9972535} rotation: {x: -0.056995496, y: 0.0049532373, z: 0.016129415, w: 0.9982319}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1.0000001, z: 1}
- name: hand_r - name: hand_r
parentName: lowerarm_r parentName: lowerarm_r
position: {x: 0.26975238, y: 0.00000032424927, z: -0.00000015258789} position: {x: 0.26975247, y: 0.00000028610228, z: 0.000000076293944}
rotation: {x: -0.6178948, y: -0.019371944, z: -0.010653205, w: 0.7859499} rotation: {x: -0.6027654, y: 0.008233023, z: 0.28878984, w: 0.7437786}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 0.99999994, z: 1.0000002}
- name: Weapon_R
parentName: hand_r
position: {x: 0.096437946, y: -0.040366516, z: -0.0017925262}
rotation: {x: -0.63467234, y: 0.022746397, z: 0.771674, w: -0.034538984}
scale: {x: 0.999999, y: 1, z: 1}
- name: Weapon_RS
parentName: Weapon_R
position: {x: 0.06393559, y: 0.046391904, z: 0.000000038146972}
rotation: {x: 0.000000014901161, y: -0.000000011175873, z: 0.000000007450582,
w: 1}
scale: {x: 1, y: 1, z: 1}
- name: thumb_01_r
parentName: hand_r
position: {x: 0.04762108, y: -0.02375099, z: 0.025378035}
rotation: {x: 0.60051656, y: -0.29970273, z: 0.1853537, w: 0.7177759}
scale: {x: 1, y: 1, z: 1}
- name: thumb_02_r
parentName: thumb_01_r
position: {x: 0.038695678, y: 0.0000011825562, z: 0.00000045776366}
rotation: {x: 0.0026337197, y: -0.019816674, z: -0.02969921, w: 0.99935895}
scale: {x: 1, y: 1, z: 1}
- name: thumb_03_r
parentName: thumb_02_r
position: {x: 0.040621795, y: 0.00000022888183, z: 0}
rotation: {x: 0.021398976, y: -0.0018833367, z: 0.1079377, w: 0.9939256}
scale: {x: 1, y: 1, z: 1}
- name: index_01_r - name: index_01_r
parentName: hand_r parentName: hand_r
position: {x: 0.12067932, y: -0.017637176, z: 0.021094246} position: {x: 0.12067939, y: -0.017637406, z: 0.021094264}
rotation: {x: 0.13733743, y: 0.009890859, z: -0.13346796, w: 0.9814413} rotation: {x: -0.058504958, y: 0.028943041, z: -0.11037121, w: 0.99174476}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1, z: 1.0000001}
- name: index_02_r - name: index_02_r
parentName: index_01_r parentName: index_01_r
position: {x: 0.04287689, y: 0.0000009155273, z: -0.00000072479247} position: {x: 0.04287693, y: 0.00000087738033, z: -0.00000074386594}
rotation: {x: 0.012102056, y: 0.0010692998, z: -0.03836711, w: 0.99918985} rotation: {x: 0.01461357, y: -0.00006722842, z: -0.013046635, w: 0.9998081}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 0.9999999, z: 1.0000001}
- name: index_03_r - name: index_03_r
parentName: index_02_r parentName: index_02_r
position: {x: 0.033938218, y: 0.0000011444091, z: -0.00000036239624} position: {x: 0.033937987, y: 0.0000011825562, z: -0.00000017166137}
rotation: {x: 0.010611209, y: -0.007850793, z: 0.08285527, w: 0.99647415} rotation: {x: 0.008849856, y: -0.022383938, z: -0.367978, w: 0.92952293}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999999, y: 1, z: 1}
- name: middle_01_r - name: middle_01_r
parentName: hand_r parentName: hand_r
position: {x: 0.12244102, y: -0.012937317, z: -0.0057113455} position: {x: 0.1224411, y: -0.012937393, z: -0.0057113073}
rotation: {x: 0.029485688, y: 0.040343083, z: -0.13032185, w: 0.9902118} rotation: {x: -0.18307386, y: 0.039525136, z: -0.09938775, w: 0.97726345}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1, z: 1}
- name: middle_02_r - name: middle_02_r
parentName: middle_01_r parentName: middle_01_r
position: {x: 0.046405602, y: -0.0000012969971, z: 0.000000057220458} position: {x: 0.046405792, y: -0.000001373291, z: 0.0000000667572}
rotation: {x: -0.01872324, y: -0.0028387778, z: -0.038139753, w: 0.999093} rotation: {x: -0.023135256, y: -0.000003580001, z: -0.018414259, w: 0.9995628}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999999, y: 1, z: 0.99999994}
- name: middle_03_r - name: middle_03_r
parentName: middle_02_r parentName: middle_02_r
position: {x: 0.03648918, y: 0.00000015258789, z: -0.000000076293944} position: {x: 0.03648918, y: 0.0000004196167, z: 0}
rotation: {x: 0.0016213522, y: 0.038867, z: 0.13362399, w: 0.99026835} rotation: {x: 0.012308267, y: 0.050965574, z: -0.33058664, w: 0.94231814}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999999, y: 0.9999999, z: 0.99999994}
- name: ring_01_r
parentName: hand_r
position: {x: 0.114979625, y: -0.017537536, z: -0.028469123}
rotation: {x: -0.09728448, y: 0.07056085, z: -0.11623318, w: 0.9859243}
scale: {x: 1, y: 1, z: 1}
- name: ring_02_r
parentName: ring_01_r
position: {x: 0.044298783, y: 0.00000045776366, z: -0.00000021934508}
rotation: {x: 0.0043280036, y: 0.004581442, z: -0.037483945, w: 0.99927735}
scale: {x: 1, y: 1, z: 1}
- name: ring_03_r
parentName: ring_02_r
position: {x: 0.034766693, y: 0.0000012207031, z: -0.000000009536743}
rotation: {x: -0.00019881198, y: -0.026257785, z: 0.11221313, w: 0.99333715}
scale: {x: 1, y: 1, z: 1}
- name: pinky_01_r - name: pinky_01_r
parentName: hand_r parentName: hand_r
position: {x: 0.10140606, y: -0.022633513, z: -0.046431024} position: {x: 0.1014059, y: -0.02263359, z: -0.046430986}
rotation: {x: -0.13504949, y: 0.09653526, z: -0.08907446, w: 0.9820939} rotation: {x: -0.25687522, y: 0.050173927, z: -0.09736127, w: 0.9602179}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1, z: 0.99999994}
- name: pinky_02_r - name: pinky_02_r
parentName: pinky_01_r parentName: pinky_01_r
position: {x: 0.03571041, y: -0.0000007629394, z: -0.000000114440915} position: {x: 0.03571045, y: -0.00000072479247, z: -0.000000076293944}
rotation: {x: 0.010402859, y: 0.004140166, z: -0.038529016, w: 0.9991948} rotation: {x: 0.015338253, y: 0.00023502106, z: -0.019417835, w: 0.9996938}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999976, y: 1, z: 0.99999994}
- name: pinky_03_r - name: pinky_03_r
parentName: pinky_02_r parentName: pinky_02_r
position: {x: 0.02985405, y: 0.0000030517576, z: -0.00000028610228} position: {x: 0.0298542, y: 0.0000031280517, z: -0.00000036239624}
rotation: {x: 0.0035809623, y: -0.03379639, z: -0.008930348, w: 0.99938244} rotation: {x: -0.0009317214, y: -0.03974408, z: -0.4059237, w: 0.9130419}
scale: {x: 0.9999999, y: 1.0000001, z: 1}
- name: ring_01_r
parentName: hand_r
position: {x: 0.114979744, y: -0.017537765, z: -0.028469142}
rotation: {x: -0.20664908, y: 0.04222702, z: -0.09832964, w: 0.9725453}
scale: {x: 1.0000002, y: 1.0000001, z: 0.99999994}
- name: ring_02_r
parentName: ring_01_r
position: {x: 0.04429863, y: 0.0000009155273, z: -0.00000015258789}
rotation: {x: 0.010850424, y: 0.00041900927, z: -0.017983763, w: 0.99977934}
scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
- name: ring_03_r
parentName: ring_02_r
position: {x: 0.034766614, y: 0.00000064849854, z: -0.000000047683713}
rotation: {x: 0.0007329484, y: -0.027318945, z: -0.32003888, w: 0.9470102}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1, z: 1}
- name: thumb_01_r
parentName: hand_r
position: {x: 0.04762123, y: -0.023751296, z: 0.025377998}
rotation: {x: 0.36304766, y: -0.08274567, z: 0.30087903, w: 0.87796444}
scale: {x: 1.0000002, y: 1, z: 1.0000001}
- name: thumb_02_r
parentName: thumb_01_r
position: {x: 0.038695715, y: 0.0000012016296, z: 0.00000045776366}
rotation: {x: -0.059372235, y: 0.0008043343, z: -0.02048133, w: 0.99802554}
scale: {x: 1.0000001, y: 0.9999999, z: 1.0000001}
- name: thumb_03_r
parentName: thumb_02_r
position: {x: 0.040621776, y: 0.000000028610229, z: 0}
rotation: {x: -0.01654607, y: -0.008043621, z: -0.10649277, w: 0.9941433}
scale: {x: 1, y: 0.9999999, z: 0.99999994}
- name: Weapon_R
parentName: hand_r
position: {x: 0.09278992, y: -0.04018333, z: -0.012245731}
rotation: {x: 0.7716737, y: 0.034539174, z: 0.6346727, w: 0.022745846}
scale: {x: 0.99999815, y: 0.99999905, z: 0.9999991}
- name: lowerarm_twist_01_r - name: lowerarm_twist_01_r
parentName: lowerarm_r parentName: lowerarm_r
position: {x: 0.14000003, y: 0.0000002670288, z: -0.00000022888183} position: {x: 0.14, y: 0.00000022888183, z: -0.000000076293944}
rotation: {x: -0.117627375, y: 0.0000000017527845, z: -0.000000014797714, w: 0.9930578} rotation: {x: -0.2383125, y: 0.000067337336, z: 0.000065920896, w: 0.97118855}
scale: {x: 1, y: 1, z: 1} scale: {x: 1, y: 1.0000001, z: 1.0000002}
- name: upperarm_twist_01_r - name: upperarm_twist_01_r
parentName: upperarm_r parentName: upperarm_r
position: {x: 0.0049999235, y: -0.000000085830685, z: 0.00000022888183} position: {x: 0.005, y: -0.000000076293944, z: 0.000000076293944}
rotation: {x: -0.17323476, y: -0.000000088539196, z: -0.00000001273667, w: 0.98488057} rotation: {x: -0.17323482, y: -0.00000024255803, z: 0.000000002725189, w: 0.98488057}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1, z: 1.0000001}
- name: neck_01
parentName: spine_03
position: {x: -0.16558777, y: -0.0035531996, z: 0}
rotation: {x: -0.17966738, y: -0.04215307, z: 0.027518744, w: 0.98243856}
scale: {x: 0.9999999, y: 0.99999994, z: 1}
- name: head
parentName: neck_01
position: {x: -0.092836, y: 0.00364151, z: 0}
rotation: {x: 0.3703453, y: 0.051559858, z: 0.011037241, w: 0.9273965}
scale: {x: 0.9999999, y: 0.9999999, z: 0.99999994}
- name: thigh_l - name: thigh_l
parentName: pelvis parentName: pelvis
position: {x: 0.014487533, y: -0.0053142295, z: -0.090058096} position: {x: 0.01448822, y: -0.0053142332, z: -0.09005809}
rotation: {x: 0.07370505, y: 0.062138807, z: 0.00858431, w: 0.9953053} rotation: {x: 0.52978396, y: 0.052502535, z: 0.08306465, w: 0.84242076}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1.0000002, z: 1}
- name: thigh_twist_01_l
parentName: thigh_l
position: {x: 0.2209423, y: 0.0000000035762786, z: 0.000000038146972}
rotation: {x: -0.047443625, y: -0.000021479917, z: 0.00049110386, w: 0.99887383}
scale: {x: 1, y: 1, z: 1}
- name: calf_l - name: calf_l
parentName: thigh_l parentName: thigh_l
position: {x: 0.4257201, y: 0.000000010728836, z: 0} position: {x: 0.42572033, y: 0, z: 0}
rotation: {x: -0.048884287, y: -0.01886392, z: 0.06552234, w: 0.99647444} rotation: {x: -0.12707841, y: 0.08129498, z: 0.25464967, w: 0.9551942}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 1}
- name: calf_twist_01_l - name: calf_twist_01_l
parentName: calf_l parentName: calf_l
position: {x: 0.2047678, y: -0.000000047683713, z: -0.000000114440915} position: {x: 0.20476776, y: 0, z: 0.000000009536743}
rotation: {x: 0.0028089383, y: 0.0019333779, z: 0.007612651, w: 0.99996525} rotation: {x: 0.010246529, y: 0.001842266, z: 0.007318746, w: 0.99991906}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 1.0000002}
- name: foot_l - name: foot_l
parentName: calf_l parentName: calf_l
position: {x: 0.40196696, y: -0.000000038146972, z: 0.000000057220458} position: {x: 0.40196693, y: -0.000000038146972, z: 0.000000023841856}
rotation: {x: -0.0058857743, y: -0.03199126, z: -0.070354894, w: 0.9969915} rotation: {x: -0.25984076, y: -0.15581343, z: -0.22225875, w: 0.9267179}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000002, y: 1.0000001, z: 1.0000001}
- name: ball_l - name: ball_l
parentName: foot_l parentName: foot_l
position: {x: 0.10453844, y: -0.1657787, z: 0.00080156326} position: {x: 0.10453836, y: -0.16577853, z: 0.0008015823}
rotation: {x: 0.000080097714, y: -0.000029610042, z: 0.7186337, w: 0.6953888} rotation: {x: 0.01150501, y: -0.015001778, z: 0.72166264, w: 0.69198674}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 1.0000001, z: 1.0000001}
- name: thigh_twist_01_l
parentName: thigh_l
position: {x: 0.2209423, y: 0, z: -0.0000000047683715}
rotation: {x: -0.047443617, y: -0.000021427777, z: 0.0004910662, w: 0.99887383}
scale: {x: 0.99999994, y: 0.99999994, z: 1}
- name: thigh_r - name: thigh_r
parentName: pelvis parentName: pelvis
position: {x: 0.014485702, y: -0.00531427, z: 0.09005803} position: {x: 0.014486427, y: -0.0053142747, z: 0.09005803}
rotation: {x: -0.062138796, y: 0.07370505, z: 0.9953053, w: -0.008584373} rotation: {x: -0.18299462, y: -0.076263554, z: 0.9653992, w: -0.16941422}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001}
- name: thigh_twist_01_r
parentName: thigh_r
position: {x: -0.2209423, y: 0.0000000017881393, z: 0.000000076293944}
rotation: {x: -0.04744529, y: -0.000021916712, z: 0.00049117446, w: 0.9988738}
scale: {x: 1, y: 1, z: 1}
- name: calf_r - name: calf_r
parentName: thigh_r parentName: thigh_r
position: {x: -0.42572248, y: -0.000000021457671, z: 0.000000038146972} position: {x: -0.42572254, y: -0.000000038146972, z: -0.000000019073486}
rotation: {x: -0.048884347, y: -0.01886393, z: 0.06552235, w: 0.99647444} rotation: {x: 0.02881302, y: -0.07407041, z: 0.20719513, w: 0.97506595}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1, z: 0.99999994}
- name: calf_twist_01_r - name: calf_twist_01_r
parentName: calf_r parentName: calf_r
position: {x: -0.20476913, y: -0.000000028610229, z: 0} position: {x: -0.20476903, y: 0, z: 0.000000019073486}
rotation: {x: 0.0028072814, y: 0.0019337109, z: 0.007612502, w: 0.99996525} rotation: {x: 0.013646815, y: 0.0018009463, z: 0.0071841157, w: 0.9998795}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.99999994, y: 0.99999994, z: 1.0000001}
- name: foot_r - name: foot_r
parentName: calf_r parentName: calf_r
position: {x: -0.40196815, y: 0.000000009536743, z: -0.000000114440915} position: {x: -0.4019682, y: 0.000000038146972, z: -0.0000001335144}
rotation: {x: -0.005885775, y: -0.031991262, z: -0.07035491, w: 0.9969915} rotation: {x: -0.09342822, y: 0.41939205, z: -0.1945645, w: 0.8817745}
scale: {x: 1, y: 1, z: 1} scale: {x: 0.9999999, y: 1, z: 0.9999999}
- name: ball_r - name: ball_r
parentName: foot_r parentName: foot_r
position: {x: -0.10453817, y: 0.16577816, z: -0.00080169673} position: {x: -0.10453815, y: 0.16577792, z: -0.0008015823}
rotation: {x: 0.00008009213, y: -0.000029603341, z: 0.7186337, w: 0.6953888} rotation: {x: -0.12946461, y: -0.00043473198, z: 0.4600271, w: 0.8784155}
scale: {x: 1, y: 1, z: 1} scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
- name: Armature_Mesh - name: thigh_twist_01_r
parentName: Armature(Clone) parentName: thigh_r
position: {x: -0.22094238, y: 0, z: -0.000000019073486}
rotation: {x: -0.047445256, y: -0.000021972639, z: 0.0004911745, w: 0.9988738}
scale: {x: 1.0000001, y: 1, z: 1}
- name: ik_foot_root
parentName: root
position: {x: -0, y: 0, z: 0} position: {x: -0, y: 0, z: 0}
rotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} rotation: {x: -1.1359555e-28, y: 1.4210855e-14, z: 7.993576e-15, w: 1}
scale: {x: 1.029025, y: 1.029025, z: 1.029025} scale: {x: 1, y: 1, z: 1}
- name: ik_foot_l
parentName: ik_foot_root
position: {x: -0.3093263, y: 0.28878078, z: 0.11690766}
rotation: {x: 0.6488706, y: 0.32674825, z: -0.6179175, w: 0.30063355}
scale: {x: 1, y: 1, z: 1}
- name: ik_foot_r
parentName: ik_foot_root
position: {x: 0.27750742, y: -0.6174421, z: 0.18369715}
rotation: {x: 0.13791609, y: -0.35166878, z: 0.86564475, w: 0.3285841}
scale: {x: 0.99999994, y: 1, z: 1}
- name: ik_hand_root
parentName: root
position: {x: -0, y: 0, z: 0}
rotation: {x: -1.1359555e-28, y: 1.4210855e-14, z: 7.993576e-15, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_gun
parentName: ik_hand_root
position: {x: -0.1604951, y: 0.24690744, z: 0.81566244}
rotation: {x: 0.6849101, y: -0.29072824, z: 0.047615957, w: 0.6664143}
scale: {x: 1, y: 1, z: 1}
- name: ik_hand_l
parentName: ik_hand_gun
position: {x: -0.06526901, y: -0.16038367, z: 0.46446228}
rotation: {x: -0.42340243, y: 0.11589658, z: 0.8646669, w: -0.24423258}
scale: {x: 1, y: 1.0000001, z: 1.0000001}
- name: ik_hand_r
parentName: ik_hand_gun
position: {x: 0.0000016021728, y: -0.000000076293944, z: 0.0000047683716}
rotation: {x: 0.0000071935547, y: 0.0000055022288, z: -0.0000035018124, w: 1}
scale: {x: 1, y: 1, z: 0.99999994}
armTwist: 1 armTwist: 1
foreArmTwist: 0.02 foreArmTwist: 0.02
upperLegTwist: 1 upperLegTwist: 1
@@ -1075,22 +1031,15 @@ ModelImporter:
hasTranslationDoF: 0 hasTranslationDoF: 0
hasExtraRoot: 1 hasExtraRoot: 1
skeletonHasParents: 1 skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 36078ab0369161e49a29d349ae3e0739, lastHumanDescriptionAvatarSource: {instanceID: 0}
type: 3}
autoGenerateAvatarMappingIfUnspecified: 1 autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3 animationType: 3
humanoidOversampling: 1 humanoidOversampling: 1
avatarSetup: 2 avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1 addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 1 remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0 additionalBone: 0
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 269483
packageName: One Handed Sword Animset Pro
packageVersion: 1.0
assetPath: Assets/SwordAnimsetPro/Animations/RootPlace/Attack_Combo_02_04_Anim.FBX
uploadId: 738342

View File

@@ -68,7 +68,7 @@ Material:
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MainTex: - _MainTex:
m_Texture: {fileID: 0} m_Texture: {fileID: 2800000, guid: ecfd8dee444853641b96003ca2f834e8, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MetallicGlossMap: - _MetallicGlossMap:

View File

@@ -25,6 +25,7 @@ Material:
disabledShaderPasses: disabledShaderPasses:
- MOTIONVECTORS - MOTIONVECTORS
- DepthOnly - DepthOnly
- SHADOWCASTER
m_LockedProperties: m_LockedProperties:
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
@@ -122,7 +123,7 @@ Material:
- _ZWrite: 0 - _ZWrite: 0
m_Colors: m_Colors:
- _BaseColor: {r: 0, g: 0, b: 0, a: 0.13} - _BaseColor: {r: 0, g: 0, b: 0, a: 0.13}
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 0.13}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 1} - _SpecColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []

View File

@@ -68,7 +68,7 @@ Material:
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MainTex: - _MainTex:
m_Texture: {fileID: 0} m_Texture: {fileID: 2800000, guid: 586f46705bac2a64383b5a9f7b024323, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MetallicGlossMap: - _MetallicGlossMap:

View File

@@ -68,7 +68,7 @@ Material:
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MainTex: - _MainTex:
m_Texture: {fileID: 0} m_Texture: {fileID: 2800000, guid: 3038f9b0643c18c4c9f7ece56db63dca, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MetallicGlossMap: - _MetallicGlossMap:

View File

@@ -0,0 +1,196 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7966782797081402813
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Crystals_red 1
m_Shader: {fileID: -6465566751694194690, guid: 00a0b3897399f8b42a61a0333dd40ced,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- BASETEXTYPE_ALBEDO_EMISSIVE
- USEDISSOLVE_DONT_USE
- USEFRESNEL
- _ALPHATEST_ON
- _USEDISTANCEFADE
m_InvalidKeywords:
- _EMISSION
- _ENVIRONMENTREFLECTIONS_OFF
- _METALLICSPECGLOSSMAP
- _NORMALMAP
m_LightmapFlags: 2
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2450
stringTagMap:
RenderType: TransparentCutout
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- BaseTex:
m_Texture: {fileID: 2800000, guid: 7905193ef00a1844e9b9e2c14ce9be7f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- DissolveMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- NOSMap:
m_Texture: {fileID: 2800000, guid: ead716f17a0a0f347adaf3ff0a109e6a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 2800000, guid: c0d899801acbe0845902935b9e0e857e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 5a004b07e91ff744aa9143b4cdd46a2d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 2800000, guid: 284695d770a91574cb92ebad906dc6f4, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: c0d899801acbe0845902935b9e0e857e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 18c6ef854a1f94045bcd407172b8d0f6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 2800000, guid: 18c6ef854a1f94045bcd407172b8d0f6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- AOStrength: 3
- AlphaClipThreshold: 0.454
- BASETEXTYPE: 0
- DissolveNoiseScale: 25
- EffectStrenght: 0.14
- FresnelPower: 1.37
- Metalness: 0.13
- NormalStrength: 1.64
- Smoothness: 1.74
- USEDISSOLVE: 0
- USEDISSOLVEMASK: 0
- USEFRESNEL: 1
- Vector1_473704f964214ae2bc68475022d1524b: 0.05
- _AlphaClip: 1
- _AlphaToMask: 1
- _BendEffect: 0
- _BendMaxDistance: 1
- _BendMaxHeight: 0
- _BendMinDistance: 0.2
- _BendMinHeight: 1
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _BumpScale: 1
- _CastShadows: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EffectThreshold: 0
- _EmissionScaleUI: 1.5
- _EnvironmentReflections: 0
- _FadeDistance: 0.28
- _FarFadeDistance: 500
- _GlossMapScale: 0
- _Glossiness: 0.613
- _GlossyReflections: 0
- _InverseFadeRange: 1
- _InverseFarFadeRange: 0.5
- _Metallic: 0.772
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _Threshold: 0.184
- _USEDISTANCEFADE: 1
- _USESCANWAVE: 0
- _UVSec: 0
- _WaveTrail: 4
- _WorkflowMode: 1
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
m_Colors:
- BaseColor: {r: 0.92593974, g: 0.92593974, b: 0.92593974, a: 1}
- Color_613d1588816440ec9b17710effb7528b: {r: 0, g: 13.98681, b: 714.8679, a: 0}
- EmissiveColor: {r: 0.25206095, g: 0, b: 0.6901961, a: 1.5}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BendVector: {r: 0, g: -1, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 29.508846, g: 3.0899315, b: 0, a: 1.5}
- _EmissionColorUI: {r: 1, g: 0.10344824, b: 0, a: 1}
- _FresnelColor: {r: 0.03481903, g: 0, b: 0.70710677, a: 0}
- _ScanWaveColor: {r: 0, g: 0.5949242, b: 1, a: 0}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -1,8 +1,8 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b5eabfbed738a224284015c33b62e54b guid: 4dd6a2e84f333e0448c7f41299d7e12d
timeCreated: 1431698653
licenseType: Store
NativeFormatImporter: NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

View File

@@ -1,5 +1,89 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!114 &-9002994301735285202
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: d20bc7e4150a82f4ba03191390f832f8, type: 3}
m_Name:
m_EditorClassIdentifier:
parameterName: Randomized
weights: 210000002100000021000000
--- !u!1102 &-6212810689603984707
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 4661024869372733565}
m_StateMachineBehaviours:
- {fileID: 6394280332537993716}
- {fileID: 9213551054618683998}
- {fileID: 6184924150879439133}
- {fileID: -9002994301735285202}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -1705551523853769300}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!206 &-1705551523853769300
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400008, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Threshold: 0
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: InputHorizontal
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Threshold: 1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: InputHorizontal
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400054, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Threshold: 2
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: InputHorizontal
m_Mirror: 0
m_BlendParameter: Randomized
m_BlendParameterY: InputHorizontal
m_MinThreshold: 0
m_MaxThreshold: 2
m_UseAutomaticThresholds: 0
m_NormalizedBlendValues: 0
m_BlendType: 0
--- !u!91 &9100000 --- !u!91 &9100000
AnimatorController: AnimatorController:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -201,6 +285,12 @@ AnimatorController:
m_DefaultInt: 0 m_DefaultInt: 0
m_DefaultBool: 0 m_DefaultBool: 0
m_Controller: {fileID: 9100000} m_Controller: {fileID: 9100000}
- m_Name: Randomized
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers: m_AnimatorLayers:
- serializedVersion: 5 - serializedVersion: 5
m_Name: Base Layer m_Name: Base Layer
@@ -15256,41 +15346,6 @@ MonoBehaviour:
sounds: sounds:
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3} - {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
triggerTime: 0 triggerTime: 0
--- !u!114 &114030386879188540
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: f9058122f6ec699438581f28f117350d, type: 3}
m_Name:
m_EditorClassIdentifier:
startDamage: 0.05
endDamage: 0.9
damageMultiplier: 0
recoilID: 1
reactionID: 1
meleeAttackType: 1
damageType:
bodyParts:
- RightLowerArm
ignoreDefense: 0
activeRagdoll: 0
senselessTime: 0
resetAttackTrigger: 0
resetTriggerBeforeTime: 0.5
useAttackTimeScale: 0
slowMoActivationDistance: 3
lowHealthTh: 10
attackTimeScale: 0.2
attackTimeScaleStart: -1
attackTimeScaleEnd: -1
rotatePlayerTowardsTarget: 0
rotationActivationAngle: 45
debug: 0
--- !u!114 &114037387642052710 --- !u!114 &114037387642052710
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -15321,41 +15376,6 @@ MonoBehaviour:
stateInfos: [] stateInfos: []
tags: tags:
- CustomAction - CustomAction
--- !u!114 &114101577822421078
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: f9058122f6ec699438581f28f117350d, type: 3}
m_Name:
m_EditorClassIdentifier:
startDamage: 0.05
endDamage: 0.9
damageMultiplier: 0
recoilID: 2
reactionID: 1
meleeAttackType: 1
damageType:
bodyParts:
- RightLowerArm
ignoreDefense: 0
activeRagdoll: 0
senselessTime: 0
resetAttackTrigger: 1
resetTriggerBeforeTime: 0.5
useAttackTimeScale: 0
slowMoActivationDistance: 3
lowHealthTh: 10
attackTimeScale: 0.2
attackTimeScaleStart: -1
attackTimeScaleEnd: -1
rotatePlayerTowardsTarget: 0
rotationActivationAngle: 45
debug: 0
--- !u!114 &114109424512592286 --- !u!114 &114109424512592286
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -15638,30 +15658,6 @@ MonoBehaviour:
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3} - {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
- {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3} - {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3}
triggerTime: 0 triggerTime: 0
--- !u!114 &114263588767966834
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: 5f3b04f29aa5b134b99e94c78b296dcf, type: 3}
m_Name:
m_EditorClassIdentifier:
stateInfos: []
debug: 0
tags:
- tagName: Attack
tagType: 3
normalizedTime: {x: 0.1, y: 0.8}
- tagName: LockRotation
tagType: 0
normalizedTime: {x: 0.1, y: 0.7}
- tagName: LockMovement
tagType: 1
normalizedTime: {x: 0, y: 0.7}
--- !u!114 &114275699407771092 --- !u!114 &114275699407771092
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -15727,44 +15723,6 @@ MonoBehaviour:
stateInfos: [] stateInfos: []
tags: tags:
- CustomAction - CustomAction
--- !u!114 &114304692954732270
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: ae6dcf6552bd02645a9ceb894d7a6cfa, type: 3}
m_Name:
m_EditorClassIdentifier:
audioSource: {fileID: 106114, guid: dfea19d1d34dd174d87195f78cb44ae7, type: 3}
sounds:
- {fileID: 8300000, guid: 60fdfa301881bae48ae59759cc83b842, type: 3}
- {fileID: 8300000, guid: f82a7d93926f978479349ce3a9e025f6, type: 3}
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
- {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3}
triggerTime: 0
--- !u!114 &114312089054784788
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: ae6dcf6552bd02645a9ceb894d7a6cfa, type: 3}
m_Name:
m_EditorClassIdentifier:
audioSource: {fileID: 106114, guid: dfea19d1d34dd174d87195f78cb44ae7, type: 3}
sounds:
- {fileID: 8300000, guid: 60fdfa301881bae48ae59759cc83b842, type: 3}
- {fileID: 8300000, guid: f82a7d93926f978479349ce3a9e025f6, type: 3}
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
- {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3}
triggerTime: 0
--- !u!114 &114324329624715244 --- !u!114 &114324329624715244
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -15865,25 +15823,6 @@ MonoBehaviour:
- tagName: CustomAction - tagName: CustomAction
tagType: 0 tagType: 0
normalizedTime: {x: 0.1, y: 0.35} normalizedTime: {x: 0.1, y: 0.35}
--- !u!114 &114405241802589726
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: ae6dcf6552bd02645a9ceb894d7a6cfa, type: 3}
m_Name:
m_EditorClassIdentifier:
audioSource: {fileID: 106114, guid: dfea19d1d34dd174d87195f78cb44ae7, type: 3}
sounds:
- {fileID: 8300000, guid: 60fdfa301881bae48ae59759cc83b842, type: 3}
- {fileID: 8300000, guid: f82a7d93926f978479349ce3a9e025f6, type: 3}
- {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3}
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
triggerTime: 0
--- !u!114 &114406195790751738 --- !u!114 &114406195790751738
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -16487,30 +16426,6 @@ MonoBehaviour:
tags: tags:
- LockMovement - LockMovement
- LockRotation - LockRotation
--- !u!114 &114667135945300734
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: 5f3b04f29aa5b134b99e94c78b296dcf, type: 3}
m_Name:
m_EditorClassIdentifier:
stateInfos: []
debug: 0
tags:
- tagName: Attack
tagType: 3
normalizedTime: {x: 0.1, y: 0.8}
- tagName: LockRotation
tagType: 0
normalizedTime: {x: 0.1, y: 0.7}
- tagName: LockMovement
tagType: 1
normalizedTime: {x: 0, y: 0.7}
--- !u!114 &114669916436479170 --- !u!114 &114669916436479170
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -16603,30 +16518,6 @@ MonoBehaviour:
stateInfos: [] stateInfos: []
tags: tags:
- CustomAction - CustomAction
--- !u!114 &114756031459307912
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: 5f3b04f29aa5b134b99e94c78b296dcf, type: 3}
m_Name:
m_EditorClassIdentifier:
stateInfos: []
debug: 0
tags:
- tagName: Attack
tagType: 3
normalizedTime: {x: 0.1, y: 0}
- tagName: LockRotation
tagType: 0
normalizedTime: {x: 0.1, y: 0.7}
- tagName: LockMovement
tagType: 1
normalizedTime: {x: 0, y: 0.7}
--- !u!114 &114771221009366196 --- !u!114 &114771221009366196
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -16724,41 +16615,6 @@ MonoBehaviour:
stateInfos: [] stateInfos: []
tags: tags:
- LockMovement - LockMovement
--- !u!114 &114825370114345668
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: f9058122f6ec699438581f28f117350d, type: 3}
m_Name:
m_EditorClassIdentifier:
startDamage: 0.05
endDamage: 0.9
damageMultiplier: 1
recoilID: 1
reactionID: 1
meleeAttackType: 1
damageType:
bodyParts:
- RightLowerArm
ignoreDefense: 0
activeRagdoll: 0
senselessTime: 0
resetAttackTrigger: 0
resetTriggerBeforeTime: 0.5
useAttackTimeScale: 0
slowMoActivationDistance: 3
lowHealthTh: 10
attackTimeScale: 0.2
attackTimeScaleStart: -1
attackTimeScaleEnd: -1
rotatePlayerTowardsTarget: 0
rotationActivationAngle: 45
debug: 0
--- !u!114 &114838529179133088 --- !u!114 &114838529179133088
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -18027,7 +17883,7 @@ BlendTree:
m_Name: Run m_Name: Run
m_Childs: m_Childs:
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 7400012, guid: 37c6cfe59f56e8a4799011397a870a8b, type: 3} m_Motion: {fileID: 7400106, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0, y: 1} m_Position: {x: 0, y: 1}
m_TimeScale: 1 m_TimeScale: 1
@@ -18153,7 +18009,7 @@ BlendTree:
m_DirectBlendParameter: InputHorizontal m_DirectBlendParameter: InputHorizontal
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 7400012, guid: 37c6cfe59f56e8a4799011397a870a8b, type: 3} m_Motion: {fileID: 7400106, guid: 3ef453d7877555243997dba1cdaa2958, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0, y: 0} m_Position: {x: 0, y: 0}
m_TimeScale: 1 m_TimeScale: 1
@@ -22661,28 +22517,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1101 &1101255493625229458
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.8
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101259247973905158 --- !u!1101 &1101259247973905158
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -22705,31 +22539,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1101 &1101262937642278562
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: WeakAttack
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1102186001672383516}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.11020672
m_TransitionOffset: 0.01405192
m_ExitTime: 0.75
m_HasExitTime: 1
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101264055223708130 --- !u!1101 &1101264055223708130
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -24140,28 +23949,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1101 &1101473625656561818
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.2
m_TransitionOffset: 0
m_ExitTime: 0.85
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101476070418764840 --- !u!1101 &1101476070418764840
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -24920,28 +24707,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1101 &1101559597476362148
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.2
m_TransitionOffset: 0
m_ExitTime: 0.8
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101561649539745982 --- !u!1101 &1101561649539745982
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -27030,31 +26795,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1101 &1101963861138605418
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: WeakAttack
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1102861933717182418}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.14999986
m_TransitionOffset: 0.049623918
m_ExitTime: 0.9116617
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101967999082563810 --- !u!1101 &1101967999082563810
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -28702,36 +28442,6 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &1102186001672383516
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: C
m_Speed: 1.2
m_CycleOffset: 0
m_Transitions:
- {fileID: 1101473625656561818}
m_StateMachineBehaviours:
- {fileID: 114101577822421078}
- {fileID: 114304692954732270}
- {fileID: 114263588767966834}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400064, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102186440903726776 --- !u!1102 &1102186440903726776
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@@ -29810,37 +29520,6 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &1102466317250516052
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A
m_Speed: 1.3
m_CycleOffset: 0
m_Transitions:
- {fileID: 1101963861138605418}
- {fileID: 1101255493625229458}
m_StateMachineBehaviours:
- {fileID: 114825370114345668}
- {fileID: 114405241802589726}
- {fileID: 114667135945300734}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400008, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102473272169605230 --- !u!1102 &1102473272169605230
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@@ -31605,37 +31284,6 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &1102861933717182418
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: B
m_Speed: 1.4
m_CycleOffset: 0
m_Transitions:
- {fileID: 1101262937642278562}
- {fileID: 1101559597476362148}
m_StateMachineBehaviours:
- {fileID: 114030386879188540}
- {fileID: 114312089054784788}
- {fileID: 114756031459307912}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400002, guid: a9e228972999b0d46a21e30edf97d812, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102866145726083920 --- !u!1102 &1102866145726083920
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@@ -33937,14 +33585,8 @@ AnimatorStateMachine:
m_Name: SwordAttack m_Name: SwordAttack
m_ChildStates: m_ChildStates:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102466317250516052} m_State: {fileID: -6212810689603984707}
m_Position: {x: 240, y: 120, z: 0} m_Position: {x: 280, y: 130, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102861933717182418}
m_Position: {x: 240, y: 50, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102186001672383516}
m_Position: {x: 240, y: -20, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@@ -33954,7 +33596,7 @@ AnimatorStateMachine:
m_EntryPosition: {x: 50, y: 120, z: 0} m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 528, y: 60, z: 0} m_ExitPosition: {x: 528, y: 60, z: 0}
m_ParentStateMachinePosition: {x: 504, y: -36, z: 0} m_ParentStateMachinePosition: {x: 504, y: -36, z: 0}
m_DefaultState: {fileID: 1102466317250516052} m_DefaultState: {fileID: -6212810689603984707}
--- !u!1107 &1107517961391708756 --- !u!1107 &1107517961391708756
AnimatorStateMachine: AnimatorStateMachine:
serializedVersion: 6 serializedVersion: 6
@@ -34993,7 +34635,7 @@ AnimatorStateMachine:
m_ChildStateMachines: m_ChildStateMachines:
- serializedVersion: 1 - serializedVersion: 1
m_StateMachine: {fileID: 1107736847571817844} m_StateMachine: {fileID: 1107736847571817844}
m_Position: {x: 540, y: 192, z: 0} m_Position: {x: 540, y: 190, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_StateMachine: {fileID: 1107135120639222350} m_StateMachine: {fileID: 1107135120639222350}
m_Position: {x: 324, y: 132, z: 0} m_Position: {x: 324, y: 132, z: 0}
@@ -37423,3 +37065,103 @@ AnimatorTransition:
m_Mute: 0 m_Mute: 0
m_IsExit: 1 m_IsExit: 1
serializedVersion: 1 serializedVersion: 1
--- !u!1101 &4661024869372733565
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.8840206
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!114 &6184924150879439133
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: f9058122f6ec699438581f28f117350d, type: 3}
m_Name:
m_EditorClassIdentifier:
startDamage: 0.05
endDamage: 0.9
damageMultiplier: 1
recoilID: 1
reactionID: 1
meleeAttackType: 1
damageType:
bodyParts:
- RightLowerArm
ignoreDefense: 0
activeRagdoll: 0
senselessTime: 2
resetAttackTrigger: 0
resetTriggerBeforeTime: 0.5
useAttackTimeScale: 0
slowMoActivationDistance: 3
lowHealthTh: 10
attackTimeScale: 0.2
attackTimeScaleStart: -1
attackTimeScaleEnd: -1
rotatePlayerTowardsTarget: 0
rotationActivationAngle: 45
debug: 0
--- !u!114 &6394280332537993716
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: ae6dcf6552bd02645a9ceb894d7a6cfa, type: 3}
m_Name:
m_EditorClassIdentifier:
audioSource: {fileID: 106114, guid: dfea19d1d34dd174d87195f78cb44ae7, type: 3}
sounds:
- {fileID: 8300000, guid: 60fdfa301881bae48ae59759cc83b842, type: 3}
- {fileID: 8300000, guid: f82a7d93926f978479349ce3a9e025f6, type: 3}
- {fileID: 8300000, guid: cf35a39ed3f005d49bf846fdd9eee7a0, type: 3}
- {fileID: 8300000, guid: 08b5a5b778d6952438c6b3bedaa1e6af, type: 3}
triggerTime: 0
--- !u!114 &9213551054618683998
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: 5f3b04f29aa5b134b99e94c78b296dcf, type: 3}
m_Name:
m_EditorClassIdentifier:
stateInfos: []
debug: 0
tags:
- tagName: Attack
tagType: 3
normalizedTime: {x: 0.1, y: 0.8}
- tagName: LockRotation
tagType: 0
normalizedTime: {x: 0.1, y: 0.7}
- tagName: LockMovement
tagType: 1
normalizedTime: {x: 0, y: 0.7}