Compare commits

...

21 Commits

Author SHA1 Message Date
066111702a Update README.md 2026-05-15 05:12:40 +00:00
12a8b744a9 Merge branch 'main' of https://www.nakjungit.site/sharedacc520k/Shopping_UnityVR 2026-05-12 17:59:09 +09:00
9afd9057d7 2026-05-12 SceneLoadManager의 주석 수정 2026-05-12 17:58:51 +09:00
e38d2b6e59 Update README.md 2026-05-12 08:07:02 +00:00
f4f0682897 미흡사항 수정 2026-05-12 10:52:18 +09:00
ba7a829d95 사운드 밸런스 수정중 2026-05-11 18:04:32 +09:00
fcdae4947e 버그 수정 2026-05-11 17:27:04 +09:00
73aebe2d8c 애니메이션 변경 2026-05-11 15:08:22 +09:00
b7bb3e5f1f 사양 조정 2026-05-11 14:18:36 +09:00
38a965c68a 버그 수정 2026-05-11 13:19:22 +09:00
a35b7f8b17 미션 생성기 2026-05-11 13:12:48 +09:00
23470d36a9 예산 2026-05-11 13:00:44 +09:00
5e835c5473 중간저장 2026-05-11 12:44:44 +09:00
723c2742a1 중간저장 2026-05-11 11:59:12 +09:00
3676ac0b04 중간저장 2026-05-11 11:53:23 +09:00
skrwns304@gmail.com
ce4bd1fade 중간저장 2026-05-09 14:31:09 +09:00
skrwns304@gmail.com
4d460cf6fc 중간저장 2026-05-09 12:20:50 +09:00
skrwns304@gmail.com
a988d8e164 재세팅 2026-05-05 03:28:26 +09:00
skrwns304@gmail.com
3c14564269 Merge branch 'main' of https://www.nakjungit.site/sharedacc520k/Shopping_UnityVR 2026-05-05 01:56:25 +09:00
skrwns304@gmail.com
f48c7380c6 인터페이스명 변경2 2026-05-05 01:56:19 +09:00
skrwns304@gmail.com
0c9b6dd72e 인터페이스명 변경 2026-05-05 01:56:03 +09:00
267 changed files with 22676 additions and 117 deletions

View File

@@ -67,5 +67,5 @@
"*.sln": "*.csproj",
"*.slnx": "*.csproj"
},
"dotnet.defaultSolution": "Shpping_UnityVR.slnx"
"dotnet.defaultSolution": "Shopping_UnityVR.slnx"
}

Binary file not shown.

View File

@@ -1,28 +1,43 @@
using System;
using UnityEngine;
using UnityEngine.Serialization;
namespace VRShopping.Player
{
public class PlayerWallet : MonoBehaviour
{
//예산
[Min(0)] public int Budget;
// 예산 (Inspector에서 초기값 설정)
[SerializeField, Min(0), FormerlySerializedAs("Budget")]
private int _budget;
// UI 갱신용 이벤트
public event Action<int> OnBudgetChanged;
public int Budget => _budget;
private void Start()
{
OnBudgetChanged?.Invoke(_budget);
}
public bool PayMoney(int cost)
{
bool successFlag;
//예산이 비용보다 많을시
if(Budget >= cost)
if (_budget >= cost)
{
Budget -= cost;
successFlag = true;
}
else //예산 부족
{
successFlag = false;
_budget -= cost;
OnBudgetChanged?.Invoke(_budget);
return true;
}
//예산 부족
return false;
}
return successFlag;
// 미션 생성 시점에 예산 덮어쓰기
public void SetBudget(int budget)
{
_budget = Mathf.Max(0, budget);
OnBudgetChanged?.Invoke(_budget);
}
}
}

View File

@@ -11,5 +11,13 @@ public class ShoppingOrderEntry
public ProductGroup ProductGroup => _productGroup;
public int RequiredQuantity => _requiredQuantity;
public ShoppingOrderEntry() { }
public ShoppingOrderEntry(ProductGroup productGroup, int requiredQuantity)
{
_productGroup = productGroup;
_requiredQuantity = requiredQuantity;
}
}
}

View File

