From f16ecbfbcf1206e16e73aeb25380ff98227739ad Mon Sep 17 00:00:00 2001 From: TRAfoer Date: Sat, 19 Apr 2025 23:21:27 +0800 Subject: [PATCH] =?UTF-8?q?sth&=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/DynamicUI/GridPosText.prefab | 13 - .../DynamicUI/Timeline/TimePointer.prefab | 8 +- .../Simple/DynamicUIEnumDropdown.cs | 2 +- .../DynamicUI/Timeline/TimePointerModule.cs | 2 +- .../ElementFolder/ElementFolder.cs | 23 +- .../EditorGame/GameElements/Track/Track.cs | 8 +- .../TrackSubmodules/TrackPathSubmodule.cs | 26 +- .../EditorGame/GameElements/Track/Trail.cs | 1 + Assets/Scripts/Manager/InputListener.cs | 27 +- .../AutoSave/IceFlowerMaster/AutoSave_0.json | 785 ++++++++++++++- .../Projects/IceFlowerMaster/Beatmap.json | 895 +++++++++++++++++- Document/ichni编辑器指南.md | 161 +++- 12 files changed, 1889 insertions(+), 62 deletions(-) diff --git a/Assets/Prefabs/DynamicUI/GridPosText.prefab b/Assets/Prefabs/DynamicUI/GridPosText.prefab index 112577aa..cbbb6e61 100644 --- a/Assets/Prefabs/DynamicUI/GridPosText.prefab +++ b/Assets/Prefabs/DynamicUI/GridPosText.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 7218990644326672365} - component: {fileID: 4373037038321954862} - component: {fileID: 5075741739930138068} - - component: {fileID: 3669367315767716663} m_Layer: 0 m_Name: GridPosText m_TagString: Untagged @@ -172,15 +171,3 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_renderer: {fileID: 4373037038321954862} m_maskType: 0 ---- !u!114 &3669367315767716663 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2595472339849441637} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b9e38313ec93f7a4a87743dfa6320fec, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/Assets/Prefabs/DynamicUI/Timeline/TimePointer.prefab b/Assets/Prefabs/DynamicUI/Timeline/TimePointer.prefab index ad67ba04..313ebb64 100644 --- a/Assets/Prefabs/DynamicUI/Timeline/TimePointer.prefab +++ b/Assets/Prefabs/DynamicUI/Timeline/TimePointer.prefab @@ -100,7 +100,7 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2582902444683976579} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 @@ -109,8 +109,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -14.75, y: -7.5} - m_SizeDelta: {x: 35, y: 10} + m_AnchoredPosition: {x: -14.75, y: -3.8946} + m_SizeDelta: {x: 50, y: 17.2108} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2582902444683976590 CanvasRenderer: @@ -167,7 +167,7 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 8.95 + m_fontSize: 15.4 m_fontSizeBase: 7 m_fontWeight: 400 m_enableAutoSizing: 1 diff --git a/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIEnumDropdown.cs b/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIEnumDropdown.cs index 40843614..1e36a6ab 100644 --- a/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIEnumDropdown.cs +++ b/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIEnumDropdown.cs @@ -32,7 +32,7 @@ namespace Ichni.Editor connectedBaseElement.GetType().GetField(parameterName).SetValue(connectedBaseElement, value); connectedBaseElement.Refresh(); } - + public override DynamicUIElement AddListenerFunction(UnityAction action) { dropdown.onValueChanged.AddListener(_ => action()); diff --git a/Assets/Scripts/DynamicUI/Timeline/TimePointerModule.cs b/Assets/Scripts/DynamicUI/Timeline/TimePointerModule.cs index 0c63cccb..c6ce450d 100644 --- a/Assets/Scripts/DynamicUI/Timeline/TimePointerModule.cs +++ b/Assets/Scripts/DynamicUI/Timeline/TimePointerModule.cs @@ -80,7 +80,7 @@ namespace Ichni.Editor /// public void Initialize(float delay, float bpm) { - timePointerInterval = 30; + timePointerInterval = 80; ClearPointers(); int beatDivider = 1; diff --git a/Assets/Scripts/EditorGame/GameElements/ElementFolder/ElementFolder.cs b/Assets/Scripts/EditorGame/GameElements/ElementFolder/ElementFolder.cs index b2ede676..1424c437 100644 --- a/Assets/Scripts/EditorGame/GameElements/ElementFolder/ElementFolder.cs +++ b/Assets/Scripts/EditorGame/GameElements/ElementFolder/ElementFolder.cs @@ -33,8 +33,8 @@ namespace Ichni.RhythmGame { public override void SaveBM() { - matchedBM = parentElement != null ? - new ElementFolder_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM) : + matchedBM = parentElement != null ? + new ElementFolder_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM) : new ElementFolder_BM(elementName, elementGuid, tags, null); } @@ -43,7 +43,7 @@ namespace Ichni.RhythmGame IHaveInspection inspector = EditorManager.instance.uiManager.inspector; base.SetUpInspector(); var container = inspector.GenerateContainer("Generate"); - + var generateBase = container.GenerateSubcontainer(3); var folderButton = inspector.GenerateButton(this, generateBase, "Folder", () => ElementFolder.GenerateElement("New Folder", Guid.NewGuid(), new List(), true, this)); @@ -55,7 +55,7 @@ namespace Ichni.RhythmGame var crossTrackPoint = inspector.GenerateButton(this, generateBase, "Cross Track Point", () => CrossTrackPoint.GenerateElement("New Cross Track Point", Guid.NewGuid(), new List(), true, this, new FlexibleInt(), new FlexibleFloat())); - + var generateNote = container.GenerateSubcontainer(3); var tapButton = inspector.GenerateButton(this, generateNote, "Tap", () => Tap.GenerateElement("New Tap", Guid.NewGuid(), new List(), true, this, 0f)); @@ -66,7 +66,7 @@ namespace Ichni.RhythmGame var flickButton = inspector.GenerateButton(this, generateNote, "Flick", () => Flick.GenerateElement("New Flick", Guid.NewGuid(), new List(), true, this, 0f, new List())); - + var generateEnvironment = container.GenerateSubcontainer(3); var environmentObjectButton = inspector.GenerateButton(this, generateEnvironment, "Environment Object", () => TemporaryObject.GenerateElement("New Environment Object", Guid.NewGuid(), new List(), @@ -74,7 +74,7 @@ namespace Ichni.RhythmGame var timeEffectsCollectionButton = inspector.GenerateButton(this, generateEnvironment, "Time Effects Collection", () => TimeEffectsCollection.GenerateElement("New Time Effects Collection", Guid.NewGuid(), new List(), true, this, 0)); - + var generateAnimation = container.GenerateSubcontainer(3); var displacementButton = inspector.GenerateButton(this, generateAnimation, "Displacement", () => Displacement.GenerateElement("New Displacement", Guid.NewGuid(), new List(), true, this, @@ -82,6 +82,11 @@ namespace Ichni.RhythmGame var swirlButton = inspector.GenerateButton(this, generateAnimation, "Swirl", () => Swirl.GenerateElement("New Swirl", Guid.NewGuid(), new List(), true, this, new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat())); + var scaleButton = inspector.GenerateButton(this, generateAnimation, "Scale", () => + { + Swirl.GenerateElement("New Scale", Guid.NewGuid(), new List(), true, this, + new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat()); + }); //缩放 } } @@ -94,15 +99,15 @@ namespace Ichni.RhythmGame } - public ElementFolder_BM(string elementName, Guid elementGuid, List tags, GameElement_BM attachedElement) + public ElementFolder_BM(string elementName, Guid elementGuid, List tags, GameElement_BM attachedElement) : base(elementName, elementGuid, tags, attachedElement) { - + } public override void ExecuteBM() { - matchedElement = ElementFolder.GenerateElement(elementName, elementGuid, tags,false, GetElement(attachedElementGuid)); + matchedElement = ElementFolder.GenerateElement(elementName, elementGuid, tags, false, GetElement(attachedElementGuid)); } public override GameElement DuplicateBM(GameElement parent) diff --git a/Assets/Scripts/EditorGame/GameElements/Track/Track.cs b/Assets/Scripts/EditorGame/GameElements/Track/Track.cs index 74872195..71b454c6 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/Track.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/Track.cs @@ -48,7 +48,7 @@ namespace Ichni.RhythmGame public override void AfterInitialize() { base.AfterInitialize(); - + if (trackPathSubmodule != null && trackPathSubmodule.pathNodeList.Count > 3) { trackPathSubmodule.ClosePath(); @@ -173,7 +173,11 @@ namespace Ichni.RhythmGame Swirl.GenerateElement("New Swirl", Guid.NewGuid(), new List(), true, this, new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat()); }); //旋转 - + var scaleButton = inspector.GenerateButton(this, animationSubcontainer, "Scale", () => + { + Swirl.GenerateElement("New Scale", Guid.NewGuid(), new List(), true, this, + new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat()); + }); //缩放 if (trackPathSubmodule != null) { trackPathButton.button.interactable = false; diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs index 44b95e0e..6427d5fd 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs @@ -50,7 +50,7 @@ namespace Ichni.RhythmGame { private void SetUpSplineComputer(Track.TrackSpaceType trackSpaceType, Track.TrackSamplingType trackSamplingType) { - path.type = (Spline.Type)(int)trackSpaceType; + path.type = (Spline.Type)trackSpaceType; path.sampleMode = (SplineComputer.SampleMode)(int)trackSamplingType; path.space = SplineComputer.Space.Local; } @@ -69,8 +69,10 @@ namespace Ichni.RhythmGame public void SetTrackSpaceType(int spaceType) { - trackSpaceType = (Track.TrackSpaceType)spaceType; - path.type = (Spline.Type)spaceType; + int SpaceType = spaceType; + if (spaceType == 2) SpaceType++; + trackSpaceType = (Track.TrackSpaceType)SpaceType; + path.type = (Spline.Type)SpaceType; } public void SetPathNode(PathNode point) @@ -86,17 +88,13 @@ namespace Ichni.RhythmGame public override void Refresh() { - if (trackSpaceType == Track.TrackSpaceType.Linear) - { - SetTrackSpaceType((int)Spline.Type.Linear); - path.type = Spline.Type.Linear; - } - else - { - SetTrackSpaceType((int)trackSpaceType); - SetUpSplineComputer(trackSpaceType, trackSamplingType); - } + + + + SetTrackSpaceType((int)trackSpaceType); + SetUpSplineComputer(trackSpaceType, trackSamplingType); + foreach (var pathNode in pathNodeList) { @@ -117,7 +115,7 @@ namespace Ichni.RhythmGame public override void SetUpInspector() { IHaveInspection inspector = EditorManager.instance.uiManager.inspector; - + var container = inspector.GenerateContainer("Track Path"); var trackPathSubmoduleSettings = container.GenerateSubcontainer(3); var trackSpaceDropdown = diff --git a/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs b/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs index 0fec4a79..ea341026 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using Ichni.Editor; using Ichni.RhythmGame.Beatmap; + using UnityEngine; namespace Ichni.RhythmGame diff --git a/Assets/Scripts/Manager/InputListener.cs b/Assets/Scripts/Manager/InputListener.cs index ad56d5ea..33a85ffc 100644 --- a/Assets/Scripts/Manager/InputListener.cs +++ b/Assets/Scripts/Manager/InputListener.cs @@ -36,6 +36,7 @@ namespace Ichni.Editor UIOperation(); SwitchCameraOperation(); ClickSelectElement(); + } } @@ -54,7 +55,7 @@ namespace Ichni.Editor if (EditorManager.instance.cameraManager.isSceneCameraActive && !isPointerOverUI) // 场景相机的移动和旋转 { float cameraMoveSpeed = EditorManager.instance.cameraManager.sceneCameraMoveSpeed * Time.deltaTime; - + if (Keyboard.current.wKey.isPressed) { sceneCameraTransform.position += sceneCameraTransform.forward * cameraMoveSpeed; @@ -121,7 +122,7 @@ namespace Ichni.Editor } } } - + private void TracksOperation() { if (Keyboard.current.altKey.isPressed) @@ -140,7 +141,7 @@ namespace Ichni.Editor } } } - + private void SaveAndExportOperation() { if (Keyboard.current.leftCtrlKey.isPressed) @@ -155,11 +156,17 @@ namespace Ichni.Editor } } } - + private void CopyPasteDeleteOperation() { + if (!RectTransformUtility.RectangleContainsScreenPoint(EditorManager.instance.uiManager.hierarchy.GetComponent(), Mouse.current.position.ReadValue())) + { + + return; + } if (Keyboard.current.leftCtrlKey.isPressed) // TODO: 后续适应多选 { + if (Keyboard.current.cKey.wasPressedThisFrame) // Ctrl + C 复制 { if (EditorManager.instance.operationManager.currentSelectedElements.Count != 1) // TODO: 后续适应多选 @@ -167,7 +174,7 @@ namespace Ichni.Editor LogWindow.Log("Please select only one Game Element to copy.", Color.red); return; } - + EditorManager.instance.operationManager.CopyPasteDeleteModule.CopyElement(EditorManager.instance.operationManager.currentSelectedElements[0]); } else if (Keyboard.current.vKey.wasPressedThisFrame) // Ctrl + V 粘贴 @@ -177,7 +184,7 @@ namespace Ichni.Editor LogWindow.Log("Please select only one Game Element to paste.", Color.red); return; } - + EditorManager.instance.operationManager.CopyPasteDeleteModule.PasteElement(EditorManager.instance.operationManager.currentSelectedElements[0]); } else if (Keyboard.current.dKey.wasPressedThisFrame) // Ctrl + D 删除 @@ -187,12 +194,12 @@ namespace Ichni.Editor LogWindow.Log("Please select only one Game Element to copy.", Color.red); return; } - + EditorManager.instance.operationManager.CopyPasteDeleteModule.DeleteElement(EditorManager.instance.operationManager.currentSelectedElements[0]); } } } - + private void ResolutionHintsOperation() { if (Keyboard.current.leftCtrlKey.isPressed) @@ -211,7 +218,7 @@ namespace Ichni.Editor } } } - + private void UIOperation() { if (Keyboard.current.leftCtrlKey.isPressed) @@ -222,7 +229,7 @@ namespace Ichni.Editor } } } - + private void SwitchCameraOperation() { if (Keyboard.current.leftCtrlKey.isPressed) diff --git a/Assets/StreamingAssets/AutoSave/IceFlowerMaster/AutoSave_0.json b/Assets/StreamingAssets/AutoSave/IceFlowerMaster/AutoSave_0.json index 6d146a74..4047055d 100644 --- a/Assets/StreamingAssets/AutoSave/IceFlowerMaster/AutoSave_0.json +++ b/Assets/StreamingAssets/AutoSave/IceFlowerMaster/AutoSave_0.json @@ -314,8 +314,8 @@ } },{ "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", - "trackSpaceType" : 0, - "trackSamplingType" : 0, + "trackSpaceType" : 3, + "trackSamplingType" : 1, "isClosed" : false, "isShowingDisplay" : false, "attachedElementGuid" : { @@ -326,7 +326,7 @@ "trackStartTime" : 0, "trackEndTime" : 21.4, "visibleTrackTimeLength" : 4, - "animationCurveType" : 0, + "animationCurveType" : 2, "attachedElementGuid" : { "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" } @@ -955,6 +955,12 @@ "startTime" : 39.51613, "endTime" : 40.48387, "animationCurveType" : 4 + },{ + "startValue" : 0, + "endValue" : -180, + "startTime" : 40.48387, + "endTime" : 41.77419, + "animationCurveType" : 29 } ] }, @@ -1387,6 +1393,779 @@ "attachedElementGuid" : { "value" : "545f4a84-86e3-4545-ae3c-f19c7b6592cc" } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Displacement_BM,Assembly-CSharp", + "positionX" : { + "animatedFloatList" : [ + + ] + }, + "positionY" : { + "animatedFloatList" : [ + + ] + }, + "positionZ" : { + "animatedFloatList" : [ + { + "startValue" : 0, + "endValue" : 100, + "startTime" : 39.67742, + "endTime" : 42.25806, + "animationCurveType" : 4 + } + ] + }, + "elementName" : "New Displacement", + "tags" : [ + + ], + "elementGuid" : { + "value" : "473943b7-835b-4512-9855-2640e33d6525" + }, + "attachedElementGuid" : { + "value" : "80ba50f8-051b-4779-99be-dc7ed7937c76" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "473943b7-835b-4512-9855-2640e33d6525" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Track_BM,Assembly-CSharp", + "elementName" : "New Track", + "tags" : [ + + ], + "elementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + }, + "attachedElementGuid" : { + "value" : "7ef3edba-2842-4607-9e49-5e496ab7c262" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.2, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", + "trackSpaceType" : 0, + "trackSamplingType" : 0, + "isClosed" : false, + "isShowingDisplay" : false, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackTimeSubmoduleMovable_BM,Assembly-CSharp", + "trackStartTime" : 0, + "trackEndTime" : 21.4, + "visibleTrackTimeLength" : 4, + "animationCurveType" : 2, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", + "materialThemeBundleName" : "departure_to_multiverse", + "materialName" : "EnergyTrail0", + "enableEmission" : false, + "emissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 3.1, + "y" : 0, + "z" : 50 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 90 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.7, + "y" : 0, + "z" : 100 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 6.6, + "y" : 0, + "z" : 150 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 1, + "b" : 0, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 200 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Track_BM,Assembly-CSharp", + "elementName" : "New Track", + "tags" : [ + + ], + "elementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + }, + "attachedElementGuid" : { + "value" : "7ef3edba-2842-4607-9e49-5e496ab7c262" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -9.800006, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", + "trackSpaceType" : 0, + "trackSamplingType" : 0, + "isClosed" : false, + "isShowingDisplay" : false, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", + "materialThemeBundleName" : "", + "materialName" : "", + "enableEmission" : false, + "emissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackTimeSubmoduleStatic_BM,Assembly-CSharp", + "trackTotalTime" : 1, + "animationCurveType" : 0, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 3.1, + "y" : 0, + "z" : 50 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 90 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.7, + "y" : 0, + "z" : 100 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 6.6, + "y" : 0, + "z" : 150 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 1, + "b" : 0, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 200 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } } ], "attachedElementGuid" : { diff --git a/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json b/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json index f05c6207..fe6ee076 100644 --- a/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json +++ b/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json @@ -314,8 +314,8 @@ } },{ "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", - "trackSpaceType" : 0, - "trackSamplingType" : 0, + "trackSpaceType" : 3, + "trackSamplingType" : 1, "isClosed" : false, "isShowingDisplay" : false, "attachedElementGuid" : { @@ -326,7 +326,7 @@ "trackStartTime" : 0, "trackEndTime" : 21.4, "visibleTrackTimeLength" : 4, - "animationCurveType" : 0, + "animationCurveType" : 2, "attachedElementGuid" : { "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" } @@ -1434,6 +1434,895 @@ "attachedElementGuid" : { "value" : "473943b7-835b-4512-9855-2640e33d6525" } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Track_BM,Assembly-CSharp", + "elementName" : "New Track", + "tags" : [ + + ], + "elementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + }, + "attachedElementGuid" : { + "value" : "7ef3edba-2842-4607-9e49-5e496ab7c262" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.2, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", + "trackSpaceType" : 0, + "trackSamplingType" : 0, + "isClosed" : false, + "isShowingDisplay" : false, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackTimeSubmoduleMovable_BM,Assembly-CSharp", + "trackStartTime" : 0, + "trackEndTime" : 21.4, + "visibleTrackTimeLength" : 4, + "animationCurveType" : 2, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", + "materialThemeBundleName" : "departure_to_multiverse", + "materialName" : "EnergyTrail0", + "enableEmission" : false, + "emissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "1870ab31-024c-4bcf-8eea-dced86889afa" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 3.1, + "y" : 0, + "z" : 50 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 90 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "ea214aba-54ab-4be0-80cc-e93a6b721a44" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.7, + "y" : 0, + "z" : 100 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "c7e98e93-6e8e-4ff5-bc97-57ed283da945" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 6.6, + "y" : 0, + "z" : 150 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 1, + "b" : 0, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "ead3d313-c290-449b-b6e0-00209d8fbf46" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 200 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "4c55709a-3ecd-4957-afc9-611c77cf3bf1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Track_BM,Assembly-CSharp", + "elementName" : "New Track", + "tags" : [ + + ], + "elementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + }, + "attachedElementGuid" : { + "value" : "7ef3edba-2842-4607-9e49-5e496ab7c262" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -9.800006, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPathSubmodule_BM,Assembly-CSharp", + "trackSpaceType" : 0, + "trackSamplingType" : 0, + "isClosed" : false, + "isShowingDisplay" : false, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", + "materialThemeBundleName" : "", + "materialName" : "", + "enableEmission" : false, + "emissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackTimeSubmoduleStatic_BM,Assembly-CSharp", + "trackTotalTime" : 1, + "animationCurveType" : 0, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "d8d2f35c-9d37-4279-b3aa-8b2973b2b493" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 3.1, + "y" : 0, + "z" : 50 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 90 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "97446f05-c43f-4271-ace9-873e739e9fe0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -4.7, + "y" : 0, + "z" : 100 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 0, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "7a8287f0-f945-4853-8eb7-eafad51823d7" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 6.6, + "y" : 0, + "z" : 150 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 0, + "g" : 1, + "b" : 0, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "99ce92d7-cc8c-49c8-8c36-e27bb442cad0" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : true, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + }, + "attachedElementGuid" : { + "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 200 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "0bd97ebe-3433-44d7-a80b-7af84f2c7055" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackHeadPoint_BM,Assembly-CSharp", + "elementName" : "New Track Head Point", + "tags" : [ + + ], + "elementGuid" : { + "value" : "fc8acacc-8f7d-4acb-a3d5-d84fc7c8cc91" + }, + "attachedElementGuid" : { + "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "fc8acacc-8f7d-4acb-a3d5-d84fc7c8cc91" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPercentPoint_BM,Assembly-CSharp", + "trackPercent" : { + "animatedFloatList" : [ + { + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + } + ] + }, + "elementName" : "New Track Percent Point", + "tags" : [ + + ], + "elementGuid" : { + "value" : "70488e90-4e9f-4d93-bb9c-b2579db10ad1" + }, + "attachedElementGuid" : { + "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "70488e90-4e9f-4d93-bb9c-b2579db10ad1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Trail_BM,Assembly-CSharp", + "visibleTimeLength" : 1, + "renderMaterialName" : "DefaultTrailMaterial", + "isAutoOrient" : true, + "widthMultiplier" : 1, + "widthCurve" : { + "keys" : [ + { + "time" : 0, + "value" : 1, + "inTangent" : 0, + "outTangent" : 0 + },{ + "time" : 1, + "value" : 1, + "inTangent" : 0, + "outTangent" : 0 + } + ], + "preWrapMode" : 8, + "postWrapMode" : 8 + }, + "elementName" : "New Trail", + "tags" : [ + + ], + "elementGuid" : { + "value" : "c1ee37af-921b-45d7-9429-d1e1202c8a4b" + }, + "attachedElementGuid" : { + "value" : "70488e90-4e9f-4d93-bb9c-b2579db10ad1" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : -2.3, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "c1ee37af-921b-45d7-9429-d1e1202c8a4b" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Trail_BM,Assembly-CSharp", + "visibleTimeLength" : 1, + "renderMaterialName" : "DefaultTrailMaterial", + "isAutoOrient" : true, + "widthMultiplier" : 1, + "widthCurve" : { + "keys" : [ + { + "time" : 0, + "value" : 1, + "inTangent" : 0, + "outTangent" : 0 + },{ + "time" : 1, + "value" : 1, + "inTangent" : 0, + "outTangent" : 0 + } + ], + "preWrapMode" : 8, + "postWrapMode" : 8 + }, + "elementName" : "New Trail", + "tags" : [ + + ], + "elementGuid" : { + "value" : "4770fb64-20fb-4d9a-92f1-cbbce07044df" + }, + "attachedElementGuid" : { + "value" : "fc8acacc-8f7d-4acb-a3d5-d84fc7c8cc91" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "4770fb64-20fb-4d9a-92f1-cbbce07044df" + } } ], "attachedElementGuid" : { diff --git a/Document/ichni编辑器指南.md b/Document/ichni编辑器指南.md index b7f5b8dd..0df6db41 100644 --- a/Document/ichni编辑器指南.md +++ b/Document/ichni编辑器指南.md @@ -24,16 +24,173 @@ Song Location:歌曲路径:导入后歌曲存储在编辑器内,与原路 **Theme Bundle Selection**:选择主题包,~~之后写~~ +## 快捷键 + +注意,颇多的快捷键都是在要鼠标在对应UI下才能触发的 + +### **场景操作** + +1. **W**:向前移动场景相机。 +2. **S**:向后移动场景相机。 +3. **A**:向左移动场景相机。 +4. **D**:向右移动场景相机。 +5. **E**:向上移动场景相机。 +6. **Q**:向下移动场景相机。 +7. **鼠标右键**:按下时开始旋转场景相机,释放时停止旋转。 + +--- + +### **音乐播放器操作** + +1. **Enter**:播放或暂停音乐。 + +--- + +### **轨道操作** + +1. **Alt + P**:显示或隐藏所有路径节点。 +2. **Alt + D**:启用或隐藏所有轨道路径显示。 + +--- + +### **保存与导出** + +1. **Ctrl + S**:保存项目。 +2. **Ctrl + E**:导出项目。 + +--- + +### **复制、粘贴与删除** + +1. **Ctrl + C**:复制选中的游戏元素(目前仅支持单选)。 +2. **Ctrl + V**:粘贴游戏元素。 +3. **Ctrl + D**:删除选中的游戏元素。 + +--- + +### **分辨率提示** + +1. **Ctrl + 1**:切换到手机分辨率提示。 +2. **Ctrl + 2**:切换到平板分辨率提示。 +3. **Ctrl + 3**:切换到绝对安全区域提示。 + +--- + +### **UI 操作** + +1. **Ctrl + U**:切换所有静态窗口的显示状态。 + +--- + +### **摄像机切换** + +1. **Ctrl + M**:切换摄像机。 + +--- + +### **元素选择** + +1. **鼠标左键**:点击选择场景中的游戏元素(需不在 UI 上)。 + ## 谱面结构 由于ichni的自由度极高,其谱面结构偏向原生unity,现在讲述简要功能 -#### Element Folder +### Element Folder 本质上是一个空节点,拥有自己的位置属性,可以在下面放置其他的元素 ### Camera -可以直接在folder下,也可以放在cross Track Point里,需要注意的是,一张谱面只能有一个camera +可以直接在folder下(简单情况),也可以放在cross Track Point里(需要多机位的特殊情况),需要注意的是,**一张谱面只能有一个camera** + +camera的职责很简单:做一个camera。带着他或者他所在的folder和cross Track Point里的track乱动,他也就动起来了 + +### Track + +Track是ichni的核心元件,以下分为几种 + +###### 基础:TrackPath + +TrackPath属性:空间形状,前进方式,是否闭合 + +前进方式:track的前进方式分为time和distance,time会把每两个pathnode之间的段分为相同的时间分别前进,diasance则会根据距离等量均分,如果有缓动那么将会强制使用diasance + +```示例 +以下是一个示例(代码块仅示意,没有实际意义和语法) +new track{ + pathnode0(0,0,0) +    pathnode1(0,0,1) +    pathnode2(0,0,10) +    starttime:0 +    endtime:2 +} +若是time模式下,0到1秒的时间track从0到1,而在剩下的1秒会从1直接冲到10 +distance就不会 +``` + + + +###### 路径方式 + +1. Movable + +2. Static + +###### 显示方式 + +1. AutoOrient + +2. TrackPath + +###### movable属性: + +    开始时间,结束时间,可视长度,缓动 + +    其中开始时间和结束时间是**track的头部**到达首尾的时间,而 结束时间+可视长度 则是**track尾**到达尾部的时间 + +    在movable中,note以固定的位置生成在track上,在放note时切记判定时间要在track的启停时间之间 + +###### Static属性: + +    下落时间,下落缓动 + +    Static的track若是有选择显示方式,则会始终显示整条track + +    在static中,note从track的**尾部运动到头部** + +###### 显示属性 + +    无论是AutoOrient还是TrackPath,都拥有一个材质系统,你可以选择主题包中的材质,两个显示方式不同的是,track path会由于其中pathnode的方向而改变面的朝向,而AutoOrient会强制track的面始终面向摄像机(这段建议实操看看效果,各有各的好) + +### pathnode + +无疑,pathnode是track下最主要的部分,但是也是最简单的部分,~~但是扛不住量大~~ + +pathnode带有位置,旋转,缩放,颜色等,用于调整track部分的颜色 + +建议实操 + +### 事件 + +事件是一个很大的基础类,包揽了track外几乎所有的动态效果 + +事件包含displacement,swirl,scale,若是有过动效类型写谱的话,事件系统应当不难理解 + +另外还有一个特殊的事件用在track下:trackPercentPoint + +        trackPercentPoint使用0到1的值代表track进程,配合trail使用可以实现 ~~反复横跳~~ 精细控制 + +        还有一个trackHeadPoint是trackPercentPoint的简化版,虽然不该放在这里但是我真的懒得开一个来讲 + +建议实操 + +### Trail + +由于0.2(旧版本)的某些神奇效果使我们再次增加了Trail,Trail的原型是unity的尾迹效果,所以需要注意的是当用各种手段使trail瞬移的时候会拉出长长的痕迹 + +trail配有位置,材质,颜色等(仍在开发) + +目前Trail只能在trackPercentPoint下生成,但是有一点奇技淫巧是可以把他复制出来然后直接粘贴在folder下,这样就可以通过事件控制他了