2026-04-13 스킬시스템 진행중

This commit is contained in:
2026-04-13 01:42:32 +09:00
parent ba93dc6d2f
commit b2cceb5b27
20 changed files with 1243 additions and 37 deletions

Binary file not shown.

View File

@@ -44,8 +44,5 @@ public class Item : UseableEntry
public float IntervalDamage;
public float IntervalDamageTime;
public override void Use()
{
throw new System.NotImplementedException();
}
public override IUseableRuntime CreateRuntime() => new ItemInstance(this);
}

View File

@@ -1,7 +1,7 @@
using UnityEngine;
[System.Serializable]
public class ItemInstance
public class ItemInstance : IUseableRuntime
{
public Item Data; // 원본 ScriptableObject 참조 (이름, 아이콘 등 불변 데이터)
@@ -18,4 +18,9 @@ public ItemInstance(Item sourceData, int stack = 1)
this.EnhancementLevel = -1;// 기본 강화 수치 (-1은 강화수치가 없는 아이템)
this.Durability = -1; // 기본 내구도 (-1은 내구도가 없는 아이템)
}
public void Execute(UseContext ctx)
{
throw new System.NotImplementedException();
}
}

View File

@@ -26,12 +26,16 @@ public class InputManager : MonoBehaviour
public event Action OnNormalAttackEvent;
public event Action OnHeavyAttackEvent;
public event Action OnInteractionEvent;
public event Action OnKeyDown_SlotQEvent;
public event Action OnKeyDown_SlotEEvent;
public event Action OnKeyDown_SlotREvent;
public event Action OnKeyDown_SlotTEvent;
public event Action OnKeyDown_SlotFEvent;
public event Action OnKeyDown_SlotGEvent;
public event Action<InputState> OnKeyDown_SlotQEvent;
public event Action<InputState> OnKeyDown_SlotEEvent;
public event Action<InputState> OnKeyDown_SlotREvent;
public event Action<InputState> OnKeyDown_SlotTEvent;
public event Action<InputState> OnKeyDown_SlotFEvent;
public event Action<InputState> OnKeyDown_SlotGEvent;
public event Action<InputState> OnAreaConfirmEvent; // Remote 스킬 범위 확정
// 범위 지정 중 기본 공격 차단용 플래그 (SkillModule이 제어)
public bool SuppressNormalAttack { get; set; }
//키조작
@@ -119,6 +123,8 @@ public void SetCharacterInputMap(string mapName)
BindActionCharacter("UseSlot_F",OnKeyDown_Slot);
BindActionCharacter("UseSlot_G",OnKeyDown_Slot);
BindActionCharacter("AreaConfirm", OnAreaConfirm);
BindActionCharacter("Interaction", OnInteraction);
BindActionCharacter("OnkeyDown_IKey", OnKeyDown_IKey);
@@ -224,6 +230,7 @@ private void OnDodge(InputAction.CallbackContext ctx)
private void OnNormalAttack(InputAction.CallbackContext ctx)
{
if (SuppressNormalAttack) return;
OnNormalAttackEvent?.Invoke();
}
@@ -238,11 +245,40 @@ private void OnInteraction(InputAction.CallbackContext ctx)
OnInteractionEvent?.Invoke();
}
private void OnAreaConfirm(InputAction.CallbackContext ctx)
{
if (ctx.started)
OnAreaConfirmEvent?.Invoke(InputState.Started);
}
private void OnKeyDown_Slot(InputAction.CallbackContext ctx)
{
if(ctx.started)
if (ctx.started)
{
if (ctx.action.name == "UseSlot_Q")
{
OnKeyDown_SlotQEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_E")
{
OnKeyDown_SlotEEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_R")
{
OnKeyDown_SlotREvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_T")
{
OnKeyDown_SlotTEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_F")
{
OnKeyDown_SlotFEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_G")
{
OnKeyDown_SlotGEvent?.Invoke(InputState.Started);
}
}
}
#endregion

View File

@@ -109,6 +109,14 @@ public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
InputManager.Instance.OnLookEvent += CurrentCharacterController.LookInput;
InputManager.Instance.OnDodgeEvent += CurrentCharacterController.DodgeInput;
//스킬 범위 확정 (Remote 스킬)
SkillModule sm = CurrentCharacter.GetComponent<SkillModule>();
if (sm != null)
{
InputManager.Instance.OnAreaConfirmEvent -= sm.AreaConfirmInput;
InputManager.Instance.OnAreaConfirmEvent += sm.AreaConfirmInput;
}
//공격매핑
//InputManager.Instance.OnNormalAttackEvent;
//InputManager.Instance.OnHeavyAttackEvent;
@@ -134,6 +142,40 @@ private void ApplyCharacterInfo(PlayerCharacterController pcc, UserCharacter uc)
pcc.PlayerCharacterIdentity.IsDefaultControl = uc.DefaultControl;
}
public void BindSlotAction(string slotName,Action<InputState> slotUseAction)
{
if (slotName == "UseSlot_Q")
{
InputManager.Instance.OnKeyDown_SlotQEvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotQEvent += slotUseAction;
}
else if (slotName == "UseSlot_E")
{
InputManager.Instance.OnKeyDown_SlotEEvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotEEvent += slotUseAction;
}
else if (slotName == "UseSlot_R")
{
InputManager.Instance.OnKeyDown_SlotREvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotREvent += slotUseAction;
}
else if (slotName == "UseSlot_T")
{
InputManager.Instance.OnKeyDown_SlotTEvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotTEvent += slotUseAction;
}
else if (slotName == "UseSlot_F")
{
InputManager.Instance.OnKeyDown_SlotFEvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotFEvent += slotUseAction;
}
else if (slotName == "UseSlot_G")
{
InputManager.Instance.OnKeyDown_SlotGEvent -= slotUseAction;
InputManager.Instance.OnKeyDown_SlotGEvent += slotUseAction;
}
}
private void OnDestroy()
{
if(InputManager.Instance != null)

View File

@@ -116,10 +116,45 @@ private void Awake()
_renderers = GetComponentsInChildren<Renderer>();
}
// 범위 지정 중 회전모드 복구용
private PlayerRotationMode _rotationModeBeforeAreaSelect;
private SkillModule _skillModule;
private void Start()
{
_stateMachine.SetMaxJumpCount(_maxJumpCount);
SetCursorLockState(true);
// 범위 지정 이벤트 구독 — 회전모드만 토글 (이동은 영향 없음)
_skillModule = GetComponent<SkillModule>();
if (_skillModule != null)
{
_skillModule.OnAreaSelectStarted += HandleAreaSelectStarted;
_skillModule.OnAreaSelectEnded += HandleAreaSelectEnded;
}
}
private void OnDestroy()
{
if (_skillModule != null)
{
_skillModule.OnAreaSelectStarted -= HandleAreaSelectStarted;
_skillModule.OnAreaSelectEnded -= HandleAreaSelectEnded;
}
}
private void HandleAreaSelectStarted()
{
_rotationModeBeforeAreaSelect = RotationMode;
RotationMode = PlayerRotationMode.CameraDecoupled;
SetCursorLockState(false); // 마우스 자유 이동
}
private void HandleAreaSelectEnded()
{
RotationMode = _rotationModeBeforeAreaSelect;
SetCursorLockState(true);
}
public void PlayerStart()

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
private WeaponType weaponType;
public WeaponType WType;
}

View File

@@ -65,16 +65,16 @@ public class SkillData : UseableEntry
[Header("레벨별 수치")]
public SkillLevelData[] Levels;
[Header("키 액션 설정")]
public string InputActionName;
public SkillLevelData GetLevelData(int level)
{
int idx = Mathf.Clamp(level - 1, 0, Levels.Length - 1);
return Levels[idx];
}
public override void Use()
{
throw new System.NotImplementedException();
}
public override IUseableRuntime CreateRuntime() => new SkillInstance(this);
}
[System.Serializable]
@@ -90,6 +90,7 @@ public class SkillLevelData
public float ChannelDuration;
public float TickInterval;
public float TickDamage;
public float ActionDuration; // Attack 상태 지속 시간 (스킬 발동 후 Idle 복귀까지)
}
public enum SkillType { Active, Passive }

View File

@@ -1,4 +1,4 @@
public class SkillInstance
public class SkillInstance : IUseableRuntime
{
public SkillData Data { get; private set; }
public int Level { get; set; } = 1;
@@ -23,4 +23,12 @@ public void TickCooldown(float deltaTime)
if (CooldownTimer > 0f)
CooldownTimer -= deltaTime;
}
public void Execute(UseContext ctx)
{
SkillModule skillModule = ctx.Caster.GetComponent<SkillModule>(); //사용자(캐스터)의 스킬 모듈
if (skillModule == null) return;
skillModule.SkillInputByData(Data, ctx.UseInputState);
}
}

