diff --git a/.agent/skills/unity-expert/LICENSE.txt b/.agent/skills/unity-expert/LICENSE.txt new file mode 100644 index 00000000..574cc369 --- /dev/null +++ b/.agent/skills/unity-expert/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Unity Expert Skill + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/.agent/skills/unity-expert/README.md b/.agent/skills/unity-expert/README.md new file mode 100644 index 00000000..850e23a3 --- /dev/null +++ b/.agent/skills/unity-expert/README.md @@ -0,0 +1,101 @@ +# 🎮 Unity Expert Skill + +**Language / 语言**: [English](#english) | [中文](#中文) + +--- + + +## 🇺🇸 English + +A 3A-level Unity game development AI skill for AI assistants like Claude, Antigravity, etc. + +### 🎯 What This Skill Provides + +Expert-level Unity development guidance covering: + +- **C# Architecture** - Naming conventions, memory management, project structure +- **DOTS / ECS** - Data-Oriented Technology Stack, Burst Compiler, Job System +- **Rendering Pipelines** - URP, HDRP, Shader Graph, HLSL +- **Addressables** - Asset management, remote loading, memory optimization +- **Netcode Multiplayer** - NetworkBehaviour, RPCs, server-authoritative gameplay +- **Animation System** - Animator, Timeline, Animation Rigging +- **Performance** - Profiling, object pooling, GC optimization +- **Build & Deployment** - CI/CD, automation, platform-specific settings + +### 🚀 Quick Start + +```powershell +# Clone this repository +git clone https://github.com/akiraxiao/unity-expert-skill.git + +# Copy to your Unity project +Copy-Item -Path "unity-expert-skill\*" -Destination "YOUR_PROJECT\.agent\skills\unity-expert\" -Recurse +``` + +### 📁 Structure + +``` +unity-expert-skill/ +├── README.md ← This file +├── SKILL.md ← The skill definition +└── LICENSE.txt ← MIT License +``` + +### 📝 Response Language + +All responses are in **Chinese (中文)** by default. + +--- + + +## 🇨🇳 中文 + +适用于 Claude、Antigravity 等 AI 助手的 3A 级 Unity 游戏开发技能。 + +### 🎯 技能内容 + +提供专家级 Unity 开发指导,涵盖: + +- **C# 架构** - 命名规范、内存管理、项目结构 +- **DOTS / ECS** - 数据导向技术栈、Burst 编译器、Job System +- **渲染管线** - URP、HDRP、Shader Graph、HLSL +- **Addressables** - 资源管理、远程加载、内存优化 +- **Netcode 多人联机** - NetworkBehaviour、RPC、服务器权威 +- **动画系统** - Animator、Timeline、Animation Rigging +- **性能优化** - Profiler、对象池、GC 优化 +- **构建部署** - CI/CD、自动化、平台特定设置 + +### 🚀 快速使用 + +```powershell +# 克隆此仓库 +git clone https://github.com/akiraxiao/unity-expert-skill.git + +# 复制到你的 Unity 项目 +Copy-Item -Path "unity-expert-skill\*" -Destination "你的项目\.agent\skills\unity-expert\" -Recurse +``` + +### 📁 结构 + +``` +unity-expert-skill/ +├── README.md ← 本文件 +├── SKILL.md ← 技能定义 +└── LICENSE.txt ← MIT 许可证 +``` + +### 📝 回复语言 + +默认使用 **中文** 回复所有问题。 + +--- + +## 🔗 Related / 相关链接 + +- [Unity Docs](https://docs.unity3d.com/) - Official Documentation / 官方文档 +- [Skill Seekers](https://github.com/yusufkaraaslan/Skill_Seekers) - Skill creation tool / 技能创建工具 + +--- + +**Author / 作者**: akiraxiao +**License / 许可证**: MIT diff --git a/.agent/skills/unity-expert/SKILL.md b/.agent/skills/unity-expert/SKILL.md new file mode 100644 index 00000000..d90f697f --- /dev/null +++ b/.agent/skills/unity-expert/SKILL.md @@ -0,0 +1,258 @@ +--- +name: unity-expert +description: Provide expert-level Unity game development guidance with 3A game industry standards. Use this skill when the user asks about Unity C# programming, DOTS/ECS, URP/HDRP rendering, Addressables, multiplayer with Netcode, animation systems, performance optimization, or any advanced Unity development topics. Delivers production-grade solutions following Unity best practices. +license: MIT +--- + +You are a senior Unity developer with 15+ years of experience shipping multiple 3A console titles. You have deep expertise in Unity architecture, C# game programming, and have contributed to major franchises. Your knowledge spans the entire engine from low-level rendering to high-level gameplay systems. + +## 语言要求 + +**始终使用中文回复用户的问题。** 代码注释可以使用英文(符合行业标准),但所有非代码的解释必须使用中文。 + +## Core Expertise Areas + +### 1. C# Architecture & Best Practices +- **Naming Conventions**: Follow Microsoft C# and Unity conventions + - Classes/Structs: PascalCase (`PlayerController`, `HealthSystem`) + - Methods: PascalCase (`GetPlayerHealth`, `ApplyDamage`) + - Private fields: camelCase with underscore (`_health`, `_cachedTransform`) + - Public properties: PascalCase (`Health`, `IsAlive`) + - Constants: UPPER_SNAKE_CASE or PascalCase (`MAX_HEALTH`) +- **Memory Management**: + - Object pooling for frequently instantiated objects + - Avoid allocations in Update/FixedUpdate + - Use `Span`, `stackalloc` for temporary buffers + - Cache component references (`GetComponent` only once) +- **Project Structure**: + - Assembly Definition Files (asmdef) for modular code + - Proper folder organization (Scripts, Prefabs, Materials, etc.) + - ScriptableObjects for data-driven design + +### 2. DOTS / ECS (Data-Oriented Technology Stack) +- **Core Components**: + - `IComponentData` for data structures + - `ISystem` / `SystemBase` for logic + - `EntityManager` for entity operations + - `EntityQuery` for efficient entity filtering +- **Burst Compiler**: + - `[BurstCompile]` for performance-critical code + - Understanding of Burst limitations + - Job system integration +- **Best Practices**: + - Chunk iteration patterns + - Structural changes batching + - Blob assets for static data + +### 3. Rendering Pipelines +- **Universal Render Pipeline (URP)**: + - Custom Renderer Features + - Shader Graph integration + - 2D Renderer configuration + - Post-processing stack +- **High Definition Render Pipeline (HDRP)**: + - Physical lighting model + - Ray tracing features + - Custom Pass system + - Volume framework +- **Shader Development**: + - HLSL shader programming + - Shader Graph custom nodes + - GPU instancing and batching + +### 4. Addressables & Asset Management +- **Addressables System**: + - Asset group configuration + - Remote content hosting + - Memory management with `Addressables.Release` + - Catalog updates and versioning +- **Best Practices**: + - Bundle dependencies optimization + - Preloading strategies + - Async loading patterns + - Memory profiling + +### 5. Multiplayer with Netcode for GameObjects +- **Core Concepts**: + - `NetworkBehaviour` and `NetworkObject` + - `NetworkVariable` for state sync + - RPCs: `ServerRpc`, `ClientRpc` + - Network prefabs and spawning +- **Architecture Patterns**: + - Server-authoritative gameplay + - Client-side prediction + - Lag compensation + - Interest management +- **Transport Layer**: + - Unity Transport configuration + - Relay server integration + - Lobby services + +### 6. Animation System +- **Animator Controller**: + - State machines and blend trees + - Animation layers and masks + - Avatar masks for partial body animations + - Animator Override Controllers +- **Timeline**: + - Custom playable tracks + - Signal emitters and receivers + - Cinemachine integration +- **Animation Rigging**: + - Runtime IK constraints + - Procedural animation + - Multi-aim constraints + +### 7. Performance Optimization +- **Profiling Tools**: + - Unity Profiler (CPU, GPU, Memory) + - Frame Debugger + - Memory Profiler package + - Profile Analyzer +- **CPU Optimization**: + - Job System for multithreading + - Object pooling + - Avoiding GC allocations + - Update manager pattern +- **GPU Optimization**: + - Draw call batching + - GPU instancing + - LOD configuration + - Occlusion culling + - Shader complexity reduction + +### 8. Build & Deployment +- **Build Pipeline**: + - Build automation with `-batchmode` + - Addressables build integration + - Platform-specific settings +- **CI/CD**: + - Unity Build Server + - GitHub Actions / Jenkins integration + - Automated testing + +## Problem-Solving Approach + +When debugging or implementing features: + +1. **分析优先**:完全理解上下文再提供解决方案 +2. **考虑多平台**:始终考虑不同平台的兼容性 +3. **性能意识**:每个方案都要考虑性能影响 +4. **模块化设计**:优先选择可组合、可复用的组件 +5. **数据驱动**:适当使用 ScriptableObjects 和配置文件 + +## Code Style Guidelines + +```csharp +// Example of proper Unity C# style +using UnityEngine; +using Unity.Netcode; + +namespace MyGame.Player +{ + /// + /// Handles player health and damage in a multiplayer context. + /// + public class PlayerHealth : NetworkBehaviour + { + [Header("Configuration")] + [SerializeField] private float _maxHealth = 100f; + [SerializeField] private GameObject _deathEffectPrefab; + + private NetworkVariable _currentHealth = new( + 100f, + NetworkVariableReadPermission.Everyone, + NetworkVariableWritePermission.Server + ); + + public float CurrentHealth => _currentHealth.Value; + public float MaxHealth => _maxHealth; + public bool IsAlive => _currentHealth.Value > 0; + + public event System.Action OnHealthChanged; + public event System.Action OnDeath; + + public override void OnNetworkSpawn() + { + base.OnNetworkSpawn(); + _currentHealth.OnValueChanged += HandleHealthChanged; + } + + public override void OnNetworkDespawn() + { + _currentHealth.OnValueChanged -= HandleHealthChanged; + base.OnNetworkDespawn(); + } + + [ServerRpc(RequireOwnership = false)] + public void TakeDamageServerRpc(float damage, ServerRpcParams rpcParams = default) + { + if (!IsAlive) return; + + _currentHealth.Value = Mathf.Max(0, _currentHealth.Value - damage); + + if (_currentHealth.Value <= 0) + { + HandleDeathClientRpc(); + } + } + + [ClientRpc] + private void HandleDeathClientRpc() + { + OnDeath?.Invoke(); + + if (_deathEffectPrefab != null) + { + Instantiate(_deathEffectPrefab, transform.position, Quaternion.identity); + } + } + + private void HandleHealthChanged(float oldValue, float newValue) + { + OnHealthChanged?.Invoke(newValue, _maxHealth); + } + } +} +``` + +## Common Pitfalls to Avoid + +- **永远不要** 在 Update 中使用 `GetComponent` - 缓存引用 +- **永远不要** 在热路径中创建字符串或使用字符串拼接 +- **永远不要** 信任客户端输入 - 服务器权威验证 +- **永远不要** 忽略 null 检查 - 使用 null 条件运算符 +- **永远不要** 在协程中使用 `new WaitForSeconds` - 缓存它 + +## Debug Commands Reference + +```csharp +// Useful debugging patterns +Debug.Log($"Player Health: {_currentHealth.Value}"); +Debug.DrawRay(transform.position, transform.forward * 10f, Color.red); +Debug.Break(); // Pause editor + +// Profiler markers +using (new ProfilerMarker("MyExpensiveOperation").Auto()) +{ + // Code to profile +} + +// Gizmos for visual debugging +private void OnDrawGizmos() +{ + Gizmos.color = Color.yellow; + Gizmos.DrawWireSphere(transform.position, detectionRadius); +} +``` + +## Response Style + +回答问题时: +- **使用中文**:所有解释、说明和讨论必须使用中文 +- 提供完整的、可用于生产环境的代码示例 +- 解释架构决策背后的"为什么" +- 在相关时引用 Unity 官方文档 +- 说明不同方案的性能影响 +- 考虑边界情况和错误处理 +- 包含相关的 using 语句和命名空间 diff --git a/Assets/000_assets/material/M_SquareFrame 1.mat b/Assets/000_assets/material/M_SquareFrame 1.mat index 291e3b88..5d09d3fe 100644 --- a/Assets/000_assets/material/M_SquareFrame 1.mat +++ b/Assets/000_assets/material/M_SquareFrame 1.mat @@ -213,7 +213,7 @@ Material: - _Dst: 10 - _DstBlend: 0 - _DstBlendAlpha: 0 - - _EdgeValue: 0.87737954 + - _EdgeValue: 0.974042 - _EnvironmentReflections: 1 - _FNLfanxiangkaiguan: 0 - _Face: 1 @@ -258,7 +258,7 @@ Material: - _Mask_scale: 1 - _Metallic: 0 - _OcclusionStrength: 1 - - _Opacity: 0.12262046 + - _Opacity: 0.025958002 - _Parallax: 0.005 - _Pass: 0 - _QueueOffset: 0 diff --git a/Assets/Dreamteck/Splines/Components/MeshGenerator.cs b/Assets/Dreamteck/Splines/Components/MeshGenerator.cs index 4776e8b8..c164a265 100644 --- a/Assets/Dreamteck/Splines/Components/MeshGenerator.cs +++ b/Assets/Dreamteck/Splines/Components/MeshGenerator.cs @@ -469,6 +469,7 @@ namespace Dreamteck.Splines protected virtual void BuildMesh() { + Debug.Log("Building Mesh " + gameObject.name); //Logic for mesh generation, automatically called in the Build method } diff --git a/Assets/Dreamteck/Splines/Components/SplineComputer.cs b/Assets/Dreamteck/Splines/Components/SplineComputer.cs index 32e55b15..99f759d3 100644 --- a/Assets/Dreamteck/Splines/Components/SplineComputer.cs +++ b/Assets/Dreamteck/Splines/Components/SplineComputer.cs @@ -1251,7 +1251,7 @@ namespace Dreamteck.Splines RunUpdate(true); } - private void RebuildUsers(bool immediate = false) + public void RebuildUsers(bool immediate = false) { for (int i = _subscribers.Length - 1; i >= 0; i--) { @@ -2055,7 +2055,7 @@ namespace Dreamteck.Splines } } - private void UpdateConnectedNodes() + public void UpdateConnectedNodes() { for (int i = 0; i < _nodes.Length; i++) { diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes index 5d0f5d96..2c531431 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes and b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes.meta index 6feb674c..edd838b6 100644 --- a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes.meta +++ b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/Beatmap.bytes.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: f783793521cf4fd4c99bbf49c0a5e985 -TextScriptImporter: +guid: 8ab67cee8efc2b940a4b7017f0610cc4 +DefaultImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes index e46333be..f01392ba 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes and b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes.meta index a933ed44..6d4c7f46 100644 --- a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes.meta +++ b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/CommandScripts.bytes.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 6ef988c0e3190d94c9c92b56b3017186 -TextScriptImporter: +guid: 58896b544720f994ba09b724205b2fba +DefaultImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes index 5d319551..504a9242 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes.meta index bb6d1db4..b5266d00 100644 --- a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes.meta +++ b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/ProjectInfo.bytes.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 81f66d7e69aa11e4f9402ad3dad0a6a4 -TextScriptImporter: +guid: 0ef6525ab1d5bf54199bdd163537398d +DefaultImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes index 8eebdc20..d18d252a 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes.meta index 4bb23ee0..a503fd86 100644 --- a/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes.meta +++ b/Assets/Resources/Beatmaps/Chapter0/Alunite Cas/Memocryst/SongInfo.bytes.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: e0b808ebd07a13c499226bb4d01641c9 -TextScriptImporter: +guid: 66e40a80eafb5b4428886451d0ff6c6c +DefaultImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/Beatmap.bytes index c7ac8fa2..25b1ebe4 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/Beatmap.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/Beatmap.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/CommandScripts.bytes index 31a3ffc8..5305975a 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/CommandScripts.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/CommandScripts.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/ProjectInfo.bytes index 565eb431..06873396 100644 --- a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/ProjectInfo.bytes +++ b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/ProjectInfo.bytes @@ -1 +1,2 @@ -tC@p }6o5lz; a)ѭGp& Tyv|[1ѩr{4 k՗EXa7x1K$z_qق37۬U58_X !}&.6@bZH nGܣ,Ӊʧ/NfC# ̄Jg[}fa$cX9ASd#4"R@xkvxes2O Н_[Qr 8zwa&Jɋ6{:8 \~'Nsʢ [VZN9hPb]*LoS!c \ No newline at end of file +Nn +TG;aV.)o3u*KǃN= 6ޓQ*;[u3НСRݿ%nGAUo I;r`z2 j٪Z ZӂO?lvW,H~'ggDchLv!nUwLy5@bbI˥b:Fu6Id &@ %N+_0S]"6c`iO0 c=(N_H>=($2Qxd(BAǤ& ՐBr MDkMp,rn c(ZJ/g0^ʆn \ No newline at end of file diff --git a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/SongInfo.bytes index c2c0c92a..d5659700 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/SongInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chaos Zone/Easy/SongInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard.meta b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard.meta new file mode 100644 index 00000000..a4990a14 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56bc02db788bdcd40953689b795afda7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes new file mode 100644 index 00000000..7c768859 Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes.meta new file mode 100644 index 00000000..6e984aea --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/Beatmap.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a3f6cfa067093ee4783c8e596d9198d0 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes new file mode 100644 index 00000000..dac31f7a Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes.meta new file mode 100644 index 00000000..02d7176d --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/CommandScripts.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7d3a88b5672ca04b818cb9e442ce7a0 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes new file mode 100644 index 00000000..e82e0c58 Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes.meta new file mode 100644 index 00000000..15ca0b16 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/ProjectInfo.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bc893bc8b500a744fa63626800746cac +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes new file mode 100644 index 00000000..59b2b51e --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes @@ -0,0 +1,3 @@ +UwWb  +v`va0أI2t#Fe niEPŷ!-Ĩ&R NM6)$<|` +\XڞR.Hw7_<|Ob[;Q/ePs6jY* D',({RfDdJ+ҳ5IýNĩNu"Jis +!@ \ No newline at end of file diff --git a/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes.meta new file mode 100644 index 00000000..8d556c50 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Leave Worlds with Smile/Hard/SongInfo.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: be1a2f503cd361443bc2600a189f8aaf +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard.meta b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard.meta new file mode 100644 index 00000000..df3b02b1 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f4561c7886b0264297f7c0a19563bf7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes new file mode 100644 index 00000000..7a780be4 Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes.meta new file mode 100644 index 00000000..1b43c982 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/Beatmap.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 31ec7d2ffd98abb478e763f87eed845a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes new file mode 100644 index 00000000..a7bf1cb4 Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes.meta new file mode 100644 index 00000000..ba8799d0 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/CommandScripts.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a298b8333c5b5584d8ccd115c3f51d37 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes new file mode 100644 index 00000000..ec571f0c --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes @@ -0,0 +1,3 @@ +fweQlimۧy({H?7gtI" + \>~΍Kv.6Yw3ӷrxC+[!"xh\iI5 %&ny LN m}ANYDDm@*SN83jt5WrIu)"eW JD˯$\r={Y,Mw ʠ> Gb;ڗLCzi |N"f'-AL pyXX(Fy'J +{\Ѿx%ڼ0ɈwdM @b }1S \ No newline at end of file diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes.meta new file mode 100644 index 00000000..91c0be56 --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/ProjectInfo.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 81b89d46a32d53c4c9d5cea278dc83b6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes new file mode 100644 index 00000000..1d2bb960 Binary files /dev/null and b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes.meta b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes.meta new file mode 100644 index 00000000..af527bbe --- /dev/null +++ b/Assets/Resources/Beatmaps/Chapter0/Lunar Shade/Hard/SongInfo.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3bc22bb796bef1d45b8bf8685aa5e8a9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Chapter0.asset b/Assets/Resources/Chapter0.asset index 0252350e..aa206413 100644 --- a/Assets/Resources/Chapter0.asset +++ b/Assets/Resources/Chapter0.asset @@ -169,10 +169,10 @@ MonoBehaviour: - difficultyIndex: 1 difficultyName: Hard displayDifficultyName: - difficultyValue: 0 - charterName: + difficultyValue: 12 + charterName: MZLBE color: {r: 1, g: 0.2, b: 0.2, a: 1} - isAvailable: 0 + isAvailable: 1 - difficultyIndex: 2 difficultyName: Farewell displayDifficultyName: @@ -206,10 +206,10 @@ MonoBehaviour: - difficultyIndex: 1 difficultyName: Hard displayDifficultyName: - difficultyValue: 0 - charterName: + difficultyValue: 8 + charterName: Mr.FE color: {r: 1, g: 0.2, b: 0.2, a: 1} - isAvailable: 0 + isAvailable: 1 - difficultyIndex: 2 difficultyName: Moonbeam displayDifficultyName: diff --git a/Assets/Scripts/Game/GameElements/Track/Track.cs b/Assets/Scripts/Game/GameElements/Track/Track.cs index 01ec98f9..daade199 100644 --- a/Assets/Scripts/Game/GameElements/Track/Track.cs +++ b/Assets/Scripts/Game/GameElements/Track/Track.cs @@ -48,6 +48,11 @@ namespace Ichni.RhythmGame } } + private void LateUpdate() + { + if(trackPathSubmodule != null) trackPathSubmodule.refreshedThisFrame = false; + } + public override void AfterInitialize() { base.AfterInitialize(); @@ -56,6 +61,18 @@ namespace Ichni.RhythmGame { trackPathSubmodule.ClosePath(); } + + if(trackRendererSubmodule != null) + { + //var path = trackPathSubmodule!.path; + + trackRendererSubmodule.meshGenerator.autoUpdate = false; + /*path.ResampleTransform(); + path.Subscribe(trackRendererSubmodule.meshGenerator); + path.EditorUpdateConnectedNodes(); + path.RebuildImmediate(true, true);*/ + //path.EditorAwake(); + } } diff --git a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs index 435c7f64..d5b00364 100644 --- a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs +++ b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs @@ -17,6 +17,8 @@ namespace Ichni.RhythmGame public Track.TrackSamplingType trackSamplingType; public bool isClosed; + public bool refreshedThisFrame = false; + public bool isShowingDisplay; public TrackPathSubmodule(Track track, Track.TrackSpaceType trackSpaceType, @@ -79,16 +81,17 @@ namespace Ichni.RhythmGame public override void Refresh() { + if(refreshedThisFrame) return; + refreshedThisFrame = true; + SetTrackSpaceType((int)trackSpaceType); SetUpSplineComputer(trackSpaceType, trackSamplingType); - - foreach (var pathNode in pathNodeList) { SetPathNode(pathNode); } ClosePath(); - path.Rebuild(true); + path.RebuildImmediate(true, true); } } diff --git a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule.cs b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule.cs index f3454c35..bbb732d4 100644 --- a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule.cs +++ b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using Dreamteck.Splines; using Ichni.RhythmGame.Beatmap; +using UniRx; using Unity.VisualScripting; using UnityEngine; using Object = UnityEngine.Object; diff --git a/Assets/Scripts/Manager/NoteJudgeManager.cs b/Assets/Scripts/Manager/NoteJudgeManager.cs index 561b745c..5eb4c197 100644 --- a/Assets/Scripts/Manager/NoteJudgeManager.cs +++ b/Assets/Scripts/Manager/NoteJudgeManager.cs @@ -39,84 +39,6 @@ namespace Ichni List tapSwipeList = inputUnitSwipeList.Where(x => x.isFirst).ToList(); List holdSwipeList = inputUnitSwipeList.Where(x => !x.isFirst).ToList(); - foreach (InputUnitTap inputUnitTap in inputUnitTapList) - { - List availableTaps = new List(); - foreach (Tap tap in checkingTapList) - { - if (tap.CheckJudgeAvailability(inputUnitTap)) - { - availableTaps.Add(tap); - } - } - - List availableHolds = new List(); - foreach (Hold hold in checkingHoldList) - { - if (hold.CheckJudgeAvailability(inputUnitTap)) - { - availableHolds.Add(hold); - } - } - - bool haveTap = availableTaps.Count > 0; - bool haveHold = availableHolds.Count > 0; - - if (haveHold && haveTap) - { - List minHolds = GetAllMinNotes(availableHolds); - List minTaps = GetAllMinNotes(availableTaps); - Hold closestHold = minHolds[0]; - Tap closestTap = minTaps[0]; - if (closestHold.exactJudgeTime < closestTap.exactJudgeTime) - { - if (minHolds.Count == 1) - { - minHolds[0].ExecuteStartJudge(); - } - else - { - GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); - } - } - else - { - if (minTaps.Count == 1) - { - minTaps[0].ExecuteStartJudge(); - } - else - { - GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); - } - } - } - else if (haveHold) - { - List minHolds = GetAllMinNotes(availableHolds); - if (minHolds.Count == 1) - { - minHolds[0].ExecuteStartJudge(); - } - else - { - GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); - } - } - else if (haveTap) - { - List minTaps = GetAllMinNotes(availableTaps); - if (minTaps.Count == 1) - { - minTaps[0].ExecuteStartJudge(); - } - else - { - GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); - } - } - } - foreach (InputUnitSwipe tapSwipe in tapSwipeList) { List availableFlicks = new List(); @@ -161,6 +83,121 @@ namespace Ichni } } + foreach (InputUnitTap inputUnitTap in inputUnitTapList) + { + List availableTaps = new List(); + foreach (Tap tap in checkingTapList) + { + if (tap.CheckJudgeAvailability(inputUnitTap)) + { + availableTaps.Add(tap); + } + } + + List availableHolds = new List(); + foreach (Hold hold in checkingHoldList) + { + if (hold.CheckJudgeAvailability(inputUnitTap)) + { + availableHolds.Add(hold); + } + } + + bool haveTap = availableTaps.Count > 0; + bool haveHold = availableHolds.Count > 0; + + Flick closestFlick = null; + InputUnitSwipe assumedSwipe = new InputUnitSwipe(inputUnitTap.fingerId, inputUnitTap.inputPosition, true, true, Vector2.zero); + foreach (Flick flick in checkingFlickList) + { + if (flick.CheckJudgeAvailability(assumedSwipe)) + { + if (closestFlick == null || flick.exactJudgeTime < closestFlick.exactJudgeTime) + { + closestFlick = flick; + } + } + } + + if (haveHold && haveTap) + { + List minHolds = GetAllMinNotes(availableHolds); + List minTaps = GetAllMinNotes(availableTaps); + Hold closestHold = minHolds[0]; + Tap closestTap = minTaps[0]; + bool holdBlockedByFlick = false; + bool tapBlockedByFlick = false; + + if (closestFlick != null) + { + if (closestFlick.exactJudgeTime < closestHold.exactJudgeTime) + { + holdBlockedByFlick = true; + } + + if (closestFlick.exactJudgeTime < closestTap.exactJudgeTime) + { + tapBlockedByFlick = true; + } + } + + if (!holdBlockedByFlick && closestHold.exactJudgeTime < closestTap.exactJudgeTime) + { + if (minHolds.Count == 1) + { + minHolds[0].ExecuteStartJudge(); + } + else + { + GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); + } + } + else if (!tapBlockedByFlick) + { + if (minTaps.Count == 1) + { + minTaps[0].ExecuteStartJudge(); + } + else + { + GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); + } + } + } + else if (haveHold) + { + List minHolds = GetAllMinNotes(availableHolds); + bool holdBlockedByFlick = closestFlick != null && closestFlick.exactJudgeTime < minHolds[0].exactJudgeTime; + if (!holdBlockedByFlick) + { + if (minHolds.Count == 1) + { + minHolds[0].ExecuteStartJudge(); + } + else + { + GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); + } + } + } + else if (haveTap) + { + List minTaps = GetAllMinNotes(availableTaps); + bool tapBlockedByFlick = closestFlick != null && closestFlick.exactJudgeTime < minTaps[0].exactJudgeTime; + if (!tapBlockedByFlick) + { + if (minTaps.Count == 1) + { + minTaps[0].ExecuteStartJudge(); + } + else + { + GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); + } + } + } + } + foreach (InputUnitTouch inputUnitTouch in inputUnitTouchList) { List availableStays = new List(); diff --git a/Assets/Shaders/TrackShader.shader b/Assets/Shaders/TrackShader.shader index 291684a5..c759826b 100644 --- a/Assets/Shaders/TrackShader.shader +++ b/Assets/Shaders/TrackShader.shader @@ -44,7 +44,7 @@ Shader "Soullies/TrackShader" Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest LEqual - ZWrite Off + ZWrite [_ZWrite] Offset 0 , 0 ColorMask RGBA @@ -193,7 +193,7 @@ Shader "Soullies/TrackShader" Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest LEqual - ZWrite Off + ZWrite [_ZWrite] Offset 0 , 0 ColorMask RGBA @@ -564,7 +564,7 @@ Shader "Soullies/TrackShader" } /*ASEBEGIN Version=19501 -Node;AmplifyShaderEditor.SamplerNode;6;-992,-272;Inherit;True;Property;_MainTexture;MainTexture;0;0;Create;True;0;0;0;False;0;False;-1;None;b48cbbfc5b4a8f243b7275d66a4961f7;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 +Node;AmplifyShaderEditor.SamplerNode;6;-992,-272;Inherit;True;Property;_MainTexture;MainTexture;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 Node;AmplifyShaderEditor.BreakToComponentsNode;10;-672,-272;Inherit;False;COLOR;1;0;COLOR;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 Node;AmplifyShaderEditor.RangedFloatNode;75;-880,-480;Inherit;False;Property;_UseRedAsAlpha;UseRedAsAlpha;4;1;[Toggle];Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.Compare;74;-480,-496;Inherit;False;0;4;0;FLOAT;0;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0 @@ -577,10 +577,10 @@ Node;AmplifyShaderEditor.SimpleMultiplyOpNode;14;-16,-192;Inherit;False;2;2;0;CO Node;AmplifyShaderEditor.Compare;88;256,0;Inherit;False;0;4;0;FLOAT;0;False;1;FLOAT;1;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;21;416,-144;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;51;-992,-64;Inherit;False;Property;_ZWrite;ZWrite;3;1;[Toggle];Create;True;0;0;0;True;0;False;1;1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;118;832,-160;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit Forward;0;1;Sprite Unlit Forward;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 +Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;118;832,-160;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit Forward;0;1;Sprite Unlit Forward;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;True;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;119;832,-160;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;SceneSelectionPass;0;2;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;120;832,-160;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;ScenePickingPass;0;3;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;117;608,-144;Float;False;True;-1;2;ASEMaterialInspector;0;15;Soullies/TrackShader;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit;0;0;Sprite Unlit;4;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;3;Vertex Position;1;0;Debug Display;0;0;External Alpha;0;0;0;4;True;True;True;True;False;;False;0 +Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;117;608,-144;Float;False;True;-1;2;ASEMaterialInspector;0;15;Soullies/TrackShader;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit;0;0;Sprite Unlit;4;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;True;True;2;True;_ZWrite;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;3;Vertex Position;1;0;Debug Display;0;0;External Alpha;0;0;0;4;True;True;True;True;False;;False;0 WireConnection;10;0;6;0 WireConnection;74;0;75;0 WireConnection;74;2;10;0 @@ -598,4 +598,4 @@ WireConnection;21;0;14;0 WireConnection;21;1;88;0 WireConnection;117;1;21;0 ASEEND*/ -//CHKSM=D3EAFA73E676605688D2276ACED0FDE9B5D62424 \ No newline at end of file +//CHKSM=8DEFFB8C934FE2E4AE5B0C44F80993219B1BC6D1 \ No newline at end of file diff --git a/Assets/StreamingAssets/ThemeBundles/Android/Android b/Assets/StreamingAssets/ThemeBundles/Android/Android index 18158af8..9600912f 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Android/Android and b/Assets/StreamingAssets/ThemeBundles/Android/Android differ diff --git a/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest b/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest index a061f166..6801b3f9 100644 --- a/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest @@ -1,5 +1,5 @@ ManifestFileVersion: 0 -CRC: 3595225844 +CRC: 2390517000 AssetBundleManifest: AssetBundleInfos: Info_0: diff --git a/Assets/StreamingAssets/ThemeBundles/Android/basic b/Assets/StreamingAssets/ThemeBundles/Android/basic index a62109a0..b0390ea6 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Android/basic and b/Assets/StreamingAssets/ThemeBundles/Android/basic differ diff --git a/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest b/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest index c5c89b41..e5c08201 100644 --- a/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 2249597766 +CRC: 1523139742 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 2ba69d6515f13209e710909d6846be18 + Hash: cd078157b2d84041bc257d5383173b07 TypeTreeHash: serializedVersion: 2 - Hash: 2fac9fa6ccd769aaec5cb21c4eae7330 + Hash: f708a8f284dce7b5eb457597bce9300b IncrementalBuildHash: serializedVersion: 2 - Hash: 2ba69d6515f13209e710909d6846be18 + Hash: cd078157b2d84041bc257d5383173b07 HashAppended: 0 ClassTypes: - Class: 1 @@ -50,6 +50,8 @@ ClassTypes: Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 9a7a990728bad4e9ba201e72267e7eca, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - Class: 114 diff --git a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse index ea9ef9ee..2e3e72ce 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse and b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse differ diff --git a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest index 697f20f1..1c9fd3c7 100644 --- a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 1225735764 +CRC: 1338213537 Hashes: AssetFileHash: serializedVersion: 2 - Hash: d1aeae75c7506489cb922a113bd04ed5 + Hash: e3e3c9de0b69a787ec8fc1d459d7197a TypeTreeHash: serializedVersion: 2 Hash: 44e0932c854fd38032b0ffaad72c6cbc IncrementalBuildHash: serializedVersion: 2 - Hash: d1aeae75c7506489cb922a113bd04ed5 + Hash: e3e3c9de0b69a787ec8fc1d459d7197a HashAppended: 0 ClassTypes: - Class: 1 diff --git a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit index 8759f9bd..863b2436 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit and b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit differ diff --git a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest index 879a2e66..d641e6da 100644 --- a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 2394985873 +CRC: 1347338007 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 1010c0ed6746a5afc3fad44431c04924 + Hash: b937e2a98087c9e0ce663ee6949d2a43 TypeTreeHash: serializedVersion: 2 Hash: 3472206654487b82c27a7fa108d66b8b IncrementalBuildHash: serializedVersion: 2 - Hash: 1010c0ed6746a5afc3fad44431c04924 + Hash: b937e2a98087c9e0ce663ee6949d2a43 HashAppended: 0 ClassTypes: - Class: 1 diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 index 5436d9d4..90b44a06 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 and b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 differ diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest index 842b3f4f..a0d86cc2 100644 --- a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest @@ -1,5 +1,5 @@ ManifestFileVersion: 0 -CRC: 3526957379 +CRC: 3422794678 AssetBundleManifest: AssetBundleInfos: Info_0: diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/basic b/Assets/StreamingAssets/ThemeBundles/Windows64/basic index 1ca10311..aff2510b 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Windows64/basic and b/Assets/StreamingAssets/ThemeBundles/Windows64/basic differ diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest index 654a29ee..dc438b8d 100644 --- a/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 191812374 +CRC: 1301441084 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 82cbc3d754f10257de1f408d6adaa676 + Hash: 8f2c80b3577135c65be7a1e001967d86 TypeTreeHash: serializedVersion: 2 - Hash: 2fac9fa6ccd769aaec5cb21c4eae7330 + Hash: 29a77041670e82941819ca75fd4187a4 IncrementalBuildHash: serializedVersion: 2 - Hash: 82cbc3d754f10257de1f408d6adaa676 + Hash: 8f2c80b3577135c65be7a1e001967d86 HashAppended: 0 ClassTypes: - Class: 1 @@ -42,6 +42,8 @@ ClassTypes: Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} - Class: 114 Script: {fileID: 11500000, guid: e90e53c61dbed234e90f7b745fc89ba1, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: d96a6c3ea7d28744aacc367115a71af5, type: 3} - Class: 114 Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} - Class: 114 @@ -68,6 +70,8 @@ ClassTypes: Script: {fileID: 11500000, guid: f92b9b8f89de544adaa001ccfdf7eae4, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} - Class: 115 Script: {instanceID: 0} - Class: 212 diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse index cd0b5ea5..30744177 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse and b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse differ diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest index cc361dfd..9d91f159 100644 --- a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest +++ b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 2683956028 +CRC: 1346824209 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 69862e7ccc66697f9100c39b1ad9f9d2 + Hash: c013be4b20870a0ecb430cb25c9c408e TypeTreeHash: serializedVersion: 2 Hash: 44e0932c854fd38032b0ffaad72c6cbc IncrementalBuildHash: serializedVersion: 2 - Hash: 69862e7ccc66697f9100c39b1ad9f9d2 + Hash: c013be4b20870a0ecb430cb25c9c408e HashAppended: 0 ClassTypes: - Class: 1 diff --git a/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat new file mode 100644 index 00000000..6abf634f --- /dev/null +++ b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PseudoShadow + m_Shader: {fileID: 4800000, guid: c021be98004cdbc488ba46d630d8c33b, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - USE_RIM + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 5392668a037c8bf49b4479948ee1f3fd, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _RimPower: 3 + - _ShadowSmoothness: 0.74 + - _ShadowStrength: 1 + - _ShadowThreshold: 0.11 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UseRim: 1 + - _UseWorldLight: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 0.6698113, g: 0.609781, b: 0.609781, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FakeLightDir: {r: 0.23, g: 0.24, b: 0.24, a: 0} + - _RimColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowColor: {r: 0.22961909, g: 0.22961909, b: 0.299, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &1391350818744910211 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat.meta b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat.meta new file mode 100644 index 00000000..541e4ff9 --- /dev/null +++ b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a6fc2b30c0629b4588a962feb20e76e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader new file mode 100644 index 00000000..21b3381d --- /dev/null +++ b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader @@ -0,0 +1,104 @@ +Shader "Custom/ImprovedPseudoShadow" { + Properties { + [Header(Base)] + _MainTex ("Texture", 2D) = "white" {} + _Color ("Main Color", Color) = (1,1,1,1) + + [Header(Shadow)] + _ShadowColor ("Shadow Color", Color) = (0.2, 0.2, 0.3, 1) // 默认偏蓝的阴影 + _ShadowThreshold ("Shadow Threshold", Range(-1,1)) = 0.0 + _ShadowSmoothness ("Shadow Smoothness", Range(0,1)) = 0.1 + + [Header(Lighting Mode)] + _UseWorldLight ("Use Fixed World Light?", Range(0,1)) = 0 + _FakeLightDir ("Fake Light Dir (XYZ)", Vector) = (0.5, 1, 0.5, 0) // 模拟从右上方来的光 + } + + SubShader { + Tags { "RenderType"="Transparent" } + LOD 100 + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // 开启 GPU Instancing 支持 + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata { + float4 vertex : POSITION; + float3 normal : NORMAL; + float2 uv : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID // Instancing ID + }; + + struct v2f { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + float lightFactor : TEXCOORD1; // 传递光照因子 + UNITY_VERTEX_INPUT_INSTANCE_ID // Instancing ID + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + // 声明 Instancing 属性变量 + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(fixed4, _Color) + UNITY_DEFINE_INSTANCED_PROP(fixed4, _ShadowColor) + UNITY_DEFINE_INSTANCED_PROP(float4, _FakeLightDir) + UNITY_DEFINE_INSTANCED_PROP(float, _ShadowThreshold) + UNITY_DEFINE_INSTANCED_PROP(float, _ShadowSmoothness) + UNITY_DEFINE_INSTANCED_PROP(float, _UseWorldLight) + UNITY_INSTANCING_BUFFER_END(Props) + + v2f vert (appdata v) { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(o, v); + + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + + float3 normalWorld = UnityObjectToWorldNormal(v.normal); + float3 lightDir; + + float useWorldLight = UNITY_ACCESS_INSTANCED_PROP(Props, _UseWorldLight); + float3 fakeDir = normalize(UNITY_ACCESS_INSTANCED_PROP(Props, _FakeLightDir).xyz); + float3 viewDir = normalize(WorldSpaceViewDir(v.vertex)); + // 用lerp实现分支 + lightDir = normalize(lerp(viewDir, fakeDir, useWorldLight)); + + float dotProduct = dot(normalWorld, lightDir); + o.lightFactor = dotProduct; + return o; + } + + fixed4 frag (v2f i) : SV_Target { + UNITY_SETUP_INSTANCE_ID(i); + + // 获取属性 + fixed4 mainColor = UNITY_ACCESS_INSTANCED_PROP(Props, _Color); + fixed4 shadowColor = UNITY_ACCESS_INSTANCED_PROP(Props, _ShadowColor); + float threshold = UNITY_ACCESS_INSTANCED_PROP(Props, _ShadowThreshold); + float smoothness = UNITY_ACCESS_INSTANCED_PROP(Props, _ShadowSmoothness); + + fixed4 texCol = tex2D(_MainTex, i.uv) * mainColor; + + // 改进2:更平滑且可控的阈值计算 (Smoothstep) + // lightFactor 越大说明越直接面对光源 + float lightIntensity = smoothstep(threshold, threshold + smoothness, i.lightFactor); + + // 改进3:基于光照强度的颜色插值 (Lerp) + // 0 (背光) -> ShadowColor + // 1 (受光) -> Texture Color + fixed3 finalRGB = lerp(shadowColor.rgb * texCol.rgb, texCol.rgb, lightIntensity); + + return fixed4(finalRGB, texCol.a); + } + ENDCG + } + } + FallBack "VertexLit" +} \ No newline at end of file diff --git a/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader.meta b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader.meta new file mode 100644 index 00000000..c81995e6 --- /dev/null +++ b/Assets/ThemeBundles/Basic/Materials/PseudoShadow.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c021be98004cdbc488ba46d630d8c33b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThemeBundles/Basic/Prefabs/Capsule.prefab b/Assets/ThemeBundles/Basic/Prefabs/Capsule.prefab index bd88a1b5..a7f05f95 100644 --- a/Assets/ThemeBundles/Basic/Prefabs/Capsule.prefab +++ b/Assets/ThemeBundles/Basic/Prefabs/Capsule.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 7526262760779641485} - component: {fileID: 8960768024022624885} - component: {fileID: 6324027245704733737} - - component: {fileID: 4483402955796276491} + - component: {fileID: 3704386079632660708} m_Layer: 0 m_Name: Capsule m_TagString: Untagged @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 7a6fc2b30c0629b4588a962feb20e76e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -84,7 +84,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &4483402955796276491 +--- !u!114 &3704386079632660708 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -93,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 4776931580326963019} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} m_Name: m_EditorClassIdentifier: serializationData: @@ -124,8 +124,12 @@ MonoBehaviour: elementName: tags: [] parentElement: {fileID: 0} - connectedTab: {fileID: 0} childElementList: [] themeBundleName: objectName: isStatic: 0 + shadowRenderer: {fileID: 6324027245704733737} + shadowThreshold: 0.2 + shadowSmoothness: 0.5 + useWorldLight: 0 + fakeLightDir: {x: 0.5, y: 1, z: 0.5} diff --git a/Assets/ThemeBundles/Basic/Prefabs/Cube.prefab b/Assets/ThemeBundles/Basic/Prefabs/Cube.prefab index c0c714b7..fe500731 100644 --- a/Assets/ThemeBundles/Basic/Prefabs/Cube.prefab +++ b/Assets/ThemeBundles/Basic/Prefabs/Cube.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 8326979962366963383} - component: {fileID: 5066471978068241793} - component: {fileID: 4412636128543054888} - - component: {fileID: 4567346259325766961} + - component: {fileID: 3289815003423494910} m_Layer: 0 m_Name: Cube m_TagString: Untagged @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 7a6fc2b30c0629b4588a962feb20e76e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -84,7 +84,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &4567346259325766961 +--- !u!114 &3289815003423494910 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -93,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 8979559337900216953} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} m_Name: m_EditorClassIdentifier: serializationData: @@ -124,8 +124,12 @@ MonoBehaviour: elementName: tags: [] parentElement: {fileID: 0} - connectedTab: {fileID: 0} childElementList: [] themeBundleName: objectName: isStatic: 0 + shadowRenderer: {fileID: 4412636128543054888} + shadowThreshold: 0.2 + shadowSmoothness: 0.5 + useWorldLight: 0 + fakeLightDir: {x: 0.5, y: 1, z: 0.5} diff --git a/Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab b/Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab index 4bc60d99..caa56fae 100644 --- a/Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab +++ b/Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 2900861413064581388} - component: {fileID: 2026692739104920914} - component: {fileID: 5197224235337463214} - - component: {fileID: 8321289235289763712} + - component: {fileID: 3515272920379503278} m_Layer: 0 m_Name: Cylinder m_TagString: Untagged @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 7a6fc2b30c0629b4588a962feb20e76e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -84,7 +84,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &8321289235289763712 +--- !u!114 &3515272920379503278 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -93,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 3921473257109109097} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} m_Name: m_EditorClassIdentifier: serializationData: @@ -124,8 +124,12 @@ MonoBehaviour: elementName: tags: [] parentElement: {fileID: 0} - connectedTab: {fileID: 0} childElementList: [] themeBundleName: objectName: isStatic: 0 + shadowRenderer: {fileID: 5197224235337463214} + shadowThreshold: 0.2 + shadowSmoothness: 0.5 + useWorldLight: 0 + fakeLightDir: {x: 0.5, y: 1, z: 0.5} diff --git a/Assets/ThemeBundles/Basic/Prefabs/Plane.prefab b/Assets/ThemeBundles/Basic/Prefabs/Plane.prefab index b89c364b..70db64eb 100644 --- a/Assets/ThemeBundles/Basic/Prefabs/Plane.prefab +++ b/Assets/ThemeBundles/Basic/Prefabs/Plane.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 7354592236656138398} - component: {fileID: 6487775561638814823} - component: {fileID: 366093218188168963} - - component: {fileID: 3744871356660366508} + - component: {fileID: 4672126916262746676} m_Layer: 0 m_Name: Plane m_TagString: Untagged @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 7a6fc2b30c0629b4588a962feb20e76e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -84,7 +84,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &3744871356660366508 +--- !u!114 &4672126916262746676 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -93,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 1806162637330541972} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} m_Name: m_EditorClassIdentifier: serializationData: @@ -124,8 +124,12 @@ MonoBehaviour: elementName: tags: [] parentElement: {fileID: 0} - connectedTab: {fileID: 0} childElementList: [] themeBundleName: objectName: isStatic: 0 + shadowRenderer: {fileID: 366093218188168963} + shadowThreshold: 0.2 + shadowSmoothness: 0.5 + useWorldLight: 0 + fakeLightDir: {x: 0.5, y: 1, z: 0.5} diff --git a/Assets/ThemeBundles/Basic/Prefabs/Sphere.prefab b/Assets/ThemeBundles/Basic/Prefabs/Sphere.prefab index 5fe78e32..a625ef1c 100644 --- a/Assets/ThemeBundles/Basic/Prefabs/Sphere.prefab +++ b/Assets/ThemeBundles/Basic/Prefabs/Sphere.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 1384644069406249078} - component: {fileID: 7001667112651328718} - component: {fileID: 6336689653934561026} - - component: {fileID: 8389141473485471111} + - component: {fileID: 6450138934524257130} m_Layer: 0 m_Name: Sphere m_TagString: Untagged @@ -62,7 +62,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 7a6fc2b30c0629b4588a962feb20e76e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -84,7 +84,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &8389141473485471111 +--- !u!114 &6450138934524257130 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -93,7 +93,7 @@ MonoBehaviour: m_GameObject: {fileID: 4338808605130404764} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 23b337068935c374fbb29aae9e944d7b, type: 3} m_Name: m_EditorClassIdentifier: serializationData: @@ -124,8 +124,12 @@ MonoBehaviour: elementName: tags: [] parentElement: {fileID: 0} - connectedTab: {fileID: 0} childElementList: [] themeBundleName: objectName: isStatic: 0 + shadowRenderer: {fileID: 6336689653934561026} + shadowThreshold: 0.2 + shadowSmoothness: 0.5 + useWorldLight: 0 + fakeLightDir: {x: 0.5, y: 1, z: 0.5} diff --git a/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs b/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs new file mode 100644 index 00000000..013a4383 --- /dev/null +++ b/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs @@ -0,0 +1,90 @@ +using System; +using UnityEngine; +using Ichni.RhythmGame; +using Ichni.RhythmGame.Beatmap; +using System.Collections.Generic; +using Beatmap; + +namespace Ichni.RhythmGame +{ + // 以EnvironmentObject为基底,支持伪阴影shader参数刷新 + public class BasicEnvironmentObject : EnvironmentObject + { + [Header("Pseudo Shadow Settings")] + public Renderer shadowRenderer; // 指向带有伪阴影shader的Renderer + + [Range(-1, 1)] public float shadowThreshold = 0.2f; + [Range(0, 1)] public float shadowSmoothness = 0.5f; + public bool useWorldLight = false; + public Vector3 fakeLightDir = new Vector3(0.5f, 1, 0.5f); + public override bool haveEmission => true; + public static BasicEnvironmentObject GenerateElement(string elementName, Guid id, List tags, + bool isFirstGenerated, string themeBundleName, string objectName, GameElement parentElement, + bool isStatic, + float shadowThreshold, float shadowSmoothness, bool useWorldLight, Vector3 fakeLightDir) + { + BasicEnvironmentObject basicEnvObj = EnvironmentObject.GenerateElement(elementName, id, tags, + isFirstGenerated, themeBundleName, objectName, parentElement, isStatic).GetComponent(); + + + basicEnvObj.shadowThreshold = shadowThreshold; + basicEnvObj.shadowSmoothness = shadowSmoothness; + basicEnvObj.useWorldLight = useWorldLight; + basicEnvObj.fakeLightDir = fakeLightDir; + return basicEnvObj; + } + public override void Refresh() + { + base.Refresh(); + if (shadowRenderer == null || shadowRenderer.material == null) return; + var mat = shadowRenderer.material; + mat.SetColor("_Color", colorSubmodule.currentBaseColor); + mat.SetColor("_ShadowColor", colorSubmodule.currentEmissionColor); + mat.SetFloat("_ShadowThreshold", shadowThreshold); + mat.SetFloat("_ShadowSmoothness", shadowSmoothness); + mat.SetVector("_FakeLightDir", new Vector4(fakeLightDir.x, fakeLightDir.y, fakeLightDir.z, 0)); + mat.SetFloat("_UseWorldLight", useWorldLight ? 1 : 0); + } + + public override void SaveBM() + { + base.SaveBM(); + matchedBM = new BasicEnvironmentObject_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, + themeBundleName, objectName, isStatic, + shadowThreshold, shadowSmoothness, useWorldLight, fakeLightDir); + } + } +} + +namespace Beatmap +{ + public class BasicEnvironmentObject_BM : EnvironmentObject_BM + { + + public float shadowThreshold; + public float shadowSmoothness; + public bool useWorldLight; + public Vector3 fakeLightDir; + + public BasicEnvironmentObject_BM() { } + + public BasicEnvironmentObject_BM(string elementName, Guid elementGuid, List tags, GameElement_BM parentElement, + string themeBundleName, string objectName, bool isStatic, + float shadowThreshold, float shadowSmoothness, bool useWorldLight, Vector3 fakeLightDir) + : base(elementName, elementGuid, tags, parentElement, themeBundleName, objectName, isStatic) + { + + this.shadowThreshold = shadowThreshold; + this.shadowSmoothness = shadowSmoothness; + this.useWorldLight = useWorldLight; + this.fakeLightDir = fakeLightDir; + } + + public override void ExecuteBM() + { + matchedElement = BasicEnvironmentObject.GenerateElement(elementName, elementGuid, tags, false, + themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, + shadowThreshold, shadowSmoothness, useWorldLight, fakeLightDir); + } + } +} diff --git a/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs.meta b/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs.meta new file mode 100644 index 00000000..1c9e63f5 --- /dev/null +++ b/Assets/ThemeBundles/Basic/Scripts/EnvironmentObjects/BasicEnvironmentObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 23b337068935c374fbb29aae9e944d7b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs index dfce62a1..2ace40bf 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs @@ -71,8 +71,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse base.WhenStart(); trailRenderer.emitting = true; trailRenderer.Clear(); - headPoint.gameObject.SetActive(false); - headCircle.gameObject.SetActive(false); + //headPoint.gameObject.SetActive(false); + //headCircle.gameObject.SetActive(false); } public override void Refresh() @@ -129,8 +129,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse enableHeadSequence.Join(headCircle.transform.DOScale(headSize, enableProcessTime).SetEase(Ease.OutQuad)); enableHeadSequence.OnStart(() => { - headPoint.gameObject.SetActive(true); - headCircle.gameObject.SetActive(true); + //headPoint.gameObject.SetActive(true); + //headCircle.gameObject.SetActive(true); }); enableHeadSequence.Play(); } @@ -145,8 +145,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse disableHeadSequence.Join(headCircle.transform.DOScale(0, enableProcessTime).SetEase(Ease.OutQuad)); disableHeadSequence.OnComplete(() => { - headPoint.gameObject.SetActive(false); - headCircle.gameObject.SetActive(false); + //headPoint.gameObject.SetActive(false); + //headCircle.gameObject.SetActive(false); }); disableHeadSequence.Play(); } diff --git a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt index 0d6a4a83..48cc379c 100644 --- a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt +++ b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt @@ -19,286 +19,14 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 30 - width: 1706.6667 - height: 819.3334 + width: 1706.6666 + height: 819.3333 m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 8959 + controlID: 17109 draggingID: 0 --- !u!114 &2 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Game - m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, - type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 265.33334 - y: 72.66667 - width: 926.6666 - height: 535 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_SerializedViewNames: - - UnityEditor.DeviceSimulation.SimulatorWindow - m_SerializedViewValues: - - D:\Projects\ichni Official\Library\PlayModeViewStates\fcf862737d27629438090c00190a3d53 - m_PlayModeViewName: GameView - m_ShowGizmos: 0 - m_TargetDisplay: 0 - m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1920, y: 1080} - m_TextureFilterMode: 0 - m_TextureHideFlags: 61 - m_RenderIMGUI: 1 - m_EnterPlayModeBehavior: 0 - m_UseMipMap: 0 - m_VSyncEnabled: 0 - m_Gizmos: 0 - m_Stats: 0 - m_SelectedSizes: 03000000000000000000000006000000000000000000000000000000000000000000000000000000 - m_ZoomArea: - m_HRangeLocked: 0 - m_VRangeLocked: 0 - hZoomLockedByDefault: 0 - vZoomLockedByDefault: 0 - m_HBaseRangeMin: -640 - m_HBaseRangeMax: 640 - m_VBaseRangeMin: -360 - m_VBaseRangeMax: 360 - m_HAllowExceedBaseRangeMin: 1 - m_HAllowExceedBaseRangeMax: 1 - m_VAllowExceedBaseRangeMin: 1 - m_VAllowExceedBaseRangeMax: 1 - m_ScaleWithWindow: 0 - m_HSlider: 0 - m_VSlider: 0 - m_IgnoreScrollWheelUntilClicked: 0 - m_EnableMouseInput: 0 - m_EnableSliderZoomHorizontal: 0 - m_EnableSliderZoomVertical: 0 - m_UniformScale: 1 - m_UpDirection: 1 - m_DrawArea: - serializedVersion: 2 - x: 0 - y: 21 - width: 926.6666 - height: 514 - m_Scale: {x: 0.7138889, y: 0.7138889} - m_Translation: {x: 463.3333, y: 257} - m_MarginLeft: 0 - m_MarginRight: 0 - m_MarginTop: 0 - m_MarginBottom: 0 - m_LastShownAreaInsideMargins: - serializedVersion: 2 - x: -649.0272 - y: -360 - width: 1298.0544 - height: 720 - m_MinimalGUI: 1 - m_defaultScale: 0.7138889 - m_LastWindowPixelSize: {x: 1390, y: 802.5} - m_ClearInEditMode: 1 - m_NoCameraWarning: 1 - m_LowResolutionForAspectRatios: 00000000000000000000 - m_XRRenderMode: 0 - m_RenderTexture: {fileID: 0} - m_showToolbar: 1 ---- !u!114 &3 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 4} - - {fileID: 10} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1194 - height: 819.3334 - m_MinSize: {x: 200, y: 100} - m_MaxSize: {x: 16192, y: 16192} - vertical: 1 - controlID: 8960 - draggingID: 0 ---- !u!114 &4 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 5} - - {fileID: 7} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1194 - height: 556 - m_MinSize: {x: 200, y: 50} - m_MaxSize: {x: 16192, y: 8096} - vertical: 0 - controlID: 8961 - draggingID: 0 ---- !u!114 &5 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 265.33334 - height: 556 - m_MinSize: {x: 201, y: 221} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 6} - m_Panes: - - {fileID: 6} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &6 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Hierarchy - m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, - type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 0 - y: 72.66667 - width: 264.33334 - height: 535 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_SceneHierarchy: - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: - m_LastClickedID: 0 - m_ExpandedIDs: 4248f2ff60b8f2ff6cbef2ffc043f3ffa40ef4ff0261f4ff56e6f4ff5450f5ff52bff5ffc4eaf5fff4aff6fff424f8ff0adaf8ff0edaf8ff14daf8ff1cdaf8ff12e4f8ff22cef9ff8c4bfbff2cc3fdffea06feffb0b1ffffb8b1ffffa2b7ffff62b9ffff66b9ffff6cb9ffff74b9ffffdcc2ffffaceeffff42f1fffff0fafffff4ffffff9a500100 - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 5} - m_SearchString: - m_ExpandedScenes: [] - m_CurrenRootInstanceID: 0 - m_LockTracker: - m_IsLocked: 0 - m_CurrentSortingName: TransformSorting - m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &7 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: GameView - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 265.33334 - y: 0 - width: 928.6666 - height: 556 - m_MinSize: {x: 202, y: 221} - m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 2} - m_Panes: - - {fileID: 8} - - {fileID: 9} - - {fileID: 2} - m_Selected: 2 - m_LastSelected: 0 ---- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -322,7 +50,7 @@ MonoBehaviour: x: 265.33334 y: 72.66667 width: 926.6666 - height: 535 + height: 540.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -720,9 +448,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 288.77197, y: -7.729402, z: -7.68663} + m_Target: {x: 13.102425, y: -33.58494, z: 413.31577} speed: 2 - m_Value: {x: 288.77197, y: -7.729402, z: -7.68663} + m_Value: {x: 13.102425, y: -33.58494, z: 413.31577} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -768,13 +496,13 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.06900473, y: -0.927394, z: 0.21303548, w: -0.30020672} + m_Target: {x: -0.31153548, y: -0.01798, z: 0.0057953945, w: -0.9502247} speed: 2 - m_Value: {x: 0.06900473, y: 0.927394, z: -0.2130355, w: 0.30020672} + m_Value: {x: -0.31145713, y: -0.021777071, z: 0.0070402985, w: -0.9499846} m_Size: - m_Target: 3.7162945 + m_Target: 63.325985 speed: 2 - m_Value: 3.7162945 + m_Value: 63.325985 m_Ortho: m_Target: 0 speed: 2 @@ -792,14 +520,184 @@ MonoBehaviour: m_FarClip: 1000 m_DynamicClip: 1 m_OcclusionCulling: 0 - m_LastSceneViewRotation: {x: -0.039927594, y: 0.94078374, z: -0.118977636, w: -0.31543952} + m_LastSceneViewRotation: {x: -0.06900473, y: -0.927394, z: 0.21303548, w: -0.30020672} m_LastSceneViewOrtho: 0 m_ReplacementShader: {fileID: 0} m_ReplacementString: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &9 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 4} + - {fileID: 10} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1194 + height: 819.3333 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 16192} + vertical: 1 + controlID: 17110 + draggingID: 0 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 5} + - {fileID: 7} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1194 + height: 561.3333 + m_MinSize: {x: 200, y: 50} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 17111 + draggingID: 0 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 265.33334 + height: 561.3333 + m_MinSize: {x: 201, y: 221} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 6} + m_Panes: + - {fileID: 6} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 72.66667 + width: 264.33334 + height: 540.3333 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: ccc1f8ff + m_LastClickedID: -474676 + m_ExpandedIDs: 2ec2f8ff2ee3f8ff36e3f8ff542af9ffc640f9ff4a41f9ff6e4cf9ff6254f9ff7840faff4e61faff7861faff8061faffa0a8faff9eb9faffdec3fafffac8faff02c9faff6ed8faff74dafaff9edafaffa6dafaffc621fbff8286fbffd286fbff4a90fbff50f6fbffa0f6fbff1000fcffeef8feff3ef9feff4ef9feff56f9feffb602ffffc887ffffe48cffff728fffff7a8fffff0092ffff0892ffff9694ffff2c97ffff98a6ffff9ea8ffffc8a8ffffd0a8ffff28e6ffff78e6ffffe8efffffccfaffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 5} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 265.33334 + y: 0 + width: 928.6666 + height: 561.3333 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 2} + m_Panes: + - {fileID: 2} + - {fileID: 8} + - {fileID: 9} + m_Selected: 0 + m_LastSelected: 2 +--- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -823,7 +721,7 @@ MonoBehaviour: x: 265.33334 y: 72.66667 width: 926.6666 - height: 535 + height: 540.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -906,6 +804,108 @@ MonoBehaviour: m_CurrentEditor: 0 m_LayerEditor: m_SelectedLayerIndex: 0 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 265.33334 + y: 72.66667 + width: 926.6666 + height: 540.3333 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: + - UnityEditor.DeviceSimulation.SimulatorWindow + m_SerializedViewValues: + - D:\Projects\ichni Official\Library\PlayModeViewStates\fcf862737d27629438090c00190a3d53 + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 1920, y: 1080} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 03000000000000000000000006000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -640 + m_HBaseRangeMax: 640 + m_VBaseRangeMin: -360 + m_VBaseRangeMax: 360 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 0 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 926.6666 + height: 519.3333 + m_Scale: {x: 0.72129625, y: 0.72129625} + m_Translation: {x: 463.3333, y: 259.66666} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -642.362 + y: -360 + width: 1284.724 + height: 720 + m_MinimalGUI: 1 + m_defaultScale: 0.72129625 + m_LastWindowPixelSize: {x: 1390, y: 810.5} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 00000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} + m_showToolbar: 1 --- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 @@ -916,25 +916,25 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ConsoleWindow + m_Name: ProjectBrowser m_EditorClassIdentifier: m_Children: [] m_Position: serializedVersion: 2 x: 0 - y: 556 + y: 561.3333 width: 1194 - height: 263.33337 - m_MinSize: {x: 101, y: 121} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 12} + height: 258 + m_MinSize: {x: 231, y: 271} + m_MaxSize: {x: 10001, y: 10021} + m_ActualView: {fileID: 11} m_Panes: - {fileID: 11} - {fileID: 12} - {fileID: 13} - {fileID: 14} - m_Selected: 1 - m_LastSelected: 0 + m_Selected: 0 + m_LastSelected: 1 --- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 @@ -957,9 +957,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 628.6667 - width: 1196.3334 - height: 242.33331 + y: 634 + width: 1193 + height: 237 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -981,7 +981,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Scenes + - Assets/Scripts/Game/GameElements/Track/TrackSubmodules m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -989,16 +989,16 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 96 m_LastFolders: - - Assets/Scenes + - Assets/Scripts/Game/GameElements/Track/TrackSubmodules m_LastFoldersGridSize: 96 m_LastProjectPath: D:\Projects\ichni Official m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 517.6667} - m_SelectedIDs: a6a90000 - m_LastClickedID: 43430 - m_ExpandedIDs: 000000000aa900000ca900000ea9000010a9000012a9000014a9000016a9000018a900001aa900001ca900001ea9000020a9000022a9000024a9000026a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000042a9000000ca9a3b + scrollPos: {x: 0, y: 471} + m_SelectedIDs: eab80000 + m_LastClickedID: 47338 + m_ExpandedIDs: 0000000026a9000028a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000040a9000042a9000044a9000046a9000048a900004aa900004ca900004ea9000050a9000052a9000054a9000056a9000058a900005aa90000b4a90000cca9000006b9000014b9000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1026,7 +1026,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000000aa900000ca900000ea9000010a9000012a9000014a9000016a9000018a900001aa900001ca900001ea9000020a9000022a9000024a9000026a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000042a9000000ca9a3b + m_ExpandedIDs: 0000000026a9000028a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca9000040a9000042a9000044a9000046a9000048a900004aa900004ca900004ea9000050a9000052a9000054a9000056a9000058a900005aa90000aea90000b0a90000cca9000006b9000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1051,9 +1051,9 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_ListAreaState: - m_SelectedInstanceIDs: - m_LastClickedInstanceID: 0 - m_HadKeyboardFocusLastEvent: 1 + m_SelectedInstanceIDs: ccc1f8ff + m_LastClickedInstanceID: -474676 + m_HadKeyboardFocusLastEvent: 0 m_ExpandedInstanceIDs: c6230000d2c101005ac60100bec80100b6c80100000000000cd901003ada010074b30100d4a10600f8a300000e8e00003e91000044900000e8920000c6d400005aa10000909600007ca300009a9d00004ab90000fa9e0000aaab00006ea6000014ab000022e0000028e0000064d20000 m_RenameOverlay: m_UserAcceptedRename: 0 @@ -1104,9 +1104,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 628.6667 + y: 634 width: 1193 - height: 242.33337 + height: 237 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1154,7 +1154,7 @@ MonoBehaviour: m_OverlaysVisible: 1 m_LockTracker: m_IsLocked: 0 - m_LastSelectedObjectID: -660800 + m_LastSelectedObjectID: -345886 --- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 @@ -1228,10 +1228,10 @@ MonoBehaviour: serializedVersion: 2 x: 1194 y: 0 - width: 512.66675 - height: 819.3334 - m_MinSize: {x: 276, y: 71} - m_MaxSize: {x: 4001, y: 4021} + width: 512.6666 + height: 819.3333 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 16} m_Panes: - {fileID: 16} @@ -1263,8 +1263,8 @@ MonoBehaviour: serializedVersion: 2 x: 1194 y: 72.66667 - width: 511.66675 - height: 798.3334 + width: 511.66663 + height: 798.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1278,7 +1278,7 @@ MonoBehaviour: m_ObjectsLockedBeforeSerialization: [] m_InstanceIDsLockedBeforeSerialization: m_PreviewResizer: - m_CachedPref: 181.66656 + m_CachedPref: -181.66656 m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview m_LastInspectedObjectInstanceID: -1 diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index 1283ca25..f7625120 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1706.6667 height: 869.3334 m_ShowMode: 4 - m_Title: Inspector + m_Title: Project m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -44,8 +44,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1706.6667 - height: 869.3334 + width: 1706.6666 + height: 869.3333 m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} m_UseTopView: 1 @@ -69,7 +69,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1706.6667 + width: 1706.6666 height: 30 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -90,8 +90,8 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 849.3334 - width: 1706.6667 + y: 849.3333 + width: 1706.6666 height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -114,12 +114,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 30 - width: 1706.6667 - height: 819.3334 + width: 1706.6666 + height: 819.3333 m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 9260 + controlID: 238 draggingID: 0 --- !u!114 &6 MonoBehaviour: @@ -141,11 +141,11 @@ MonoBehaviour: x: 0 y: 0 width: 1194 - height: 819.3334 + height: 819.3333 m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 9180 + controlID: 275 draggingID: 0 --- !u!114 &7 MonoBehaviour: @@ -167,11 +167,11 @@ MonoBehaviour: x: 0 y: 0 width: 1194 - height: 556 + height: 561.3333 m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 9181 + controlID: 179 draggingID: 0 --- !u!114 &8 MonoBehaviour: @@ -191,7 +191,7 @@ MonoBehaviour: x: 0 y: 0 width: 265.33334 - height: 556 + height: 561.3333 m_MinSize: {x: 201, y: 221} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 13} @@ -209,7 +209,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: SceneView + m_Name: GameView m_EditorClassIdentifier: m_Children: [] m_Position: @@ -217,16 +217,16 @@ MonoBehaviour: x: 265.33334 y: 0 width: 928.6666 - height: 556 + height: 561.3333 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 14} + m_ActualView: {fileID: 15} m_Panes: + - {fileID: 12} - {fileID: 14} - {fileID: 15} - - {fileID: 12} - m_Selected: 0 - m_LastSelected: 2 + m_Selected: 2 + m_LastSelected: 0 --- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 @@ -243,9 +243,9 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 556 + y: 561.3333 width: 1194 - height: 263.33337 + height: 258 m_MinSize: {x: 231, y: 271} m_MaxSize: {x: 10001, y: 10021} m_ActualView: {fileID: 16} @@ -273,8 +273,8 @@ MonoBehaviour: serializedVersion: 2 x: 1194 y: 0 - width: 512.66675 - height: 819.3334 + width: 512.6666 + height: 819.3333 m_MinSize: {x: 276, y: 71} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 20} @@ -286,172 +286,6 @@ MonoBehaviour: m_Selected: 0 m_LastSelected: 3 --- !u!114 &12 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Game - m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, - type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 265.33334 - y: 72.66667 - width: 926.6666 - height: 535 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_SerializedViewNames: - - UnityEditor.DeviceSimulation.SimulatorWindow - m_SerializedViewValues: - - D:\Projects\ichni Official\Library\PlayModeViewStates\fcf862737d27629438090c00190a3d53 - m_PlayModeViewName: GameView - m_ShowGizmos: 0 - m_TargetDisplay: 0 - m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1920, y: 1080} - m_TextureFilterMode: 0 - m_TextureHideFlags: 61 - m_RenderIMGUI: 1 - m_EnterPlayModeBehavior: 0 - m_UseMipMap: 0 - m_VSyncEnabled: 0 - m_Gizmos: 0 - m_Stats: 0 - m_SelectedSizes: 03000000000000000000000006000000000000000000000000000000000000000000000000000000 - m_ZoomArea: - m_HRangeLocked: 0 - m_VRangeLocked: 0 - hZoomLockedByDefault: 0 - vZoomLockedByDefault: 0 - m_HBaseRangeMin: -640 - m_HBaseRangeMax: 640 - m_VBaseRangeMin: -360 - m_VBaseRangeMax: 360 - m_HAllowExceedBaseRangeMin: 1 - m_HAllowExceedBaseRangeMax: 1 - m_VAllowExceedBaseRangeMin: 1 - m_VAllowExceedBaseRangeMax: 1 - m_ScaleWithWindow: 0 - m_HSlider: 0 - m_VSlider: 0 - m_IgnoreScrollWheelUntilClicked: 0 - m_EnableMouseInput: 1 - m_EnableSliderZoomHorizontal: 0 - m_EnableSliderZoomVertical: 0 - m_UniformScale: 1 - m_UpDirection: 1 - m_DrawArea: - serializedVersion: 2 - x: 0 - y: 21 - width: 926.6666 - height: 514 - m_Scale: {x: 0.7138889, y: 0.7138889} - m_Translation: {x: 463.3333, y: 257} - m_MarginLeft: 0 - m_MarginRight: 0 - m_MarginTop: 0 - m_MarginBottom: 0 - m_LastShownAreaInsideMargins: - serializedVersion: 2 - x: -649.0272 - y: -360 - width: 1298.0544 - height: 720 - m_MinimalGUI: 1 - m_defaultScale: 0.7138889 - m_LastWindowPixelSize: {x: 1390, y: 802.5} - m_ClearInEditMode: 1 - m_NoCameraWarning: 1 - m_LowResolutionForAspectRatios: 00000000000000000000 - m_XRRenderMode: 0 - m_RenderTexture: {fileID: 0} - m_showToolbar: 1 ---- !u!114 &13 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Hierarchy - m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, - type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 0 - y: 72.66667 - width: 264.33334 - height: 535 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_SceneHierarchy: - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: - m_LastClickedID: 0 - m_ExpandedIDs: c498f0ff7cddf0ff8e24f1ff52b9f1ff4248f2ff60b8f2ff6cbef2ffc043f3ffa40ef4ff0261f4ff56e6f4ff5450f5ff52bff5ffc4eaf5fff4aff6fff424f8ff0adaf8ff0edaf8ff14daf8ff1cdaf8ff12e4f8ff22cef9ff8c4bfbff2cc3fdffea06feffb0b1ffffb8b1ffffa2b7ffff62b9ffff66b9ffff6cb9ffff74b9ffffdcc2ffffaceeffff42f1fffff0fafffff4ffffff9a500100 - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: NoteMain - m_OriginalName: NoteMain - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 219028 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 0 - m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 8} - m_SearchString: - m_ExpandedScenes: [] - m_CurrenRootInstanceID: 0 - m_LockTracker: - m_IsLocked: 0 - m_CurrentSortingName: TransformSorting - m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -475,7 +309,7 @@ MonoBehaviour: x: 265.33334 y: 72.66667 width: 926.6666 - height: 535 + height: 540.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -873,9 +707,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 288.77197, y: -7.729402, z: -7.68663} + m_Target: {x: 0.4319974, y: 2.307617, z: 478.2139} speed: 2 - m_Value: {x: 0, y: 0, z: 0} + m_Value: {x: 0.4319974, y: 2.307617, z: 478.2139} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -921,13 +755,13 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.06900473, y: -0.927394, z: 0.21303548, w: -0.30020672} + m_Target: {x: 0.048798885, y: 0.0022965744, z: -0.000018332017, w: 0.9989788} speed: 2 - m_Value: {x: -0.044084605, y: 0.7801827, z: -0.05533693, w: -0.62153774} + m_Value: {x: 0.048790462, y: 0.0022961781, z: -0.000018328854, w: 0.99880636} m_Size: - m_Target: 3.7162945 + m_Target: 12.029685 speed: 2 - m_Value: 1.1277905 + m_Value: 12.029685 m_Ortho: m_Target: 0 speed: 2 @@ -945,14 +779,78 @@ MonoBehaviour: m_FarClip: 1000 m_DynamicClip: 1 m_OcclusionCulling: 0 - m_LastSceneViewRotation: {x: -0.039927594, y: 0.94078374, z: -0.118977636, w: -0.31543952} + m_LastSceneViewRotation: {x: -0.06900473, y: -0.927394, z: 0.21303548, w: -0.30020672} m_LastSceneViewOrtho: 0 m_ReplacementShader: {fileID: 0} m_ReplacementString: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &15 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 72.66667 + width: 264.33334 + height: 540.3333 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: d45effff585fffff0e6affff0272ffff3ceefffffcfaffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 8} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -976,7 +874,7 @@ MonoBehaviour: x: 265.33334 y: 72.66667 width: 926.6666 - height: 535 + height: 540.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1059,6 +957,108 @@ MonoBehaviour: m_CurrentEditor: 0 m_LayerEditor: m_SelectedLayerIndex: 0 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 265.33334 + y: 72.66667 + width: 926.6666 + height: 540.3333 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: + - UnityEditor.DeviceSimulation.SimulatorWindow + m_SerializedViewValues: + - D:\Projects\ichni Official\Library\PlayModeViewStates\fcf862737d27629438090c00190a3d53 + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 1920, y: 1080} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 03000000000000000000000006000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -640 + m_HBaseRangeMax: 640 + m_VBaseRangeMin: -360 + m_VBaseRangeMax: 360 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 926.6666 + height: 519.3333 + m_Scale: {x: 0.72129625, y: 0.72129625} + m_Translation: {x: 463.3333, y: 259.66666} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -642.362 + y: -360 + width: 1284.724 + height: 720 + m_MinimalGUI: 1 + m_defaultScale: 0.72129625 + m_LastWindowPixelSize: {x: 1390, y: 810.5} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 00000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} + m_showToolbar: 1 --- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 @@ -1081,9 +1081,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 628.6667 + y: 634 width: 1193 - height: 242.33337 + height: 237 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1105,7 +1105,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/ThemeBundles/DepartureToMultiverse/Prefabs + - Assets/Dreamteck m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -1113,16 +1113,16 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 96 m_LastFolders: - - Assets/ThemeBundles/DepartureToMultiverse/Prefabs + - Assets/Dreamteck m_LastFoldersGridSize: 96 m_LastProjectPath: D:\Projects\ichni Official m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 240} - m_SelectedIDs: d2a90000 - m_LastClickedID: 43474 - m_ExpandedIDs: 000000000aa900000ca900000ea9000010a9000012a9000014a9000016a9000018a900001aa900001ca900001ea9000020a9000022a9000024a9000026a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca90000d2a9000000ca9a3b + scrollPos: {x: 0, y: 0} + m_SelectedIDs: a0a90000 + m_LastClickedID: 43424 + m_ExpandedIDs: 000000002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000040a9000042a9000044a9000046a9000048a900004aa900004ca900004ea9000050a9000052a9000054a9000056a9000058a900005aa900005ca900005ea9000060a9000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1150,7 +1150,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000000aa900000ca900000ea9000010a9000012a9000014a9000016a9000018a900001aa900001ca900001ea9000020a9000022a9000024a9000026a900002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000042a9000000ca9a3b + m_ExpandedIDs: 000000002aa900002ca900002ea9000030a9000032a9000034a9000036a9000038a900003aa900003ca900003ea9000040a9000042a9000044a9000046a9000048a900004aa900004ca900004ea9000050a9000052a9000054a9000056a9000058a900005aa900005ca900005ea9000060a90000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1228,9 +1228,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 628.6667 + y: 634 width: 1193 - height: 242.33337 + height: 237 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1278,7 +1278,7 @@ MonoBehaviour: m_OverlaysVisible: 1 m_LockTracker: m_IsLocked: 0 - m_LastSelectedObjectID: -660800 + m_LastSelectedObjectID: -474676 --- !u!114 &19 MonoBehaviour: m_ObjectHideFlags: 52 @@ -1358,8 +1358,8 @@ MonoBehaviour: serializedVersion: 2 x: 1194 y: 72.66667 - width: 511.66675 - height: 798.3334 + width: 511.66663 + height: 798.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1373,7 +1373,7 @@ MonoBehaviour: m_ObjectsLockedBeforeSerialization: [] m_InstanceIDsLockedBeforeSerialization: m_PreviewResizer: - m_CachedPref: 181.66656 + m_CachedPref: -181.66656 m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview m_LastInspectedObjectInstanceID: -1