@@ -10,5 +10,12 @@ public class ShoppingOrderList : ScriptableObject
public IReadOnlyList<ShoppingOrderEntry> Entries => _entries;
public int Count => _entries.Count;
// 런타임 생성용 (MissionGenerator 등에서 사용)
public void SetEntries(IEnumerable<ShoppingOrderEntry> entries)
{
_entries.Clear();
_entries.AddRange(entries);
}
}
}

View File

@@ -1,6 +1,6 @@
using UnityEngine;
public interface ITransScenePossible
public interface ISceneInitializable
{
public void OnSceneLoaded();
}

View File

@@ -48,7 +48,9 @@ public enum ItemCategory
Household,
Tea,
Pet,
Frozen
Frozen,
Sauce,
Instant
}
@@ -95,7 +97,21 @@ public enum ProductGroup
Orange,
Apple,
Banana,
Paprika
Paprika,
Potato,
Cabbage,
Broccoli,
Aubergine,
Tomato,
Cucumber,
Onion,
Bacon,
Cookie,
Cereal,
GreenTea,
Ketchup,
Mustard,
Soup
}
}

View File

@@ -0,0 +1,71 @@
namespace VRShopping.Items
{
// ProductGroup의 사용자 표시용 한글 라벨.
// UI 표시(쇼핑 목록, 부족 항목 등)에는 ToKorean()을 사용.
public static class ProductGroupExtensions
{
public static string ToKorean(this ProductGroup group)
{
return group switch
{
ProductGroup.None => "없음",
ProductGroup.ChocoBar => "초코바",
ProductGroup.PotatoChip => "감자칩",
ProductGroup.GreenBeans => "그린빈",
ProductGroup.CheeseChip => "치즈칩",
ProductGroup.Rice => "쌀",
ProductGroup.Pasta => "파스타",
ProductGroup.Butter => "버터",
ProductGroup.Cheese => "치즈",
ProductGroup.Milk => "우유",
ProductGroup.Diaper => "기저귀",
ProductGroup.GrainMixTea => "곡물차",
ProductGroup.Shampoo => "샴푸",
ProductGroup.Conditioner => "린스",
ProductGroup.HairSpray => "헤어스프레이",
ProductGroup.ShaveFoam => "면도크림",
ProductGroup.SunCream => "선크림",
ProductGroup.Lotion => "로션",
ProductGroup.Gum => "껌",
ProductGroup.WetWipes => "물티슈",
ProductGroup.Toothpaste => "치약",
ProductGroup.DogFood => "강아지 사료",
ProductGroup.JAM => "잼",
ProductGroup.Juice => "주스",
ProductGroup.LaundryDetergent => "세탁 세제",
ProductGroup.ClothesConditioner => "섬유유연제",
ProductGroup.Coffee => "커피",
ProductGroup.Cleaner => "세정제",
ProductGroup.Candy => "사탕",
ProductGroup.Jelly => "젤리",
ProductGroup.Soda => "탄산음료",
ProductGroup.Yogurt => "요거트",
ProductGroup.Water => "생수",
ProductGroup.SoftFlour => "박력분",
ProductGroup.StrongFlour => "강력분",
ProductGroup.MediumFlour => "중력분",
ProductGroup.Icecream => "아이스크림",
ProductGroup.Watermelon => "수박",
ProductGroup.Orange => "오렌지",
ProductGroup.Apple => "사과",
ProductGroup.Banana => "바나나",
ProductGroup.Paprika => "파프리카",
ProductGroup.Potato => "감자",
ProductGroup.Cabbage => "양배추",
ProductGroup.Broccoli => "브로콜리",
ProductGroup.Aubergine => "가지",
ProductGroup.Tomato => "토마토",
ProductGroup.Cucumber => "오이",
ProductGroup.Onion => "양파",
ProductGroup.Bacon => "베이컨",
ProductGroup.Cookie => "쿠키",
ProductGroup.Cereal => "시리얼",
ProductGroup.GreenTea => "녹차",
ProductGroup.Ketchup => "케첩",
ProductGroup.Mustard => "머스타드",
ProductGroup.Soup => "수프",
_ => group.ToString()
};
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 771a141a621a0c74e9be8b2129869324

View File

@@ -4,7 +4,7 @@
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class GameManager : MonoBehaviour,ITransScenePossible
public class GameManager : MonoBehaviour,ISceneInitializable
{
public static GameManager Instance;

View File

@@ -1,5 +1,4 @@
using System;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneLoadManager : MonoBehaviour
@@ -18,7 +17,6 @@ public class SceneLoadManager : MonoBehaviour
// 정상(밝음) 상태에서의 스카이박스 _Exposure 값. 페이드 인의 도착 지점.
[SerializeField, Min(0f)] private float _skyboxNormalExposure = 1f;
// 공유 에셋이 더러워지지 않도록 런타임 인스턴스로 복제해 사용
private Material _runtimeStartSkybox;
private Material _runtimeLoadingSkybox;
@@ -47,7 +45,6 @@ private void Awake()
private void OnDestroy()
{
// 런타임 복제 인스턴스는 직접 정리
if (_runtimeStartSkybox != null) Destroy(_runtimeStartSkybox);
if (_runtimeLoadingSkybox != null) Destroy(_runtimeLoadingSkybox);
}
@@ -69,17 +66,16 @@ private void Update()
//씬이 로드되었을때 호출
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
Debug.Log("씬 로드됨");
if(scene.name == "GameScene")
{
MonoBehaviour[] allObjs = UnityEngine.Object.FindObjectsByType<MonoBehaviour>(FindObjectsSortMode.None);
foreach (var obj in allObjs)
{
if (obj is ITransScenePossible itsp)
if (obj is ISceneInitializable initializable)
{
itsp.OnSceneLoaded();
//씬에서 ISceneInitializable 인터페이스를 가진 오브젝트의 초기화 로직을 실행
initializable.OnSceneLoaded();
}
}
}
@@ -104,7 +100,6 @@ public async Awaitable FadeLoadingCanvas(bool isOut,float fadeTime)
}
// 현재 RenderSettings.skybox의 _Exposure를 from→to로 보간
// Skybox/Procedural, /Cubemap, /Panoramic 셰이더 공통 프로퍼티
private async Awaitable FadeSkybox(float from, float to, float duration)
{
var sky = RenderSettings.skybox;
@@ -165,17 +160,19 @@ private async Awaitable SceneChange(string sceneName)
{
try
{
//로딩바 수치 0으로 설정
SetSceneLoadingProgressValue(0f);
//스카이 박스 페이드 아웃 로직
//스카이 박스 페이드 아웃
await FadeSkybox(_skyboxNormalExposure, 0f, _skyboxFadeTime);
// 검게 된 상태에서 머티리얼 교체 (교체 순간이 가려져 깜빡임 없음)
RenderSettings.skybox = _runtimeLoadingSkybox;
//스카이 박스 페이드 인 로직
//스카이 박스 페이드 인
await FadeSkybox(0f, _skyboxNormalExposure, _skyboxFadeTime);
//로딩창을 1초에 걸쳐 나타나게함
await SetSceneLoadingActive(true,1f);
AsyncOperation op = SceneManager.LoadSceneAsync(sceneName);
@@ -186,7 +183,7 @@ private async Awaitable SceneChange(string sceneName)
//화면에 보여줄 로딩 수치
float displayProgress = 0f;
//op.progress 0.9가 데이터 로딩이 끝난 기준 allowSceneActivation이 트루면 바로 다음으로 넘어가면서 op.isDone이 true가 된다.
//op.progress 0.9가 데이터 로딩이 끝난 기준 allowSceneActivation이 트루면 다음으로 넘어가면서 op.isDone이 true가 된다.
while (op.progress < 0.9f)
{
//실제 로딩 수치
@@ -195,26 +192,28 @@ private async Awaitable SceneChange(string sceneName)
//보여줄 값을 실제값을 향해 부드럽게 이동
displayProgress = Mathf.MoveTowards(displayProgress, realProgress, Time.deltaTime * 0.5f);
// UI에 적용
// 로딩바 UI에 적용
SetSceneLoadingProgressValue(displayProgress);
await Awaitable.NextFrameAsync(this.destroyCancellationToken); //자기자신이 파괴될때 토큰에 취소요청을 보냄
//자기자신이 파괴될때 토큰에 취소요청을 보냄
await Awaitable.NextFrameAsync(this.destroyCancellationToken);
}
//로딩바 수치 1(100%)로 설정 (데이터 로딩은 이미 끝이기 때문에)
SetSceneLoadingProgressValue(1);
// 잠시 대기했다가 전환
await Awaitable.WaitForSecondsAsync(1.0f, this.destroyCancellationToken);
// 로딩바가 1초에 걸쳐 사라짐
await SetSceneLoadingActive(false,1f);
//스카이 박스 페이드 아웃
await FadeSkybox(_skyboxNormalExposure, 0f, _skyboxFadeTime);
// 검게 된 상태에서 정상 스카이박스로 교체
RenderSettings.skybox = _runtimeStartSkybox;
//로딩 끝
// 다음씬으로 넘어가도 됨을 알림
op.allowSceneActivation = true;
// 씬 활성화가 완전히 끝날 때까지 대기
@@ -227,12 +226,8 @@ private async Awaitable SceneChange(string sceneName)
//VR용 로직
//트래킹이 중단되면 안되기 때문에 카메라를 유지해야 한다
_loadingCamTargetTransform = Camera.main.transform; // 새로운 씬의 메인카메라를 따라가게끔 설정
//-------------------------------------------------------------------------------
//스카이 박스 페이드 인
await FadeSkybox(0f, _skyboxNormalExposure, _skyboxFadeTime);
Debug.Log("씬 전환됨");
}
catch (OperationCanceledException)
{

View File

@@ -6,7 +6,7 @@
using VRShopping.Shopping;
using VRShopping.UI;
public class PlayerController : MonoBehaviour,ITransScenePossible
public class PlayerController : MonoBehaviour,ISceneInitializable
{
private Animator _anim;
@@ -58,7 +58,7 @@ public void Checkout(CheckoutMachine checkoutMachine)
else
{
var parts = new List<string>(missing.Count);
foreach (var (group, shortage) in missing) parts.Add($"{group} x{shortage}");
foreach (var (group, shortage) in missing) parts.Add($"{group.ToKorean()} x{shortage}");
GameManager.Instance.GameSceneUI.ShowMissingPanel(parts);
}
}

View File

@@ -0,0 +1,123 @@
using System.Collections.Generic;
using UnityEngine;
using VRShopping.Items;
using VRShopping.Player;
using VRShopping.UI;
namespace VRShopping.Shopping
{
// 씬 로드 시 현재 씬의 상품 재고를 스캔해서 랜덤 쇼핑 미션과 예산을 생성한다.
// - 미션 항목 수: [_minMissionCount, _maxMissionCount] 범위에서 랜덤 (씬 보유 그룹 수로 자동 클램프)
// - 항목당 수량: [1, _maxQuantityPerEntry] 범위에서 랜덤 (그룹별 재고 수로 자동 클램프)
// - 예산: 그룹별 최저가 기준 최적 비용 × (1 + Random[_budgetMarginMin, _budgetMarginMax])
public class MissionGenerator : MonoBehaviour, ISceneInitializable
{
[Header("Mission Size")]
[SerializeField, Min(1)] private int _minMissionCount = 10;
[SerializeField, Min(1)] private int _maxMissionCount = 15;
[Header("Quantity Per Entry")]
[SerializeField, Min(1)] private int _maxQuantityPerEntry = 5;
[Header("Budget Margin (over optimal cost)")]
[SerializeField, Range(0f, 1f)] private float _budgetMarginMin = 0.20f;
[SerializeField, Range(0f, 1f)] private float _budgetMarginMax = 0.30f;
// 테스트용 — 여기에 추가된 ProductGroup은 미션 후보에서 자동 제외
[Header("Excluded Groups (Test)")]
[SerializeField] private List<ProductGroup> _excludedGroups = new List<ProductGroup>();
[Header("References")]
[SerializeField] private ShoppingOrderView _orderView;
[SerializeField] private PlayerWallet _wallet;
public void OnSceneLoaded()
{
Generate();
}
public void Generate()
{
if (_orderView == null || _wallet == null)
{
Debug.LogWarning("[MissionGenerator] 참조 누락 (orderView/wallet)");
return;
}
// 1. 씬의 모든 상품을 ProductGroup별로 집계 (None, 제외 그룹, ItemData 누락은 제외)
var stockByGroup = new Dictionary<ProductGroup, List<ItemData>>();
var allItems = Object.FindObjectsByType<ItemInstance>(FindObjectsSortMode.None);
foreach (var inst in allItems)
{
var data = inst.ItemDataInfo;
if (data == null) continue;
if (data.ProductGroup == ProductGroup.None) continue;
if (_excludedGroups.Contains(data.ProductGroup)) continue;
if (!stockByGroup.TryGetValue(data.ProductGroup, out var list))
{
list = new List<ItemData>();
stockByGroup[data.ProductGroup] = list;
}
list.Add(data);
}
if (stockByGroup.Count == 0)
{
Debug.LogWarning("[MissionGenerator] 씬에 유효한 상품이 없습니다");
return;
}
// 2. 사용 가능한 그룹 풀에서 미션 개수만큼 무작위 선택
var groupPool = new List<ProductGroup>(stockByGroup.Keys);
Shuffle(groupPool);
int desiredCount = Random.Range(_minMissionCount, _maxMissionCount + 1);
int missionCount = Mathf.Min(desiredCount, groupPool.Count);
// 3. 각 그룹별로 (재고로 클램프된) 수량 부여 + 최저가 기준 최적 비용 누적
var entries = new List<ShoppingOrderEntry>(missionCount);
int optimalCost = 0;
for (int i = 0; i < missionCount; i++)
{
var group = groupPool[i];
var stock = stockByGroup[group];
int maxQty = Mathf.Min(_maxQuantityPerEntry, stock.Count);
int qty = Random.Range(1, maxQty + 1);
int cheapestPrice = int.MaxValue;
foreach (var data in stock)
{
if (data.FinalPrice < cheapestPrice) cheapestPrice = data.FinalPrice;
}
entries.Add(new ShoppingOrderEntry(group, qty));
optimalCost += cheapestPrice * qty;
}
// 4. 런타임 ShoppingOrderList 생성 후 뷰에 주입
var runtimeList = ScriptableObject.CreateInstance<ShoppingOrderList>();
runtimeList.name = "ShoppingOrderList (Runtime)";
runtimeList.SetEntries(entries);
_orderView.SetOrderList(runtimeList);
// 5. 예산 책정 (최적 비용 + 20~30% 마진)
float margin = Random.Range(_budgetMarginMin, _budgetMarginMax);
int budget = Mathf.CeilToInt(optimalCost * (1f + margin));
_wallet.SetBudget(budget);
Debug.Log($"[MissionGenerator] 미션 {missionCount}개 / 최적가 {optimalCost:N0} / 예산 {budget:N0} (+{margin * 100f:F0}%)");
}
private static void Shuffle<T>(IList<T> list)
{
for (int i = list.Count - 1; i > 0; i--)
{
int j = Random.Range(0, i + 1);
(list[i], list[j]) = (list[j], list[i]);
}
}
}
}

View File

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

View File

@@ -8,9 +8,16 @@ public class BGMHud : MonoBehaviour
private BGMBox currentBgm;
[SerializeField] private BGMClip DefaultBgm;
[SerializeField, Min(0f)] private float _defaultBgmStartDelay = 2f;
public void Start()
public async void Start()
{
if (_defaultBgmStartDelay > 0f)
await Awaitable.WaitForSecondsAsync(_defaultBgmStartDelay);
// 지연 도중에 이미 다른 곡이 재생되었으면 디폴트는 건너뜀
if (currentBgm != null) return;
BGMBox[] BGMBoxs = GetComponentsInChildren<BGMBox>(true);
foreach (BGMBox bgm in BGMBoxs)

View File

@@ -6,8 +6,8 @@
namespace VRShopping.UI
{
// 게임씬 첫 진입 시 자동으로 뜨는 다중 페이지 가이드 오버레이
// ITransScenePossible 콜백으로 씬 로드 후 트리거됨
public class GuidePanel : MonoBehaviour, ITransScenePossible
// ISceneInitializable 콜백으로 씬 로드 후 트리거됨
public class GuidePanel : MonoBehaviour, ISceneInitializable
{
[Header("Refs")]
[SerializeField] private GameObject _root;

View File

@@ -1,5 +1,6 @@
using TMPro;
using UnityEngine;
using VRShopping.Items;
using VRShopping.Shopping;
namespace VRShopping.UI
@@ -17,7 +18,7 @@ public void Bind(ShoppingOrderEntry entry)
return;
}
if (_nameText != null) _nameText.text = entry.ProductGroup.ToString();
if (_nameText != null) _nameText.text = entry.ProductGroup.ToKorean();
if (_quantityText != null) _quantityText.text = $"x{entry.RequiredQuantity}";
}
}

View File

@@ -20,6 +20,13 @@ private void Start()
Rebuild();
}
// 런타임에 미션 목록 교체 (MissionGenerator에서 호출)
public void SetOrderList(ShoppingOrderList orderList)
{
_orderList = orderList;
Rebuild();
}
public void Rebuild()
{
if (_orderList == null || _rowPrefab == null || _rowContainer == null) return;

View File

@@ -0,0 +1,35 @@
using TMPro;
using UnityEngine;
using VRShopping.Player;
namespace VRShopping.UI
{
// 왼쪽 손목 허기 게이지 위에 부착되는 소지금 HUD.
// PlayerWallet.OnBudgetChanged에 자동 구독.
public class WalletHud : MonoBehaviour
{
[SerializeField] private TMP_Text _text;
[SerializeField] private PlayerWallet _bound;
private void Start()
{
_bound.OnBudgetChanged += HandleChanged;
HandleChanged(_bound.Budget);
}
private void OnDestroy()
{
if (_bound != null)
{
_bound.OnBudgetChanged -= HandleChanged;
_bound = null;
}
}
private void HandleChanged(int current)
{
if (_text != null)
_text.text = $"₩ {current:N0}";
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 59629d355895f5d48b2a59479440912f

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 13ceb8dc68b87df408db94daa787c947
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9dfcea7719241304fbc06e92ac3290eb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f1ba810d42d3c2743bc923cd2b6eb7aa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -112,7 +112,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 06705ab69ed3bb24299571066dd626b1, type: 2}
m_Motion: {fileID: 7400000, guid: fcb11914b2ac56a40a65c8513d24e716, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
@@ -138,7 +138,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 06705ab69ed3bb24299571066dd626b1, type: 2}
m_Motion: {fileID: 7400000, guid: fcb11914b2ac56a40a65c8513d24e716, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:

View File

@@ -138,7 +138,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 06705ab69ed3bb24299571066dd626b1, type: 2}
m_Motion: {fileID: 7400000, guid: 42b880d482720e14e92bc64bd41ae0cf, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:

View File

@@ -86,7 +86,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 06705ab69ed3bb24299571066dd626b1, type: 2}
m_Motion: {fileID: 7400000, guid: 42b880d482720e14e92bc64bd41ae0cf, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ec35a8c93bd182d4d9054a691ceb29b9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6b40b1daff3264e4890cbbd711418292
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9f574c552c941a548a061257c0490973
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7d16b7775e47b12409d1679b743c0064
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2c12ed0a2d3387843a79deac51241d53
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 51e44b3e44768b24a87762358cd09a3f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3aa6257ba0ab5c47beff3fb2b4a9d49
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 41c02a5a767cb7942b0f6817ff5583a1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b1e27a56417961b41a06c0427955701f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 97fe0f173a1ebcb479603c499f849117
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e4484d2fbdeccc44e978051678cd4a79
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 90786d4ef0f7b594db535242356eb408
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5af3ab4274090244db82135b6839a898
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e634849b86f9aad48a4d780fdf0ee53f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 851bc721c8a9ec543bf2d650a3cc1785
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5840f11a4bcf2f842b951de80ae28f19
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8607220a3e49a194fa7b08700653b326
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a72e853248e15d246a35a6cbce7fd896
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cfc91f043c2dfec409bf2a5e1f2b3491
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a3dca6e0a5adc0843b0494636136c8da
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 191518547f526944bb82f0d24e9e1349
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9d6dc54aa03852146b2aabd619ed9993
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 77a9fa5b948ab2a46a098ffd998571cc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -124,7 +124,10 @@ AudioMixerSnapshotController:
m_AudioMixer: {fileID: 24100000}
m_SnapshotID: 57a15260ec480004cbc2848cc0a4f36e
m_FloatValues:
ba018e28170e108488d70eb228687256: 10
deddcfb1a56f5d242acae971cdf41a2a: 5.2093163
ba018e28170e108488d70eb228687256: 3.704152
bf4e0b98dc2a8ee4788d43c4a5079348: -20.1512
a5d0c469bd35ff94ca00b3135bb684dc: -20.1512
m_TransitionOverrides: {}
--- !u!244 &2045488911297964458
AudioMixerEffectController:

8
Assets/Idle MoCap.meta Normal file
View File

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

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7c2be73441ca918439a1f417d45eb305
folderAsset: yes
timeCreated: 1556041404
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More