View File

@@ -1,10 +1,17 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class SkillModule : MonoBehaviour
{
[SerializeField] private int _maxSlots = 4;
[SerializeField] private LayerMask _groundLayer; // 바닥 레이캐스트용
// 범위 지정 시작/종료 이벤트 (외부에서 RotationMode/UI 등 반응)
public event Action OnAreaSelectStarted;
public event Action OnAreaSelectEnded;
private PlayerStateMachine _stateMachine;
private Animator _anim;
private Transform _transform;
@@ -37,6 +44,18 @@ public class SkillModule : MonoBehaviour
public bool IsCasting => _castingSlot >= 0;
public bool IsChanneling => _channelingSlot >= 0;
[SerializeField] private List<WeaponSkillSet> _weaponSkills;
[SerializeField] private Weapon _equippedWeapon;
private Dictionary<WeaponType, WeaponSkillSet> _dicSkills = new Dictionary<WeaponType, WeaponSkillSet>();
// 슬롯 이름 → 런타임 매핑 (Dispatcher 테이블)
private Dictionary<string, IUseableRuntime> _skillBindData = new Dictionary<string, IUseableRuntime>();
// 퀵슬롯에 바인딩할 슬롯 이름 목록 (스킬용)
private static readonly string[] SkillSlotNames =
{ "UseSlot_Q", "UseSlot_E", "UseSlot_R", "UseSlot_T" };
private void Awake()
{
_stateMachine = GetComponent<PlayerStateMachine>();
@@ -47,6 +66,55 @@ private void Awake()
_skillEffects = new ISkillEffect[_maxSlots];
}
private void Start()
{
// 무기별 스킬셋 테이블 구성
foreach (WeaponSkillSet wss in _weaponSkills)
{
_dicSkills[wss.WeaponType] = wss;
}
// 현재 장착 무기의 스킬셋 로드 (무기 미장착 시 스킬 없음)
if (_equippedWeapon != null
&& _dicSkills.TryGetValue(_equippedWeapon.WType, out WeaponSkillSet out_wss)
&& out_wss != null)
{
LoadWeaponSkills(out_wss);
RegisterSkillsToQuickslot(out_wss);
}
// 각 슬롯에 dispatcher를 한 번만 바인딩 (이후 내용물만 _skillBindData로 교체)
foreach (string slotName in SkillSlotNames)
{
string captured = slotName;
GameManager.Instance.Level.BindSlotAction(captured, (state) => DispatchSlot(captured, state));
}
}
private void DispatchSlot(string slotName, InputState state)
{
if (!_skillBindData.TryGetValue(slotName, out IUseableRuntime runtime) || runtime == null)
return;
runtime.Execute(new UseContext
{
Caster = gameObject,
Target = null,
UseInputState = state
});
}
private void RegisterSkillsToQuickslot(WeaponSkillSet wss)
{
for (int i = 0; i < SkillSlotNames.Length; i++)
{
if (i < wss.Skills.Count && wss.Skills[i] != null)
_skillBindData[SkillSlotNames[i]] = wss.Skills[i].CreateRuntime();
else
_skillBindData.Remove(SkillSlotNames[i]);
}
}
private void Update()
{
TickCooldowns();
@@ -149,9 +217,6 @@ public void AreaConfirmInput(InputState inputState)
#endregion
#region
/// <summary>
/// ActivationType에 따라 적절한 흐름을 시작
/// </summary>
private void BeginActivation(int slotIndex)
{
SkillInstance skill = _equippedSkills[slotIndex];
@@ -220,6 +285,22 @@ private void ExecuteSkill(int slotIndex)
skill.StartCooldown();
_chargeTimer = 0f;
_chargingSlot = -1;
// ActionDuration 경과 후 Idle 복귀
float duration = skill.CurrentLevelData.ActionDuration;
if (duration > 0f)
{
_ = Util.RunDelayed(duration, () =>
{
if (this != null && _stateMachine != null
&& _stateMachine.CurrentState == PlayerState.Attack)
_stateMachine.ChangeState(PlayerState.Idle);
}, default);
}
else
{
_stateMachine.ChangeState(PlayerState.Idle);
}
}
private void ClearRemoteTarget()
@@ -416,13 +497,21 @@ private void StartAreaSelect(int slotIndex)
float range = skill.CurrentLevelData.Range;
_areaIndicator.transform.localScale = new Vector3(range * 2f, range * 2f, range * 2f);
}
// 범위 지정 중에는 좌클릭이 확정 용도로 쓰이므로 기본 공격 차단
InputManager.Instance.SuppressNormalAttack = true;
// 이벤트 발행 — 구독자(PlayerCharacterController 등)가 회전모드 등 처리
OnAreaSelectStarted?.Invoke();
}
private void TickAreaSelect()
{
if (_areaSelectSlot < 0 || _areaIndicator == null) return;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Mouse.current == null) return;
Vector2 mousePos = Mouse.current.position.ReadValue();
Ray ray = Camera.main.ScreenPointToRay(mousePos);
if (Physics.Raycast(ray, out RaycastHit hit, 200f, _groundLayer))
{
_areaIndicator.transform.position = hit.point;
@@ -444,6 +533,10 @@ private void ConfirmAreaSelect()
_areaIndicator = null;
_areaSelectSlot = -1;
// 범위 지정 종료 → 기본 공격 복구
InputManager.Instance.SuppressNormalAttack = false;
OnAreaSelectEnded?.Invoke();
// ActivationType에 따라 흐름 시작
BeginActivation(slotIndex);
}
@@ -455,6 +548,10 @@ public void CancelAreaSelect()
_areaIndicator = null;
_areaSelectSlot = -1;
// 범위 지정 종료 → 기본 공격 복구
InputManager.Instance.SuppressNormalAttack = false;
OnAreaSelectEnded?.Invoke();
}
#endregion
@@ -488,6 +585,23 @@ public SkillInstance GetSkill(int slotIndex)
return _equippedSkills[slotIndex];
}
public void SkillInputByData(SkillData data, InputState inputState)
{
int slotIndex = FindSlotByData(data);
if (slotIndex < 0) return;
SkillInput(slotIndex, inputState);
}
private int FindSlotByData(SkillData data)
{
for (int i = 0; i < _maxSlots; i++)
{
if (_equippedSkills[i] != null && _equippedSkills[i].Data == data)
return i;
}
return -1;
}
public int MaxSlots => _maxSlots;
#endregion
}

