캐릭터 움직임
This commit is contained in:
BIN
Assets/01_Scenes/Chapter1.unity
LFS
BIN
Assets/01_Scenes/Chapter1.unity
LFS
Binary file not shown.
8
Assets/02_Scripts/Editor.meta
Normal file
8
Assets/02_Scripts/Editor.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d49f66f47803c7e4caa8cd8f67da0ecc
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
424
Assets/02_Scripts/Editor/RedCharacterSetup.cs
Normal file
424
Assets/02_Scripts/Editor/RedCharacterSetup.cs
Normal file
@@ -0,0 +1,424 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Animations;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
/// <summary>
|
||||
/// Red 캐릭터의 애니메이션 클립 / 애니메이터 컨트롤러 / 플레이어 프리팹을 한 번에 생성한다.
|
||||
/// 몸(Body)과 무기(Weapon)는 각각 자식 SpriteRenderer이고, 클립 하나가 두 경로를 동시에 구동한다.
|
||||
/// </summary>
|
||||
public static class RedCharacterSetup
|
||||
{
|
||||
private const string Root = "Assets/03_Models/Characters/Red";
|
||||
private const string CharDir = Root + "/Character";
|
||||
private const string SwordDir = Root + "/Weapon";
|
||||
private const string AnimDir = Root + "/Animations";
|
||||
private const string ControllerPath = AnimDir + "/RedAnimController.controller";
|
||||
|
||||
//프레임레이트. 공격과 구르기는 조금 빠르게
|
||||
private const int MoveFps = 8;
|
||||
private const int RollFps = 12;
|
||||
private const int SlashFps = 12;
|
||||
|
||||
//이동/구르기는 8방향, 공격은 대각 4방향 시트만 존재한다
|
||||
private static readonly string[] Dirs8 =
|
||||
{
|
||||
"Down", "DownLeft", "DownRight", "Left", "Right", "Up", "UpLeft", "UpRight"
|
||||
};
|
||||
|
||||
private static readonly string[] Dirs4 =
|
||||
{
|
||||
"DownLeft", "DownRight", "UpLeft", "UpRight"
|
||||
};
|
||||
|
||||
//블렌드 트리에서 각 방향 클립이 놓일 좌표
|
||||
private static readonly Dictionary<string, Vector2> DirVectors = new Dictionary<string, Vector2>
|
||||
{
|
||||
{ "Down", new Vector2( 0f, -1f) },
|
||||
{ "Up", new Vector2( 0f, 1f) },
|
||||
{ "Left", new Vector2(-1f, 0f) },
|
||||
{ "Right", new Vector2( 1f, 0f) },
|
||||
{ "DownLeft", new Vector2(-0.7071f, -0.7071f) },
|
||||
{ "DownRight", new Vector2( 0.7071f, -0.7071f) },
|
||||
{ "UpLeft", new Vector2(-0.7071f, 0.7071f) },
|
||||
{ "UpRight", new Vector2( 0.7071f, 0.7071f) }
|
||||
};
|
||||
|
||||
//애니메이션이 꽂히는 대상. path가 프리팹의 자식 이름과 정확히 일치해야 한다
|
||||
private static EditorCurveBinding BodySprite =>
|
||||
new EditorCurveBinding { path = "Body", type = typeof(SpriteRenderer), propertyName = "m_Sprite" };
|
||||
|
||||
private static EditorCurveBinding WeaponSprite =>
|
||||
new EditorCurveBinding { path = "Weapon", type = typeof(SpriteRenderer), propertyName = "m_Sprite" };
|
||||
|
||||
private static EditorCurveBinding WeaponEnabled =>
|
||||
EditorCurveBinding.FloatCurve("Weapon", typeof(SpriteRenderer), "m_Enabled");
|
||||
|
||||
[MenuItem("Tools/Red/애니메이션 셋업 다시 만들기")]
|
||||
public static void Rebuild()
|
||||
{
|
||||
try
|
||||
{
|
||||
var clips = new Dictionary<string, AnimationClip>();
|
||||
|
||||
foreach (string dir in Dirs8)
|
||||
{
|
||||
Sprite[] walk = LoadSheet(CharDir + "/Character_" + dir + ".png");
|
||||
Sprite[] roll = LoadSheet(CharDir + "/Character_Roll" + dir + ".png");
|
||||
|
||||
//대기: 걷기 시트의 첫 프레임만 사용
|
||||
clips["Idle_" + dir] = BuildClip("Idle_" + dir, new[] { walk[0] }, null, MoveFps, true);
|
||||
clips["Move_" + dir] = BuildClip("Move_" + dir, walk, null, MoveFps, true);
|
||||
clips["Roll_" + dir] = BuildClip("Roll_" + dir, roll, null, RollFps, false);
|
||||
}
|
||||
|
||||
foreach (string dir in Dirs4)
|
||||
{
|
||||
Sprite[] body = LoadSheet(CharDir + "/Character_Slash" + dir + ".png");
|
||||
Sprite[] sword = LoadSheet(SwordDir + "/Sword_" + dir + ".png");
|
||||
|
||||
if (body.Length != sword.Length)
|
||||
{
|
||||
Debug.LogWarning("[RedSetup] Slash" + dir + ": 몸 " + body.Length + "프레임 / 검 "
|
||||
+ sword.Length + "프레임. 짧은 쪽은 마지막 스프라이트를 유지한다.");
|
||||
}
|
||||
|
||||
//몸과 검을 같은 클립 안에서 같이 구동한다
|
||||
clips["Slash_" + dir] = BuildClip("Slash_" + dir, body, sword, SlashFps, false);
|
||||
}
|
||||
|
||||
AnimatorController controller = BuildController(clips);
|
||||
FixUpSceneObject(controller, LoadSheet(CharDir + "/Character_Down.png")[0]);
|
||||
|
||||
Debug.Log("[RedSetup] 클립 " + clips.Count + "개 + 컨트롤러 생성 완료.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
AssetDatabase.SaveAssets();
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>스프라이트 시트를 잘린 순서대로 읽는다.</summary>
|
||||
private static Sprite[] LoadSheet(string path)
|
||||
{
|
||||
Sprite[] sprites = AssetDatabase.LoadAllAssetsAtPath(path).OfType<Sprite>().ToArray();
|
||||
|
||||
if (sprites.Length == 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"스프라이트가 없다: " + path + " (Sprite Mode가 Multiple인지, 슬라이스했는지 확인할 것)");
|
||||
}
|
||||
|
||||
return sprites.OrderBy(TrailingIndex).ToArray();
|
||||
}
|
||||
|
||||
//"Sword_DownLeft_3" -> 3
|
||||
private static int TrailingIndex(Sprite sprite)
|
||||
{
|
||||
int underscore = sprite.name.LastIndexOf('_');
|
||||
|
||||
if (underscore >= 0 && int.TryParse(sprite.name.Substring(underscore + 1), out int index))
|
||||
{
|
||||
return index;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 클립 하나를 만든다. weapon이 null이면 해당 동작 내내 무기 렌더러를 꺼서
|
||||
/// 직전 공격의 칼이 화면에 남아있지 않게 한다.
|
||||
/// </summary>
|
||||
private static AnimationClip BuildClip(string name, Sprite[] body, Sprite[] weapon, int fps, bool loop)
|
||||
{
|
||||
//CopySerialized가 이름까지 덮어쓰므로 여기서 반드시 지정한다
|
||||
var clip = new AnimationClip { name = name, frameRate = fps };
|
||||
|
||||
SetSpriteCurve(clip, BodySprite, body, fps);
|
||||
|
||||
//길이는 몸과 검 중 긴 쪽을 따라간다
|
||||
int frameCount = weapon == null ? body.Length : Mathf.Max(body.Length, weapon.Length);
|
||||
float lastKeyTime = (frameCount - 1) / (float)fps;
|
||||
|
||||
if (weapon != null)
|
||||
{
|
||||
SetSpriteCurve(clip, WeaponSprite, weapon, fps);
|
||||
AnimationUtility.SetEditorCurve(clip, WeaponEnabled, ConstantCurve(1f, lastKeyTime));
|
||||
}
|
||||
else
|
||||
{
|
||||
AnimationUtility.SetEditorCurve(clip, WeaponEnabled, ConstantCurve(0f, lastKeyTime));
|
||||
}
|
||||
|
||||
AnimationClipSettings settings = AnimationUtility.GetAnimationClipSettings(clip);
|
||||
settings.loopTime = loop;
|
||||
AnimationUtility.SetAnimationClipSettings(clip, settings);
|
||||
|
||||
return SaveClip(clip, AnimDir + "/" + name + ".anim");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 프레임을 fps 간격으로 찍는다. 마지막에 종료 키를 따로 넣지 않는다 —
|
||||
/// Unity가 클립 길이를 "마지막 키 + 1프레임"으로 잡아주기 때문에,
|
||||
/// 중복 키를 두면 마지막 프레임만 2배로 길어져서 루프가 끊긴다.
|
||||
/// </summary>
|
||||
private static void SetSpriteCurve(AnimationClip clip, EditorCurveBinding binding, Sprite[] frames, int fps)
|
||||
{
|
||||
var keys = new ObjectReferenceKeyframe[frames.Length];
|
||||
|
||||
for (int i = 0; i < frames.Length; i++)
|
||||
{
|
||||
keys[i] = new ObjectReferenceKeyframe { time = i / (float)fps, value = frames[i] };
|
||||
}
|
||||
|
||||
AnimationUtility.SetObjectReferenceCurve(clip, binding, keys);
|
||||
}
|
||||
|
||||
/// <summary>값이 일정한 커브. 스프라이트 커브의 마지막 키 시각까지만 깔아 클립 길이를 늘리지 않는다.</summary>
|
||||
private static AnimationCurve ConstantCurve(float value, float lastKeyTime)
|
||||
{
|
||||
if (lastKeyTime <= 0f)
|
||||
{
|
||||
return new AnimationCurve(new Keyframe(0f, value));
|
||||
}
|
||||
|
||||
return AnimationCurve.Constant(0f, lastKeyTime, value);
|
||||
}
|
||||
|
||||
//이미 있으면 내용만 덮어써서 GUID를 유지한다
|
||||
private static AnimationClip SaveClip(AnimationClip clip, string path)
|
||||
{
|
||||
var existing = AssetDatabase.LoadAssetAtPath<AnimationClip>(path);
|
||||
|
||||
if (existing != null)
|
||||
{
|
||||
EditorUtility.CopySerialized(clip, existing);
|
||||
EditorUtility.SetDirty(existing);
|
||||
return existing;
|
||||
}
|
||||
|
||||
AssetDatabase.CreateAsset(clip, path);
|
||||
return clip;
|
||||
}
|
||||
|
||||
private static AnimatorController BuildController(Dictionary<string, AnimationClip> clips)
|
||||
{
|
||||
//씬의 Animator가 이 컨트롤러를 참조하므로 에셋을 지우지 않고 내용만 비운다 (GUID 유지)
|
||||
var controller = AssetDatabase.LoadAssetAtPath<AnimatorController>(ControllerPath);
|
||||
|
||||
if (controller == null)
|
||||
{
|
||||
controller = AnimatorController.CreateAnimatorControllerAtPath(ControllerPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearController(controller);
|
||||
}
|
||||
|
||||
//MoveX/MoveY는 "마지막으로 바라본 방향"이다. 둘 다 0이면 블렌드 트리가 방향을 못 고르므로
|
||||
//기본값을 아래쪽(0,-1)으로 둬서 시작하자마자 Idle_Down이 잡히게 한다
|
||||
controller.AddParameter(new AnimatorControllerParameter
|
||||
{
|
||||
name = "MoveX", type = AnimatorControllerParameterType.Float, defaultFloat = 0f
|
||||
});
|
||||
controller.AddParameter(new AnimatorControllerParameter
|
||||
{
|
||||
name = "MoveY", type = AnimatorControllerParameterType.Float, defaultFloat = -1f
|
||||
});
|
||||
controller.AddParameter("Speed", AnimatorControllerParameterType.Float);
|
||||
controller.AddParameter("Attack", AnimatorControllerParameterType.Trigger);
|
||||
controller.AddParameter("Roll", AnimatorControllerParameterType.Trigger);
|
||||
|
||||
AnimatorState idle = AddDirectionalState(controller, "Idle", Dirs8, d => clips["Idle_" + d]);
|
||||
AnimatorState move = AddDirectionalState(controller, "Move", Dirs8, d => clips["Move_" + d]);
|
||||
AnimatorState roll = AddDirectionalState(controller, "Roll", Dirs8, d => clips["Roll_" + d]);
|
||||
AnimatorState slash = AddDirectionalState(controller, "Slash", Dirs4, d => clips["Slash_" + d]);
|
||||
|
||||
AnimatorStateMachine stateMachine = controller.layers[0].stateMachine;
|
||||
stateMachine.defaultState = idle;
|
||||
|
||||
//도트 애니메이션이라 전이 블렌딩은 전부 0
|
||||
AnimatorStateTransition transition = idle.AddTransition(move);
|
||||
transition.hasExitTime = false;
|
||||
transition.duration = 0f;
|
||||
transition.AddCondition(AnimatorConditionMode.Greater, 0.1f, "Speed");
|
||||
|
||||
transition = move.AddTransition(idle);
|
||||
transition.hasExitTime = false;
|
||||
transition.duration = 0f;
|
||||
transition.AddCondition(AnimatorConditionMode.Less, 0.1f, "Speed");
|
||||
|
||||
AddAnyStateTrigger(stateMachine, slash, "Attack");
|
||||
AddAnyStateTrigger(stateMachine, roll, "Roll");
|
||||
|
||||
AddExitToIdle(slash, idle);
|
||||
AddExitToIdle(roll, idle);
|
||||
|
||||
EditorUtility.SetDirty(controller);
|
||||
return controller;
|
||||
}
|
||||
|
||||
/// <summary>컨트롤러 에셋은 그대로 두고 파라미터/스테이트만 전부 비운다.</summary>
|
||||
private static void ClearController(AnimatorController controller)
|
||||
{
|
||||
while (controller.parameters.Length > 0)
|
||||
{
|
||||
controller.RemoveParameter(0);
|
||||
}
|
||||
|
||||
//Base Layer 하나만 남긴다
|
||||
while (controller.layers.Length > 1)
|
||||
{
|
||||
controller.RemoveLayer(controller.layers.Length - 1);
|
||||
}
|
||||
|
||||
if (controller.layers.Length == 0)
|
||||
{
|
||||
controller.AddLayer("Base Layer");
|
||||
}
|
||||
|
||||
AnimatorStateMachine stateMachine = controller.layers[0].stateMachine;
|
||||
|
||||
foreach (AnimatorStateTransition transition in stateMachine.anyStateTransitions.ToArray())
|
||||
{
|
||||
stateMachine.RemoveAnyStateTransition(transition);
|
||||
}
|
||||
|
||||
foreach (AnimatorTransition transition in stateMachine.entryTransitions.ToArray())
|
||||
{
|
||||
stateMachine.RemoveEntryTransition(transition);
|
||||
}
|
||||
|
||||
foreach (ChildAnimatorState child in stateMachine.states.ToArray())
|
||||
{
|
||||
stateMachine.RemoveState(child.state);
|
||||
}
|
||||
|
||||
foreach (ChildAnimatorStateMachine child in stateMachine.stateMachines.ToArray())
|
||||
{
|
||||
stateMachine.RemoveStateMachine(child.stateMachine);
|
||||
}
|
||||
|
||||
//스테이트를 지워도 블렌드 트리 서브에셋은 남으므로 직접 정리한다
|
||||
foreach (UnityEngine.Object sub in AssetDatabase.LoadAllAssetsAtPath(ControllerPath))
|
||||
{
|
||||
if (sub is BlendTree)
|
||||
{
|
||||
UnityEngine.Object.DestroyImmediate(sub, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>8방향(혹은 4방향) 클립을 2D 블렌드 트리 하나로 묶은 스테이트를 만든다.</summary>
|
||||
private static AnimatorState AddDirectionalState(AnimatorController controller, string name,
|
||||
string[] dirs, Func<string, AnimationClip> pick)
|
||||
{
|
||||
AnimatorState state = controller.CreateBlendTreeInController(name, out BlendTree tree, 0);
|
||||
|
||||
tree.name = name;
|
||||
tree.blendType = BlendTreeType.SimpleDirectional2D;
|
||||
tree.blendParameter = "MoveX";
|
||||
tree.blendParameterY = "MoveY";
|
||||
|
||||
foreach (string dir in dirs)
|
||||
{
|
||||
tree.AddChild(pick(dir), DirVectors[dir]);
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
private static void AddAnyStateTrigger(AnimatorStateMachine stateMachine, AnimatorState target, string trigger)
|
||||
{
|
||||
AnimatorStateTransition transition = stateMachine.AddAnyStateTransition(target);
|
||||
transition.hasExitTime = false;
|
||||
transition.duration = 0f;
|
||||
transition.canTransitionToSelf = false;
|
||||
transition.AddCondition(AnimatorConditionMode.If, 0f, trigger);
|
||||
}
|
||||
|
||||
private static void AddExitToIdle(AnimatorState from, AnimatorState idle)
|
||||
{
|
||||
AnimatorStateTransition transition = from.AddTransition(idle);
|
||||
transition.hasExitTime = true;
|
||||
transition.exitTime = 1f;
|
||||
transition.duration = 0f;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 열려있는 씬에서 Body/Weapon 자식을 가진 Animator를 찾아 정렬과 오프셋을 맞춘다.
|
||||
/// 전부 Undo로 되돌릴 수 있다.
|
||||
/// </summary>
|
||||
private static void FixUpSceneObject(AnimatorController controller, Sprite defaultBody)
|
||||
{
|
||||
Animator[] animators = UnityEngine.Object.FindObjectsByType<Animator>(
|
||||
FindObjectsInactive.Include, FindObjectsSortMode.None);
|
||||
|
||||
foreach (Animator animator in animators)
|
||||
{
|
||||
Transform body = animator.transform.Find("Body");
|
||||
Transform weapon = animator.transform.Find("Weapon");
|
||||
|
||||
if (body == null || weapon == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Undo.RecordObject(animator, "Red 셋업");
|
||||
animator.runtimeAnimatorController = controller;
|
||||
animator.applyRootMotion = false;
|
||||
|
||||
//루트에 SortingGroup이 있어야 몸+검이 한 덩어리로 타일맵과 정렬된다
|
||||
if (animator.GetComponent<SortingGroup>() == null)
|
||||
{
|
||||
Undo.AddComponent<SortingGroup>(animator.gameObject);
|
||||
}
|
||||
|
||||
//핵심: 두 시트의 캔버스 중심이 같으므로 로컬 좌표가 정확히 0이어야 픽셀이 맞물린다
|
||||
ResetLocal(body);
|
||||
ResetLocal(weapon);
|
||||
|
||||
//검이 몸 위에 그려지도록 order를 1 높인다
|
||||
SetupRenderer(body, 0, true, defaultBody);
|
||||
SetupRenderer(weapon, 1, false, null);
|
||||
|
||||
EditorSceneManager.MarkSceneDirty(animator.gameObject.scene);
|
||||
Debug.Log("[RedSetup] 씬의 '" + animator.name + "' 계층을 정리했다.");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.LogWarning("[RedSetup] Body/Weapon 자식을 가진 Animator를 씬에서 못 찾았다. 계층 정리는 건너뛴다.");
|
||||
}
|
||||
|
||||
private static void ResetLocal(Transform target)
|
||||
{
|
||||
Undo.RecordObject(target, "Red 셋업");
|
||||
target.localPosition = Vector3.zero;
|
||||
target.localRotation = Quaternion.identity;
|
||||
target.localScale = Vector3.one;
|
||||
}
|
||||
|
||||
private static void SetupRenderer(Transform target, int order, bool enabled, Sprite fallbackSprite)
|
||||
{
|
||||
var renderer = target.GetComponent<SpriteRenderer>();
|
||||
|
||||
if (renderer == null)
|
||||
{
|
||||
renderer = Undo.AddComponent<SpriteRenderer>(target.gameObject);
|
||||
}
|
||||
|
||||
Undo.RecordObject(renderer, "Red 셋업");
|
||||
renderer.sortingOrder = order;
|
||||
renderer.enabled = enabled;
|
||||
|
||||
if (fallbackSprite != null && renderer.sprite == null)
|
||||
{
|
||||
renderer.sprite = fallbackSprite;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/02_Scripts/Editor/RedCharacterSetup.cs.meta
Normal file
2
Assets/02_Scripts/Editor/RedCharacterSetup.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7307926ad7555084d9c3e3fe838b9fb1
|
||||
@@ -9,6 +9,7 @@ private void Awake()
|
||||
if (Instance == null)
|
||||
{
|
||||
Instance = this; //만들어진 자신을 인스턴스로 설정
|
||||
DontDestroyOnLoad(gameObject); //씬이 바뀌어도 파괴되지 않도록 설정
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -9,13 +9,14 @@ public class InputManager : MonoBehaviour, GameInput.ICharacterActions
|
||||
|
||||
private GameInput _input;
|
||||
|
||||
public event Action OnMoveNext_Event;
|
||||
public event Action<Vector2> OnMove_Event;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
Instance = this; //만들어진 자신을 인스턴스로 설정
|
||||
DontDestroyOnLoad(gameObject); //씬이 바뀌어도 파괴되지 않도록 설정
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -33,7 +34,9 @@ private void Awake()
|
||||
|
||||
public void OnMove(InputAction.CallbackContext ctx)
|
||||
{
|
||||
if (ctx.phase == InputActionPhase.Performed)
|
||||
OnMoveNext_Event?.Invoke();
|
||||
// Performed만 받으면 키를 뗐을 때(Canceled) 0이 전달되지 않아 계속 움직인다.
|
||||
// Canceled의 ReadValue는 Vector2.zero를 돌려준다.
|
||||
if (ctx.phase == InputActionPhase.Performed || ctx.phase == InputActionPhase.Canceled)
|
||||
OnMove_Event?.Invoke(ctx.ReadValue<Vector2>());
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ private void Awake()
|
||||
if (Instance == null)
|
||||
{
|
||||
Instance = this; // 만들어진 자신을 인스턴스로 설정
|
||||
DontDestroyOnLoad(gameObject); //씬이 바뀌어도 파괴되지 않도록 설정
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -32,6 +32,7 @@ private void Awake()
|
||||
if (Instance == null)
|
||||
{
|
||||
Instance = this; //만들어진 자신을 인스턴스로 설정
|
||||
DontDestroyOnLoad(gameObject); //씬이 바뀌어도 파괴되지 않도록 설정
|
||||
Initialize();
|
||||
}
|
||||
else
|
||||
|
||||
8
Assets/02_Scripts/Player.meta
Normal file
8
Assets/02_Scripts/Player.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 274e7a11cef810644bd8898810203abe
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
72
Assets/02_Scripts/Player/PlayerController.cs
Normal file
72
Assets/02_Scripts/Player/PlayerController.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(Rigidbody2D))]
|
||||
[RequireComponent(typeof(Animator))]
|
||||
public class PlayerController : MonoBehaviour,ISceneInitializable
|
||||
{
|
||||
// RedAnimController의 파라미터 이름과 정확히 일치해야 한다
|
||||
private const string MoveXParam = "MoveX";
|
||||
private const string MoveYParam = "MoveY";
|
||||
private const string SpeedParam = "Speed";
|
||||
|
||||
[SerializeField] private float _moveSpeed = 4f;
|
||||
|
||||
private Rigidbody2D _rigidbody;
|
||||
private Animator _animator;
|
||||
private Vector2 _moveInput;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_rigidbody = GetComponent<Rigidbody2D>();
|
||||
_animator = GetComponent<Animator>();
|
||||
}
|
||||
|
||||
public void OnSceneLoaded()
|
||||
{
|
||||
// 씬이 다시 로드돼도 중복 구독되지 않도록 먼저 떼고 붙인다
|
||||
InputManager.Instance.OnMove_Event -= this.OnMove;
|
||||
InputManager.Instance.OnMove_Event += this.OnMove;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (InputManager.Instance != null)
|
||||
{
|
||||
InputManager.Instance.OnMove_Event -= this.OnMove;
|
||||
}
|
||||
}
|
||||
|
||||
// 입력 콜백은 값을 받아두기만 한다. 실제 이동은 물리 주기에 맞춰 FixedUpdate에서
|
||||
private void OnMove(Vector2 moveInput)
|
||||
{
|
||||
// 대각선 입력이 (1,1)로 들어오면 더 빨라지므로 길이를 1로 제한
|
||||
_moveInput = Vector2.ClampMagnitude(moveInput, 1f);
|
||||
|
||||
if (_moveInput.sqrMagnitude > 0.01f)
|
||||
{
|
||||
// 블렌드 트리는 스프라이트를 보간하지 못한다. 8방향 중 하나로 스냅해서 넣어야
|
||||
// 한 클립에 가중치가 온전히 실려서 방향 경계에서 깜빡이지 않는다
|
||||
Vector2 facing = SnapTo8(_moveInput);
|
||||
_animator.SetFloat(MoveXParam, facing.x);
|
||||
_animator.SetFloat(MoveYParam, facing.y);
|
||||
}
|
||||
// 입력이 0이면 MoveX/MoveY를 건드리지 않는다 -> 멈춰도 마지막으로 보던 방향을 유지
|
||||
|
||||
_animator.SetFloat(SpeedParam, _moveInput.magnitude);
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
// Dynamic 바디지만 힘을 주지 않고 속도를 직접 대입하므로 관성 없이 딱딱 멈춘다
|
||||
_rigidbody.linearVelocity = _moveInput * _moveSpeed;
|
||||
}
|
||||
|
||||
// 입력 방향을 가장 가까운 45도 배수로 스냅한다 (대각선은 0.7071이 되어 블렌드 트리 좌표와 일치)
|
||||
private static Vector2 SnapTo8(Vector2 direction)
|
||||
{
|
||||
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
|
||||
float snapped = Mathf.Round(angle / 45f) * 45f * Mathf.Deg2Rad;
|
||||
|
||||
return new Vector2(Mathf.Cos(snapped), Mathf.Sin(snapped));
|
||||
}
|
||||
}
|
||||
2
Assets/02_Scripts/Player/PlayerController.cs.meta
Normal file
2
Assets/02_Scripts/Player/PlayerController.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47ae6db5cf5ecb742baa9ac35f217864
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Down.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Down.anim
LFS
Normal file
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fed2f1f82407ce4439d8b6ed375e0667
|
||||
guid: bee9b9660e8e8544cae2d8aaf605697a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_DownLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_DownLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af3aea2623979a545b42d24b2626a970
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_DownRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_DownRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 831d300c370dae044908ea7c4b24913c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Left.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Left.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 859ed0bd2e2bf344eac644c55ce1b10c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Right.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Right.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 37b55debd4507464d97bea1d17f1f342
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Up.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_Up.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d4f3911e5f17c7a45ad2b9843b387435
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_UpLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_UpLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e06d3b793c3a3b4e8082dc7e34d6863
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Idle_UpRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Idle_UpRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 18fd1c74088225841921dc07f0910091
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_Down.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_Down.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1274542e83c3596469df00069ea94a9b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_DownLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_DownLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e51c68809a7894a448c5f8ca2436352f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_DownRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_DownRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4defc5ab46fd1e4dbfcac32a552c4ae
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_Left.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_Left.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a72d8604683330d4483142b57cfcc3e0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_Right.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_Right.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: edf6fb371bb5e9840a5b7c85fe8a4a52
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_Up.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_Up.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39370c662dcdb9d4ab84e2ff5bda6efa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_UpLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_UpLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c06b8932f96846841a2ac8ee2fd752aa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Move_UpRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Move_UpRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b6d420c29a2fb74896a5a7a034fa438
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,136 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1101 &-6874254611879240787
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 3
|
||||
m_ConditionEvent: Speed
|
||||
m_EventTreshold: 0.1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 3622458180250047327}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &-3624203845668539833
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Idle
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: bee9b9660e8e8544cae2d8aaf605697a, type: 2}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: -1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: af3aea2623979a545b42d24b2626a970, type: 2}
|
||||
m_Threshold: 0.14285715
|
||||
m_Position: {x: -0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 831d300c370dae044908ea7c4b24913c, type: 2}
|
||||
m_Threshold: 0.2857143
|
||||
m_Position: {x: 0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 859ed0bd2e2bf344eac644c55ce1b10c, type: 2}
|
||||
m_Threshold: 0.42857143
|
||||
m_Position: {x: -1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 37b55debd4507464d97bea1d17f1f342, type: 2}
|
||||
m_Threshold: 0.5714286
|
||||
m_Position: {x: 1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: d4f3911e5f17c7a45ad2b9843b387435, type: 2}
|
||||
m_Threshold: 0.71428573
|
||||
m_Position: {x: 0, y: 1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 5e06d3b793c3a3b4e8082dc7e34d6863, type: 2}
|
||||
m_Threshold: 0.85714287
|
||||
m_Position: {x: -0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 18fd1c74088225841921dc07f0910091, type: 2}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: MoveX
|
||||
m_BlendParameterY: MoveY
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 1
|
||||
--- !u!1102 &-2486997814425191357
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Roll
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 9182379453996200090}
|
||||
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: 365230908994131198}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -8,7 +139,37 @@ AnimatorController:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: RedAnimController
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorParameters:
|
||||
- m_Name: MoveX
|
||||
m_Type: 1
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: MoveY
|
||||
m_Type: 1
|
||||
m_DefaultFloat: -1
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Speed
|
||||
m_Type: 1
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Attack
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Roll
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@@ -22,66 +183,174 @@ AnimatorController:
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1101 &2519894553696719540
|
||||
--- !u!206 &365230908994131198
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Roll
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: dafe222790aa933469126d76ba290a42, type: 2}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: -1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 5a98bd1920ffad24085c9a1be08ccd68, type: 2}
|
||||
m_Threshold: 0.14285715
|
||||
m_Position: {x: -0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 1d24e6c793f96294597287be9763bb83, type: 2}
|
||||
m_Threshold: 0.2857143
|
||||
m_Position: {x: 0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: ab6daac0679290f488d9d675d6fc7fa1, type: 2}
|
||||
m_Threshold: 0.42857143
|
||||
m_Position: {x: -1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 97c47ff53f667db4db0ba29e5668ee42, type: 2}
|
||||
m_Threshold: 0.5714286
|
||||
m_Position: {x: 1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: fdf0209c7f61349458770e0d5fc15723, type: 2}
|
||||
m_Threshold: 0.71428573
|
||||
m_Position: {x: 0, y: 1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: a27badecb6b0db04d8bfeb961905a84d, type: 2}
|
||||
m_Threshold: 0.85714287
|
||||
m_Position: {x: -0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 257b5420c66878e4aa1fb5cdd6ca2b14, type: 2}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: MoveX
|
||||
m_BlendParameterY: MoveY
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 1
|
||||
--- !u!1102 &448698662924600173
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Slash
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 9082020438067527466}
|
||||
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: 7456827777912271963}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &1489130277080668679
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Roll
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 3987754447849857068}
|
||||
m_DstState: {fileID: -2486997814425191357}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 1
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 0
|
||||
--- !u!1101 &1563611855647061710
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 4
|
||||
m_ConditionEvent: Speed
|
||||
m_EventTreshold: 0.1
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 8330308266414253568}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &3987754447849857068
|
||||
--- !u!1102 &3622458180250047327
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MoveDown
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
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: fed2f1f82407ce4439d8b6ed375e0667, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &6291064502994660405
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Idle
|
||||
m_Name: Move
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 2519894553696719540}
|
||||
- {fileID: 1563611855647061710}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@@ -91,12 +360,37 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 0}
|
||||
m_Motion: {fileID: 8069003335268577343}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &4851453923614252778
|
||||
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: Attack
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 448698662924600173}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 0
|
||||
--- !u!1107 &6815402290229989870
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@@ -107,13 +401,21 @@ AnimatorStateMachine:
|
||||
m_Name: Base Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3987754447849857068}
|
||||
m_Position: {x: 280, y: 250, z: 0}
|
||||
m_State: {fileID: 8330308266414253568}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 6291064502994660405}
|
||||
m_Position: {x: 280, y: 90, z: 0}
|
||||
m_State: {fileID: 3622458180250047327}
|
||||
m_Position: {x: 230, y: 60, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2486997814425191357}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 448698662924600173}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 4851453923614252778}
|
||||
- {fileID: 1489130277080668679}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
@@ -121,4 +423,201 @@ AnimatorStateMachine:
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 6291064502994660405}
|
||||
m_DefaultState: {fileID: 8330308266414253568}
|
||||
--- !u!206 &7456827777912271963
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Slash
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 152b0967f969b07488a3de28d1922062, type: 2}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: -0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: f20be9e9358bead4b841d51d228eda47, type: 2}
|
||||
m_Threshold: 0.33333334
|
||||
m_Position: {x: 0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 6ed3d8ee60b1792428e40711049b1c58, type: 2}
|
||||
m_Threshold: 0.6666667
|
||||
m_Position: {x: -0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: c5e189d0be90850438371df9e728596c, type: 2}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: MoveX
|
||||
m_BlendParameterY: MoveY
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 1
|
||||
--- !u!206 &8069003335268577343
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Move
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 1274542e83c3596469df00069ea94a9b, type: 2}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: -1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: e51c68809a7894a448c5f8ca2436352f, type: 2}
|
||||
m_Threshold: 0.14285715
|
||||
m_Position: {x: -0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: a4defc5ab46fd1e4dbfcac32a552c4ae, type: 2}
|
||||
m_Threshold: 0.2857143
|
||||
m_Position: {x: 0.7071, y: -0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: a72d8604683330d4483142b57cfcc3e0, type: 2}
|
||||
m_Threshold: 0.42857143
|
||||
m_Position: {x: -1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: edf6fb371bb5e9840a5b7c85fe8a4a52, type: 2}
|
||||
m_Threshold: 0.5714286
|
||||
m_Position: {x: 1, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 39370c662dcdb9d4ab84e2ff5bda6efa, type: 2}
|
||||
m_Threshold: 0.71428573
|
||||
m_Position: {x: 0, y: 1}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: c06b8932f96846841a2ac8ee2fd752aa, type: 2}
|
||||
m_Threshold: 0.85714287
|
||||
m_Position: {x: -0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 3b6d420c29a2fb74896a5a7a034fa438, type: 2}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0.7071, y: 0.7071}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: MoveX
|
||||
m_BlendParameterY: MoveY
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 1
|
||||
--- !u!1102 &8330308266414253568
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Idle
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -6874254611879240787}
|
||||
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: -3624203845668539833}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &9082020438067527466
|
||||
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: 8330308266414253568}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &9182379453996200090
|
||||
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: 8330308266414253568}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Down.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Down.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dafe222790aa933469126d76ba290a42
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_DownLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_DownLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a98bd1920ffad24085c9a1be08ccd68
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_DownRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_DownRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1d24e6c793f96294597287be9763bb83
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Left.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Left.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab6daac0679290f488d9d675d6fc7fa1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Right.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Right.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97c47ff53f667db4db0ba29e5668ee42
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Up.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_Up.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fdf0209c7f61349458770e0d5fc15723
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_UpLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_UpLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a27badecb6b0db04d8bfeb961905a84d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Roll_UpRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Roll_UpRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 257b5420c66878e4aa1fb5cdd6ca2b14
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Slash_DownLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Slash_DownLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 152b0967f969b07488a3de28d1922062
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Slash_DownRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Slash_DownRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f20be9e9358bead4b841d51d228eda47
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Slash_UpLeft.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Slash_UpLeft.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ed3d8ee60b1792428e40711049b1c58
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/03_Models/Characters/Red/Animations/Slash_UpRight.anim
LFS
Normal file
BIN
Assets/03_Models/Characters/Red/Animations/Slash_UpRight.anim
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5e189d0be90850438371df9e728596c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -51,7 +51,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 64
|
||||
spritePixelsToUnits: 32
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
@@ -155,7 +155,7 @@ TextureImporter:
|
||||
name: Sword_DownLeft_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 64
|
||||
x: 0
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -177,7 +177,7 @@ TextureImporter:
|
||||
name: Sword_DownLeft_1
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 128
|
||||
x: 64
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -199,7 +199,7 @@ TextureImporter:
|
||||
name: Sword_DownLeft_2
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 192
|
||||
x: 128
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -221,7 +221,7 @@ TextureImporter:
|
||||
name: Sword_DownLeft_3
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
x: 192
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -239,6 +239,28 @@ TextureImporter:
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: Sword_DownLeft_4
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: a7bc5f13e1bc11a468219288115c053c
|
||||
internalID: -1583461277
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
@@ -253,12 +275,13 @@ TextureImporter:
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":false,"isAlternate":false}'
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":true,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
Sword_DownLeft_0: -2142824480320328751
|
||||
Sword_DownLeft_1: 317373939
|
||||
Sword_DownLeft_2: -1931335359
|
||||
Sword_DownLeft_3: -1828721921
|
||||
Sword_DownLeft_4: -1583461277
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
@@ -51,7 +51,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 64
|
||||
spritePixelsToUnits: 32
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
@@ -155,7 +155,7 @@ TextureImporter:
|
||||
name: Sword_DownRight_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 64
|
||||
x: 0
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -177,7 +177,7 @@ TextureImporter:
|
||||
name: Sword_DownRight_1
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 128
|
||||
x: 64
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -199,7 +199,7 @@ TextureImporter:
|
||||
name: Sword_DownRight_2
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 192
|
||||
x: 128
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -221,7 +221,7 @@ TextureImporter:
|
||||
name: Sword_DownRight_3
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
x: 192
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -239,6 +239,28 @@ TextureImporter:
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: Sword_DownRight_4
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 3a4dcd1f8258f5c47aaefb32bac4f108
|
||||
internalID: -1745549409
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
@@ -253,12 +275,13 @@ TextureImporter:
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":false,"isAlternate":false}'
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":true,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
Sword_DownRight_0: 2856535245279941732
|
||||
Sword_DownRight_1: 719989901
|
||||
Sword_DownRight_2: -2017814075
|
||||
Sword_DownRight_3: 2133557999
|
||||
Sword_DownRight_4: -1745549409
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
@@ -51,7 +51,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 64
|
||||
spritePixelsToUnits: 32
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
@@ -155,7 +155,7 @@ TextureImporter:
|
||||
name: Sword_UpLeft_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 64
|
||||
x: 0
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -177,7 +177,7 @@ TextureImporter:
|
||||
name: Sword_UpLeft_1
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 128
|
||||
x: 64
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -199,7 +199,7 @@ TextureImporter:
|
||||
name: Sword_UpLeft_2
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 192
|
||||
x: 128
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -221,7 +221,7 @@ TextureImporter:
|
||||
name: Sword_UpLeft_3
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
x: 192
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -239,6 +239,28 @@ TextureImporter:
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: Sword_UpLeft_4
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 01ad3643a1c0b824786eba0192f81773
|
||||
internalID: -379260504
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
@@ -253,12 +275,13 @@ TextureImporter:
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":false,"isAlternate":false}'
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":true,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
Sword_UpLeft_0: 1474592964514004401
|
||||
Sword_UpLeft_1: 644872843
|
||||
Sword_UpLeft_2: -1934979349
|
||||
Sword_UpLeft_3: -1038432139
|
||||
Sword_UpLeft_4: -379260504
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
@@ -51,7 +51,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 64
|
||||
spritePixelsToUnits: 32
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
@@ -155,7 +155,7 @@ TextureImporter:
|
||||
name: Sword_UpRight_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 64
|
||||
x: 0
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -177,7 +177,7 @@ TextureImporter:
|
||||
name: Sword_UpRight_1
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 128
|
||||
x: 64
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -199,7 +199,7 @@ TextureImporter:
|
||||
name: Sword_UpRight_2
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 192
|
||||
x: 128
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -221,7 +221,7 @@ TextureImporter:
|
||||
name: Sword_UpRight_3
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
x: 192
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
@@ -239,6 +239,28 @@ TextureImporter:
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: Sword_UpRight_4
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 256
|
||||
y: 0
|
||||
width: 64
|
||||
height: 64
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: d7bcaceb770862643b062cf7d656a505
|
||||
internalID: 1754124492
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
@@ -253,12 +275,13 @@ TextureImporter:
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":false,"isAlternate":false}'
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":5.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":true,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
Sword_UpRight_0: 5894810292097335965
|
||||
Sword_UpRight_1: 1272279361
|
||||
Sword_UpRight_2: -1561795567
|
||||
Sword_UpRight_3: 201452026
|
||||
Sword_UpRight_4: 1754124492
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
8
Assets/09_Audio.meta
Normal file
8
Assets/09_Audio.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e572b246d3f2f1043918501268641500
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
179
Assets/09_Audio/MainMixer.mixer
Normal file
179
Assets/09_Audio/MainMixer.mixer
Normal file
@@ -0,0 +1,179 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!244 &-5324969920446821613
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 9574d297d13868d4a993c12a8461a157
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: d0dc888f3ffdd51419b21cf8116c9783
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!244 &-2244843061670963658
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 7aa65ca0d8734b84da33bb87f2db6e31
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: dc896b3ce0669f6488cf7aedba27a148
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!243 &-732110702885293871
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Voice
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 44920747a3ab3fb4e8294cc897b96073
|
||||
m_Children: []
|
||||
m_Volume: 2921b75c2c25e804dad1bd0ab65ad650
|
||||
m_Pitch: f3bafea5ffc5a614aabe7c17fc2cc933
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 6077900021449352154}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!241 &24100000
|
||||
AudioMixerController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MainMixer
|
||||
m_OutputGroup: {fileID: 0}
|
||||
m_MasterGroup: {fileID: 24300002}
|
||||
m_Snapshots:
|
||||
- {fileID: 24500006}
|
||||
m_StartSnapshot: {fileID: 24500006}
|
||||
m_SuspendThreshold: -80
|
||||
m_EnableSuspend: 1
|
||||
m_UpdateMode: 0
|
||||
m_ExposedParameters:
|
||||
- guid: 259374c027a846e419980ff5c7f6eb81
|
||||
name: BGMVolume
|
||||
- guid: 6a450b06adfd9284382a3a61e23c6089
|
||||
name: SFXVolume
|
||||
- guid: 2921b75c2c25e804dad1bd0ab65ad650
|
||||
name: VoiceVolume
|
||||
m_AudioMixerGroupViews:
|
||||
- guids:
|
||||
- 3507131a4c840994db1f00672bd38bb0
|
||||
- 9935e666be825534b836309939f9ece5
|
||||
- 2895b9400835eee428ed5662db5efdeb
|
||||
- 44920747a3ab3fb4e8294cc897b96073
|
||||
name: View
|
||||
m_CurrentViewIndex: 0
|
||||
m_TargetSnapshot: {fileID: 24500006}
|
||||
--- !u!243 &24300002
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Master
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 3507131a4c840994db1f00672bd38bb0
|
||||
m_Children:
|
||||
- {fileID: 3598538316407597431}
|
||||
- {fileID: 3948324488117445298}
|
||||
- {fileID: -732110702885293871}
|
||||
m_Volume: 31b10d7c75816784ebf9c93be7e952f8
|
||||
m_Pitch: b5e50300426506b42acf6a11ec8a29b2
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 24400004}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &24400004
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 9a952eb33861fa0419edf8be57102413
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 2d6983b9cd7ba7741943906d93581642
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!245 &24500006
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Snapshot
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: 40184ba2472f2014487e567ca80e1b31
|
||||
m_FloatValues: {}
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!243 &3598538316407597431
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: BGM
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 9935e666be825534b836309939f9ece5
|
||||
m_Children: []
|
||||
m_Volume: 259374c027a846e419980ff5c7f6eb81
|
||||
m_Pitch: 79ca8e4cb3a30a144b7ca5a96ab0ba9c
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -2244843061670963658}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!243 &3948324488117445298
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SFX
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 2895b9400835eee428ed5662db5efdeb
|
||||
m_Children: []
|
||||
m_Volume: 6a450b06adfd9284382a3a61e23c6089
|
||||
m_Pitch: 7b71e76385eef9e4887f872dc178306a
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -5324969920446821613}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &6077900021449352154
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: b6905761785874b4d8de3d028b7d1f60
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 621171f7bf0ef5646a0a14d5af3ba367
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
8
Assets/09_Audio/MainMixer.mixer.meta
Normal file
8
Assets/09_Audio/MainMixer.mixer.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 89bd4c4e531e0e74ca5ddc9017655ac4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 24100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user