View File

@@ -1,12 +1,24 @@
using UnityEngine;
[System.Serializable]
public abstract class UseableEntry : ScriptableObject
public abstract class UseableEntry : ScriptableObject
{
[Header("기본 정보")]
public string EntryName;
[TextArea] public string EntryDesc;
public Sprite Icon;
public abstract void Use();
public abstract IUseableRuntime CreateRuntime();
}
public interface IUseableRuntime
{
public void Execute(UseContext ctx);
}
public struct UseContext
{
public GameObject Caster;
public GameObject Target;
public InputState UseInputState;
}

View File

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

View File

@@ -0,0 +1,837 @@
fileFormatVersion: 2
guid: 10bb096a59482b04099bc99981857970
AssetOrigin:
serializedVersion: 1
productId: 323032
packageName: KAWAII ANIMATIONS Cool Action
packageVersion: 1.4.1.2
assetPath: Assets/KAWAII_ANIMATIOMS_CoolAction/Assets/Animations/Idle/@CA_Idle10_CoolPose2.FBX
uploadId: 862270
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 0
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: Magic1
takeName: Unreal Take
internalID: 8993902097722301239
firstFrame: 0
lastFrame: 270
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 0
loopBlend: 0
loopBlendOrientation: 1
loopBlendPositionY: 1
loopBlendPositionXZ: 1
keepOriginalOrientation: 1
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human:
- boneName: Hips
humanName: Hips
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: Upper Leg_L
humanName: LeftUpperLeg
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: Upper Leg_R
humanName: RightUpperLeg
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: Lower Leg_L
humanName: LeftLowerLeg
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: Lower Leg_R
humanName: RightLowerLeg
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: Foot_L
humanName: LeftFoot
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: Foot_R
humanName: RightFoot
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: Spine
humanName: Spine
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: Chest
humanName: Chest
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: Neck
humanName: Neck
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: Head
humanName: Head
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: Shoulder_L
humanName: LeftShoulder
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: Shoulder_R
humanName: RightShoulder
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: Upper Arm_L
humanName: LeftUpperArm
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: Upper Arm_R
humanName: RightUpperArm
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: Lower Arm_L
humanName: LeftLowerArm
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: Lower Arm_R
humanName: RightLowerArm
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: Hand_L
humanName: LeftHand
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: Hand_R
humanName: RightHand
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: Toes_L
humanName: LeftToes
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: Toes_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 Proximal_L
humanName: Left Thumb Proximal
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 Intermediate_L
humanName: Left Thumb Intermediate
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 Distal_L
humanName: Left Thumb Distal
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: Index Proximal_L
humanName: Left Index Proximal
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: Index Intermediate_L
humanName: Left Index Intermediate
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: Index Distal_L
humanName: Left Index Distal
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: Middle Proximal_L
humanName: Left Middle Proximal
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: Middle Intermediate_L
humanName: Left Middle Intermediate
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: Middle Distal_L
humanName: Left Middle Distal
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: Ring Proximal_L
humanName: Left Ring Proximal
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: Ring Intermediate_L
humanName: Left Ring Intermediate
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: Ring Distal_L
humanName: Left Ring Distal
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: Little Proximal_L
humanName: Left Little Proximal
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: Little Intermediate_L
humanName: Left Little Intermediate
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: Little Distal_L
humanName: Left Little Distal
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 Proximal_R
humanName: Right Thumb Proximal
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 Intermediate_R
humanName: Right Thumb Intermediate
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 Distal_R
humanName: Right Thumb Distal
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: Index Proximal_R
humanName: Right Index Proximal
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: Index Intermediate_R
humanName: Right Index Intermediate
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: Index Distal_R
humanName: Right Index Distal
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: Middle Proximal_R
humanName: Right Middle Proximal
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: Middle Intermediate_R
humanName: Right Middle Intermediate
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: Middle Distal_R
humanName: Right Middle Distal
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: Ring Proximal_R
humanName: Right Ring Proximal
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: Ring Intermediate_R
humanName: Right Ring Intermediate
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: Ring Distal_R
humanName: Right Ring Distal
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: Little Proximal_R
humanName: Right Little Proximal
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: Little Intermediate_R
humanName: Right Little Intermediate
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: Little Distal_R
humanName: Right Little Distal
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: Upper Chest
humanName: UpperChest
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
skeleton:
- name: DummyDoll(Clone)
parentName:
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: DummyDoll
parentName: DummyDoll(Clone)
position: {x: -0, y: 0, z: 0}
rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: root
parentName: DummyDoll(Clone)
position: {x: -0, y: 0, z: 0}
rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Hips
parentName: root
position: {x: -6.82121e-15, y: -0.02650445, z: 0.9547189}
rotation: {x: 0.70675755, y: -0.022218937, z: -0.70675725, w: 0.022235028}
scale: {x: 1.000001, y: 0.9999996, z: 0.99999964}
- name: Upper Leg_R
parentName: Hips
position: {x: -0.0000003814697, y: -0.000000104904174, z: -0.111545846}
rotation: {x: 0.040238734, y: 0.99623805, z: -0.07294469, w: -0.023870306}
scale: {x: 1.0000004, y: 1.0000001, z: 1.0000002}
- name: Lower Leg_R
parentName: Upper Leg_R
position: {x: -0.45751885, y: -0.0000002837181, z: 0.0000002002716}
rotation: {x: 0.000000029159045, y: 0.0000004938982, z: 0.009436982, w: 0.9999555}
scale: {x: 1, y: 1, z: 1}
- name: Foot_R
parentName: Lower Leg_R
position: {x: -0.4170541, y: -0.000000035762785, z: -0.00000021934508}
rotation: {x: 0.000024485393, y: -0.022163179, z: -0.00093511137, w: 0.99975395}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Toes_R
parentName: Foot_R
position: {x: -0.06536754, y: 0.13628979, z: -0.0005054855}
rotation: {x: 0.00000010185003, y: 0.0000004479822, z: -0.7071068, w: 0.70710677}
scale: {x: 0.9999996, y: 0.9999996, z: 1}
- name: Spine
parentName: Hips
position: {x: -0.057038344, y: -0.0005969906, z: -0.000000038895376}
rotation: {x: 0.0000022535664, y: -0.00000020723392, z: -0.11373023, w: 0.9935117}
scale: {x: 1.0000002, y: 1.0000004, z: 0.9999999}
- name: Chest
parentName: Spine
position: {x: -0.1259011, y: 0.000000057220458, z: -0.000000088019114}
rotation: {x: 0.000000326137, y: -0.00000021156718, z: 0.11285861, w: 0.9936111}
scale: {x: 1, y: 1, z: 1}
- name: Upper Chest
parentName: Chest
position: {x: -0.12618561, y: 0, z: -0.00000008265287}
rotation: {x: 0.00000017826137, y: 0.0000010016455, z: 0.085924834, w: 0.99630165}
scale: {x: 0.99999994, y: 0.99999994, z: 1}
- name: Shoulder_R
parentName: Upper Chest
position: {x: -0.19631058, y: -0.011195851, z: -0.009313629}
rotation: {x: 0.65799737, y: 0.012223459, z: 0.75235724, w: 0.029132664}
scale: {x: 1, y: 1.0000002, z: 1.0000001}
- name: Upper Arm_R
parentName: Shoulder_R
position: {x: -0.1529511, y: 0.000000019073486, z: -0.00000030517577}
rotation: {x: -0.07702228, y: -0.045692272, z: 0.008915636, w: 0.99594194}
scale: {x: 0.99999994, y: 0.99999994, z: 1}
- name: Lower Arm_R
parentName: Upper Arm_R
position: {x: -0.27082127, y: -0.0000000047683715, z: -0.00000030517577}
rotation: {x: 0.0003026275, y: -0.0051772376, z: 0.04864607, w: 0.99880266}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Hand_R
parentName: Lower Arm_R
position: {x: -0.26095122, y: -0.000000019073486, z: -0.00000015258789}
rotation: {x: 0.5919214, y: 0.05426045, z: -0.07947171, w: 0.8002307}
scale: {x: 1, y: 1, z: 1}
- name: Thumb Proximal_R
parentName: Hand_R
position: {x: -0.023121718, y: 0.014302216, z: 0.025489386}
rotation: {x: -0.5153376, y: 0.27507347, z: 0.24598812, w: 0.77346736}
scale: {x: 1, y: 1, z: 1}
- name: Thumb Intermediate_R
parentName: Thumb Proximal_R
position: {x: -0.046355132, y: 0, z: 0}
rotation: {x: -0.0002379117, y: -0.010322337, z: -0.032720476, w: 0.9994112}
scale: {x: 1, y: 1, z: 1}
- name: Thumb Distal_R
parentName: Thumb Intermediate_R
position: {x: -0.02708561, y: 0, z: 0}
rotation: {x: 0.00027550853, y: 0.00007376621, z: -0.07339386, w: 0.997303}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Index Proximal_R
parentName: Hand_R
position: {x: -0.08788635, y: -0.0027752684, z: 0.025675429}
rotation: {x: -0.07022335, y: -0.011976093, z: -0.03159469, w: 0.996959}
scale: {x: 1, y: 1, z: 1}
- name: Index Intermediate_R
parentName: Index Proximal_R
position: {x: -0.045769997, y: -0.00000015258789, z: -0.000000038146972}
rotation: {x: 0.000885106, y: 0.000052466952, z: -0.038343985, w: 0.99926424}
scale: {x: 1, y: 1, z: 1}
- name: Index Distal_R
parentName: Index Intermediate_R
position: {x: -0.024790192, y: 0.00000015258789, z: 0}
rotation: {x: -0.0003399891, y: 0.00047517155, z: 0.0027345195, w: 0.9999961}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Middle Proximal_R
parentName: Hand_R
position: {x: -0.086268306, y: -0.007767639, z: 0.0015431213}
rotation: {x: 0.03081698, y: -0.01612433, z: -0.02781587, w: 0.9990078}
scale: {x: 1, y: 1, z: 1}
- name: Middle Intermediate_R
parentName: Middle Proximal_R
position: {x: -0.049218368, y: 0, z: -0.000000019073486}
rotation: {x: -0.001065745, y: 0.0006256154, z: -0.035168123, w: 0.99938065}
scale: {x: 1, y: 1, z: 1}
- name: Middle Distal_R
parentName: Middle Intermediate_R
position: {x: -0.028990936, y: 0, z: 0}
rotation: {x: 0.00010087575, y: -0.00009773458, z: -0.023277627, w: 0.99972904}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Ring Proximal_R
parentName: Hand_R
position: {x: -0.079506226, y: -0.0018624878, z: -0.019933814}
rotation: {x: 0.114333056, y: -0.029358352, z: -0.02064766, w: 0.9927939}
scale: {x: 1, y: 1, z: 1}
- name: Ring Intermediate_R
parentName: Ring Proximal_R
position: {x: -0.042541236, y: -0.00000030517577, z: 0.000000019073486}
rotation: {x: 0.0011102251, y: 0.00060450047, z: -0.03187894, w: 0.9994909}
scale: {x: 1, y: 1, z: 1}
- name: Ring Distal_R
parentName: Ring Intermediate_R
position: {x: -0.03230427, y: 0, z: 0.000000019073486}
rotation: {x: 0.001957161, y: -0.0021207754, z: -0.040364835, w: 0.99918085}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Little Proximal_R
parentName: Hand_R
position: {x: -0.07310257, y: 0.009476013, z: -0.036707878}
rotation: {x: 0.22339673, y: -0.03582061, z: -0.008547372, w: 0.9740317}
scale: {x: 1, y: 1, z: 1}
- name: Little Intermediate_R
parentName: Little Proximal_R
position: {x: -0.028883476, y: 0.00000015258789, z: 0}
rotation: {x: 0.0005747375, y: -0.0003388187, z: -0.03467814, w: 0.99939835}
scale: {x: 1, y: 1, z: 1}
- name: Little Distal_R
parentName: Little Intermediate_R
position: {x: -0.017963257, y: 0.00000015258789, z: -0.000000076293944}
rotation: {x: -0.00042258337, y: -0.00027532896, z: -0.028401475, w: 0.9995965}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Shoulder_L
parentName: Upper Chest
position: {x: -0.19631058, y: -0.011195831, z: 0.009313463}
rotation: {x: -0.65799737, y: -0.012223926, z: 0.7523572, w: 0.029132215}
scale: {x: 1, y: 1.0000001, z: 1.0000001}
- name: Upper Arm_L
parentName: Shoulder_L
position: {x: -0.15295114, y: 0.000000076293944, z: 0}
rotation: {x: 0.077022836, y: 0.045693275, z: 0.008920248, w: 0.9959418}
scale: {x: 0.99999994, y: 0.99999994, z: 1}
- name: Lower Arm_L
parentName: Upper Arm_L
position: {x: -0.27082127, y: -0.000000019073486, z: -0.00000015258789}
rotation: {x: -0.0003028288, y: 0.0051775225, z: 0.048645057, w: 0.99880266}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Hand_L
parentName: Lower Arm_L
position: {x: -0.2609512, y: -0.000000009536743, z: 0}
rotation: {x: -0.5919214, y: -0.054261003, z: -0.07947178, w: 0.8002306}
scale: {x: 1, y: 1, z: 1}
- name: Thumb Proximal_L
parentName: Hand_L
position: {x: -0.023121757, y: 0.014302216, z: -0.025489425}
rotation: {x: 0.5153367, y: -0.27507105, z: 0.24598962, w: 0.7734683}
scale: {x: 0.9999998, y: 0.9999998, z: 1}
- name: Thumb Intermediate_L
parentName: Thumb Proximal_L
position: {x: -0.046355132, y: 0, z: -0.00000015258789}
rotation: {x: 0.00023803097, y: 0.010317333, z: -0.03271555, w: 0.99941146}
scale: {x: 1, y: 1, z: 1}
- name: Thumb Distal_L
parentName: Thumb Intermediate_L
position: {x: -0.027085647, y: 0.000000009536743, z: 0}
rotation: {x: -0.00027762592, y: -0.000074311625, z: -0.07339762, w: 0.9973028}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Index Proximal_L
parentName: Hand_L
position: {x: -0.08788647, y: -0.0027752684, z: -0.025675353}
rotation: {x: 0.07022479, y: 0.011974281, z: -0.031590175, w: 0.996959}
scale: {x: 0.9999998, y: 0.9999998, z: 1}
- name: Index Intermediate_L
parentName: Index Proximal_L
position: {x: -0.045769997, y: 0.00000015258789, z: 0}
rotation: {x: -0.0008913944, y: -0.00004922782, z: -0.03834936, w: 0.999264}
scale: {x: 1, y: 1, z: 1}
- name: Index Distal_L
parentName: Index Intermediate_L
position: {x: -0.024790496, y: 0, z: 0}
rotation: {x: 0.0003467974, y: -0.00048447173, z: 0.0027402185, w: 0.99999607}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Middle Proximal_L
parentName: Hand_L
position: {x: -0.086268425, y: -0.007767639, z: -0.0015430831}
rotation: {x: -0.030818447, y: 0.01612563, z: -0.027813198, w: 0.9990078}
scale: {x: 0.9999998, y: 0.9999998, z: 1}
- name: Middle Intermediate_L
parentName: Middle Proximal_L
position: {x: -0.049218215, y: 0, z: 0}
rotation: {x: 0.0010690034, y: -0.00062743924, z: -0.03517249, w: 0.9993805}
scale: {x: 1, y: 1, z: 1}
- name: Middle Distal_L
parentName: Middle Intermediate_L
position: {x: -0.028990822, y: 0.00000015258789, z: 0}
rotation: {x: -0.000100977646, y: 0.00009784128, z: -0.023277435, w: 0.99972904}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Ring Proximal_L
parentName: Hand_L
position: {x: -0.07950626, y: -0.0018623351, z: 0.01993389}
rotation: {x: -0.11433267, y: 0.029356854, z: -0.020644497, w: 0.99279404}
scale: {x: 0.9999998, y: 0.9999998, z: 1}
- name: Ring Intermediate_L
parentName: Ring Proximal_L
position: {x: -0.042541273, y: -0.00000015258789, z: -0.000000009536743}
rotation: {x: -0.0011089139, y: -0.00060523074, z: -0.03188464, w: 0.99949074}
scale: {x: 1, y: 1, z: 1}
- name: Ring Distal_L
parentName: Ring Intermediate_L
position: {x: -0.032304306, y: 0, z: -0.000000009536743}
rotation: {x: -0.00195807, y: 0.0021218343, z: -0.0403652, w: 0.99918085}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Little Proximal_L
parentName: Hand_L
position: {x: -0.07310261, y: 0.009476165, z: 0.036707878}
rotation: {x: -0.2233959, y: 0.03581828, z: -0.00854546, w: 0.974032}
scale: {x: 0.9999998, y: 0.9999998, z: 1}
- name: Little Intermediate_L
parentName: Little Proximal_L
position: {x: -0.0288834, y: 0.00000015258789, z: 0.000000038146972}
rotation: {x: -0.0005739925, y: 0.00033977616, z: -0.034675606, w: 0.99939847}
scale: {x: 1, y: 1, z: 1}
- name: Little Distal_L
parentName: Little Intermediate_L
position: {x: -0.017963294, y: -0.00000030517577, z: 0}
rotation: {x: 0.0004248866, y: 0.00027329757, z: -0.028401623, w: 0.9995965}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Neck
parentName: Upper Chest
position: {x: -0.25694412, y: 0.000041007996, z: -0.00000023291155}
rotation: {x: -0.0000015347275, y: -0.0000012973799, z: -0.22457749, w: 0.97445625}
scale: {x: 1.0000004, y: 1.0000004, z: 1}
- name: Head
parentName: Neck
position: {x: -0.116071925, y: 0.000000038146972, z: -0.000000077152286}
rotation: {x: -0.00000020574244, y: 0.0000006410187, z: 0.09472147, w: 0.99550384}
scale: {x: 0.99999976, y: 0.99999976, z: 1}
- name: Upper Leg_L
parentName: Hips
position: {x: 0.00000015258789, y: 0.0000002002716, z: 0.11154587}
rotation: {x: 0.04017875, y: 0.9962402, z: 0.07294631, w: 0.023874542}
scale: {x: 1.0000001, y: 1.0000004, z: 1.0000004}
- name: Lower Leg_L
parentName: Upper Leg_L
position: {x: -0.45752007, y: -0.00000024318695, z: 0.000000019073486}
rotation: {x: 0.00000004043173, y: 0.00000027607135, z: 0.009576469, w: 0.99995416}
scale: {x: 1, y: 1, z: 1}
- name: Foot_L
parentName: Lower Leg_L
position: {x: -0.41705385, y: 0.000000013113022, z: -0.00000022888183}
rotation: {x: -0.00002036337, y: 0.022161545, z: -0.001014476, w: 0.9997539}
scale: {x: 1.0000002, y: 1.0000002, z: 1}
- name: Toes_L
parentName: Foot_L
position: {x: -0.065367535, y: 0.13628978, z: 0.00050539017}
rotation: {x: 9.802837e-10, y: 0.00000028177502, z: -0.7071068, w: 0.70710677}
scale: {x: 0.9999996, y: 0.9999996, z: 1}
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 1
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: d5317c42c7d79dd41b326383ba7a0871, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: c948d7d35a597e246a7a75311dea922c
guid: 4d2a741af8ab54c419a2c025cb029db1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -248,6 +248,33 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-7279587472540723383
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: EnergyBeam
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 8897784120516016942}
m_StateMachineBehaviours: []
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: 7400000, guid: 4d2a741af8ab54c419a2c025cb029db1, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-7114703549444218963
AnimatorStateTransition:
m_ObjectHideFlags: 1
@@ -1367,6 +1394,12 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Skill_EnergyBeam
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -1428,6 +1461,31 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1101 &88513172847091173
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: Skill_EnergyBeam
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -7279587472540723383}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &418414025643379083
AnimatorState:
serializedVersion: 6
@@ -2968,10 +3026,10 @@ AnimatorStateMachine:
m_Position: {x: 30, y: -270, z: 0}
- serializedVersion: 1
m_State: {fileID: -8722098701096857895}
m_Position: {x: 530, y: 490, z: 0}
m_Position: {x: 300, y: 450, z: 0}
- serializedVersion: 1
m_State: {fileID: 5274542655692502972}
m_Position: {x: 300, y: 480, z: 0}
m_Position: {x: 300, y: 510, z: 0}
- serializedVersion: 1
m_State: {fileID: 5635060497623533376}
m_Position: {x: -180, y: 150, z: 0}
@@ -2990,6 +3048,9 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: -4916437341567511129}
m_Position: {x: 280, y: -290, z: 0}
- serializedVersion: 1
m_State: {fileID: -7279587472540723383}
m_Position: {x: -820, y: -60, z: 0}
m_ChildStateMachines:
- serializedVersion: 1
m_StateMachine: {fileID: 797225346751225704}
@@ -3007,12 +3068,13 @@ AnimatorStateMachine:
- {fileID: -4193203008948889401}
- {fileID: 3333094965755347066}
- {fileID: 3797849521031659854}
- {fileID: 88513172847091173}
m_EntryTransitions: []
m_StateMachineTransitions:
- first: {fileID: 797225346751225704}
second: []
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: -400, y: -70, z: 0}
m_AnyStatePosition: {x: -580, y: 70, z: 0}
m_EntryPosition: {x: -240, y: -380, z: 0}
m_ExitPosition: {x: 680, y: -10, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
@@ -3061,6 +3123,28 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8897784120516016942
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: 8252589470091190605}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.9722222
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &9132673773557259477
AnimatorStateTransition:
m_ObjectHideFlags: 1

View File

@@ -186,6 +186,15 @@
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "AreaConfirm",
"type": "Button",
"id": "d137b119-95e4-4cac-b73e-e3c93d40b98a",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
@@ -463,6 +472,17 @@
"action": "UseSlot_G",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "61f3bdac-1191-4830-92e1-88a5cbdffeea",
"path": "<Mouse>/leftButton",
"interactions": "",
"processors": "",
"groups": ";Keyboard&Mouse",
"action": "AreaConfirm",
"isComposite": false,
"isPartOfComposite": false
}
]
},