文档,给那些工具挪窝
This commit is contained in:
@@ -49,10 +49,10 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 26192
|
||||
m_assetChangeTS: 1748796846
|
||||
m_fileInfoReadTS: 1748796858
|
||||
m_fileWriteTS: 1748796846
|
||||
m_cachefileWriteTS: 1748796846
|
||||
m_assetChangeTS: 1749103872
|
||||
m_fileInfoReadTS: 1749103883
|
||||
m_fileWriteTS: 1749103872
|
||||
m_cachefileWriteTS: 1749103872
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: 00000000000000005000000000000000
|
||||
@@ -1851,8 +1851,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 8241
|
||||
m_assetChangeTS: 1748595572
|
||||
m_fileInfoReadTS: 1748595588
|
||||
m_assetChangeTS: 1749103900
|
||||
m_fileInfoReadTS: 1749103903
|
||||
m_fileWriteTS: 1748595308
|
||||
m_cachefileWriteTS: 1748595308
|
||||
refreshStamp: 2
|
||||
@@ -7166,15 +7166,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: 7006cf01f592ed54593fb8a4f7fc5f97
|
||||
type: 5
|
||||
m_fileInfoHash: 2162.prefab
|
||||
m_fileInfoHash: 2088.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 2162
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758837
|
||||
m_fileWriteTS: 1746119252
|
||||
m_cachefileWriteTS: 1746119252
|
||||
m_fileSize: 2088
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746088394
|
||||
m_cachefileWriteTS: 1746088394
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: 1344c3c82d62a2a41a3576d8abb8e3ea
|
||||
@@ -20037,8 +20037,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 84386
|
||||
m_assetChangeTS: 1748589050
|
||||
m_fileInfoReadTS: 1748589074
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746886071
|
||||
m_cachefileWriteTS: 1746886071
|
||||
refreshStamp: 2
|
||||
@@ -24374,15 +24374,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: 914dd73ddae7943148ea71537167542b
|
||||
type: 2
|
||||
m_fileInfoHash: 10357.cs
|
||||
m_fileInfoHash: 10356.cs
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 10357
|
||||
m_fileSize: 10356
|
||||
m_assetChangeTS: 1748797267
|
||||
m_fileInfoReadTS: 1748796841
|
||||
m_fileWriteTS: 1748796829
|
||||
m_cachefileWriteTS: 0
|
||||
m_fileInfoReadTS: 1749103250
|
||||
m_fileWriteTS: 1749102885
|
||||
m_cachefileWriteTS: 1749102885
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: 915dabe870142d4eb34a5dbf62d6df68
|
||||
@@ -47993,15 +47993,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: 53e14ab421bb98b48b1d276bf32cddd2
|
||||
type: 5
|
||||
m_fileInfoHash: 25710.prefab
|
||||
m_fileInfoHash: 24864.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 25710
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758830
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 24864
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746870545
|
||||
m_cachefileWriteTS: 1746870545
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: b4c5757a536b2e14bbb3c3fa2ed0a8e4
|
||||
@@ -64698,8 +64698,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758827
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
@@ -67501,15 +67501,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: a48a638548bdb6645bfa74867dc72087
|
||||
type: 2
|
||||
m_fileInfoHash: 10258.cs
|
||||
m_fileInfoHash: 9178.cs
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 10258
|
||||
m_assetChangeTS: 1748595572
|
||||
m_fileInfoReadTS: 1748595588
|
||||
m_fileWriteTS: 1748595562
|
||||
m_cachefileWriteTS: 1748595562
|
||||
m_fileSize: 9178
|
||||
m_assetChangeTS: 1749184022
|
||||
m_fileInfoReadTS: 1749184269
|
||||
m_fileWriteTS: 1749104436
|
||||
m_cachefileWriteTS: 1749104436
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: a48a9e08d9023374fab5d929e609b9bd
|
||||
@@ -68234,10 +68234,10 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 11267
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758827
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_assetChangeTS: 1749103900
|
||||
m_fileInfoReadTS: 1749103903
|
||||
m_fileWriteTS: 1746873108
|
||||
m_cachefileWriteTS: 1746873108
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: b43651fb085b38445ade3f9de3ab0636
|
||||
@@ -82559,8 +82559,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758825
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
@@ -82853,15 +82853,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: b56a53ecbd73dca4aa3152504b1ca92d
|
||||
type: 5
|
||||
m_fileInfoHash: 6934.prefab
|
||||
m_fileInfoHash: 6712.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 6934
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758825
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 6712
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746884964
|
||||
m_cachefileWriteTS: 1746884964
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: 1344c3c82d62a2a41a3576d8abb8e3ea
|
||||
@@ -85692,15 +85692,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: e53cd577e34d8df41b51ef212682a5b6
|
||||
type: 5
|
||||
m_fileInfoHash: 2254.prefab
|
||||
m_fileInfoHash: 2177.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 2254
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758824
|
||||
m_fileWriteTS: 1742680962
|
||||
m_cachefileWriteTS: 1742680962
|
||||
m_fileSize: 2177
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1740760198
|
||||
m_cachefileWriteTS: 1740760198
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: fe87c0e1cc204ed48ad3b37840f39efc
|
||||
@@ -112921,15 +112921,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: d73d411fb33ebdd489321f08668d0673
|
||||
type: 5
|
||||
m_fileInfoHash: 2158.prefab
|
||||
m_fileInfoHash: 2084.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 2158
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758820
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 2084
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746885929
|
||||
m_cachefileWriteTS: 1746885929
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: 1344c3c82d62a2a41a3576d8abb8e3ea
|
||||
@@ -143844,10 +143844,10 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 8948
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758815
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_assetChangeTS: 1749103865
|
||||
m_fileInfoReadTS: 1749103883
|
||||
m_fileWriteTS: 1746885467
|
||||
m_cachefileWriteTS: 1746885467
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: f9ecc84bea2f775498b7ec65b3810570
|
||||
@@ -150026,15 +150026,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: 6a0b7de67a0025a44977db34773ec53c
|
||||
type: 5
|
||||
m_fileInfoHash: 235801.prefab
|
||||
m_fileInfoHash: 228086.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 235801
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758814
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 228086
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746873268
|
||||
m_cachefileWriteTS: 1746873268
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: fe87c0e1cc204ed48ad3b37840f39efc
|
||||
@@ -167260,8 +167260,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758812
|
||||
m_assetChangeTS: 1749103865
|
||||
m_fileInfoReadTS: 1749103883
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
@@ -185434,8 +185434,8 @@ MonoBehaviour:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758809
|
||||
m_assetChangeTS: 1749103865
|
||||
m_fileInfoReadTS: 1749103883
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
@@ -203521,15 +203521,15 @@ MonoBehaviour:
|
||||
UseGUIDsList: []
|
||||
- guid: 1eef181acaca89841a32060c68923043
|
||||
type: 5
|
||||
m_fileInfoHash: 19314.prefab
|
||||
m_fileInfoHash: 18684.prefab
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 19314
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758806
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 18684
|
||||
m_assetChangeTS: 1749103910
|
||||
m_fileInfoReadTS: 1749103911
|
||||
m_fileWriteTS: 1746873934
|
||||
m_cachefileWriteTS: 1746873934
|
||||
refreshStamp: 2
|
||||
UseGUIDsList:
|
||||
- guid: fe87c0e1cc204ed48ad3b37840f39efc
|
||||
@@ -211185,15 +211185,15 @@ MonoBehaviour:
|
||||
ids: 00000000
|
||||
- guid: ae19b314bbfece546a1a8d74d38387ac
|
||||
type: 2
|
||||
m_fileInfoHash: 370.cs
|
||||
m_fileInfoHash: 1589.cs
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 370
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1747758805
|
||||
m_fileWriteTS: 1746895565
|
||||
m_cachefileWriteTS: 1746895565
|
||||
m_fileSize: 1589
|
||||
m_assetChangeTS: 1749184023
|
||||
m_fileInfoReadTS: 1749184265
|
||||
m_fileWriteTS: 1749104430
|
||||
m_cachefileWriteTS: 1749104430
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: ae5924760c9fbf54d89df9f13435887e
|
||||
@@ -229994,6 +229994,45 @@ MonoBehaviour:
|
||||
m_cachefileWriteTS: 1748796655
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: 2aebeab4fb1481a44b0657cfc12def90
|
||||
type: 1
|
||||
m_fileInfoHash:
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1749103856
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: 6adc3c7d00791a7498bac07c3cf08095
|
||||
type: 1
|
||||
m_fileInfoHash:
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1749103883
|
||||
m_fileWriteTS: 0
|
||||
m_cachefileWriteTS: 0
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
- guid: 1ec2771618afafe489a6cd3de5b20bc1
|
||||
type: 2
|
||||
m_fileInfoHash: 0.cs
|
||||
m_assetbundle:
|
||||
m_addressable:
|
||||
m_atlas:
|
||||
m_fileSize: 0
|
||||
m_assetChangeTS: 0
|
||||
m_fileInfoReadTS: 1749104542
|
||||
m_fileWriteTS: 1749104513
|
||||
m_cachefileWriteTS: 1749104513
|
||||
refreshStamp: 2
|
||||
UseGUIDsList: []
|
||||
setting:
|
||||
alternateColor: 1
|
||||
excludeTypes: 0
|
||||
|
||||
8
Assets/Prefabs/Graphical Tools.meta
Normal file
8
Assets/Prefabs/Graphical Tools.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6adc3c7d00791a7498bac07c3cf08095
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Scripts/Graphical Tools.meta
Normal file
8
Assets/Scripts/Graphical Tools.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2aebeab4fb1481a44b0657cfc12def90
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,44 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni;
|
||||
using Ichni.RhythmGame;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class NotefabContoler : MonoBehaviour
|
||||
{
|
||||
public NoteBase noteBase;
|
||||
public RawImage ifHold;
|
||||
public void Initialize(NoteBase note, float timePerBeat, int beatDeviver)
|
||||
{
|
||||
noteBase = note;
|
||||
Image color = GetComponent<Image>();
|
||||
transform.localPosition = new Vector3(0, note.exactJudgeTime / timePerBeat * beatDeviver, 0);
|
||||
switch (note)
|
||||
{
|
||||
case Hold hold:
|
||||
color.color = new Color(0, 1, 0, 1);
|
||||
if (ifHold != null)
|
||||
{
|
||||
ifHold.transform.localPosition = new Vector3(0, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver / 2, 0);
|
||||
var rect = ifHold.GetComponent<RectTransform>();
|
||||
rect.sizeDelta = new Vector2(rect.sizeDelta.x, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver);
|
||||
ifHold.color = new Color(0, 1, 0, 1);
|
||||
}
|
||||
break;
|
||||
case Tap:
|
||||
color.color = new Color(0, 1, 1, 1);
|
||||
break;
|
||||
case Stay:
|
||||
color.color = new Color(1, 1, 0, 1);
|
||||
break;
|
||||
case Flick:
|
||||
color.color = new Color(1, 0.2f, 0, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
public void Onclick()
|
||||
{
|
||||
EditorManager.instance.uiManager.hierarchy.FindTab(noteBase);
|
||||
}
|
||||
}
|
||||
@@ -123,31 +123,7 @@ public class SampleWindow : MovableWindow//该window高度为300,横的要在1
|
||||
private void SpawnNote(NoteBase i, float posx = 0)
|
||||
{
|
||||
GameObject u = Instantiate(NotePrefab, NoteMovepoint);
|
||||
u.transform.localPosition = new Vector3(0, i.exactJudgeTime / timePerBeat * beatDeviver, 0);
|
||||
Image color = u.GetComponent<Image>();
|
||||
u.GetComponent<NotefabContoler>().noteBase = i;
|
||||
switch (i)
|
||||
{
|
||||
case Hold hold:
|
||||
color.color = new Color(0, 1, 0, 1);
|
||||
RawImage a = u.GetComponent<NotefabContoler>().ifHold;
|
||||
a.transform.localPosition = new Vector3(0, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver / 2, 0);
|
||||
a.GetComponent<RectTransform>().sizeDelta = new Vector2(a.GetComponent<RectTransform>().sizeDelta.x, (hold.holdEndTime - hold.exactJudgeTime) / timePerBeat * beatDeviver);
|
||||
a.color = new Color(0, 1, 0, 1);
|
||||
break;
|
||||
|
||||
case Tap:
|
||||
color.color = new Color(0, 1, 1, 1);
|
||||
break;
|
||||
|
||||
case Stay:
|
||||
color.color = new Color(1, 1, 0, 1);
|
||||
break;
|
||||
|
||||
case Flick:
|
||||
color.color = new Color(1, 0.2f, 0, 1);
|
||||
break;
|
||||
}//服了,之后整合到controler里头去
|
||||
u.GetComponent<NotefabContoler>().Initialize(i, timePerBeat, beatDeviver);
|
||||
}
|
||||
|
||||
public GameObject selectedGameObject;
|
||||
@@ -1,16 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni;
|
||||
using Ichni.RhythmGame;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class NotefabContoler : MonoBehaviour
|
||||
{
|
||||
public NoteBase noteBase;
|
||||
public RawImage ifHold;
|
||||
public void Onclick()
|
||||
{
|
||||
EditorManager.instance.uiManager.hierarchy.FindTab(noteBase);
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -10,7 +10,7 @@
|
||||
|
||||
###### 编辑器界面↓
|
||||
|
||||
<img title="" src="file:///D:/ichniEditor-Source/IchniCreatorStudio/Document/GE0.png" alt="1.png" data-align="left">
|
||||
<img title="" src="GE0.png" alt="1.png" data-align="left">
|
||||
|
||||
## 使用
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
图形的曲线预览和曲线幅度有关,幅度越大曲线拉伸越大,超出上下界的会表现为<mark>红色</mark>
|
||||
|
||||
<img title="" src="file:///D:/ichniEditor-Source/IchniCreatorStudio/Document/GE1.png" alt="GE1.png" data-align="inline" width="296">**就像这个**
|
||||
<img title="" src="GE1.png" alt="GE1.png" data-align="inline" width="296">**就像这个**
|
||||
|
||||
当你按下`Shift+左键`的时候,对应事件会盖上黄色蒙版,此时这些事件会被放进**剪贴板**中,在按下`shift + v`的时候选中的事件会保持原来的**时间顺序放入鼠标所在的对应时间点**
|
||||
|
||||
按esc可以清空剪贴板
|
||||
|
||||
<img src="file:///D:/ichniEditor-Source/IchniCreatorStudio/Document/GE2.png" title="" alt="GE2.png" width="549">**就像这个**
|
||||
<img src="GE2.png" title="" alt="GE2.png" width="549">**就像这个**
|
||||
|
||||
注意:由于该编辑器还处于测试阶段,请以编辑器内操作为主
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 前言
|
||||
|
||||
ichni巴拉巴拉待会写
|
||||
和 arcade,rpe 等制谱器相比,ichni Editor 是十分复杂的~~建模软件~~制谱器。如果您是新手,建议在Editor内~~玩玩~~上手。如果您发现有本教程中不完善的部分,请向 sls 反馈,我们会尽快(存疑)补充相关内容。
|
||||
|
||||
## 进入程序 新建项目
|
||||
|
||||
@@ -92,12 +92,14 @@ Song Location:歌曲路径:导入后歌曲存储在编辑器内,与原路
|
||||
### **元素选择**
|
||||
|
||||
1. **鼠标左键**:点击选择场景中的游戏元素(需不在 UI 上)。
|
||||
## 某些具有特殊功能的窗口
|
||||
### Logger
|
||||
Logger窗口在播放控制器的上方,会显示和程序有关的信息
|
||||
> 绿色=执行没问题,白色=提示
|
||||
> 红色=有重大问题,截图发给开发者,先保存项目,并切记不要删除AutoSave
|
||||
> 黄色=小警告,通常不影响正常写谱
|
||||
|
||||
### EditorManager
|
||||
EditorManager会展示有些关于当前谱面的信息和开关某些东西(网格,判定模式等),还有创建一些特殊元素
|
||||
## 谱面结构
|
||||
|
||||
由于ichni的自由度极高,其谱面结构偏向原生unity,现在讲述简要功能
|
||||
@@ -161,6 +163,14 @@ Static的track若是有选择显示方式,则会始终显示整条track
|
||||
#### 显示属性
|
||||
|
||||
无论是AutoOrient还是TrackPath,都拥有一个材质系统,你可以选择主题包中的材质,两个显示方式不同的是,track path会由于其中pathnode的方向而改变面的朝向,而AutoOrient会强制track的面始终面向摄像机(这段建议实操看看效果,各有各的好)
|
||||
对于绝大部分始终处于同一平面内的轨道,应该使用 `TrackRendererPathGenerator` 的渲染方式,并且其所有节点的法向量应当一致,垂直于这个平面。当然,调整法向量也可使轨道扭转,制作各种特效。
|
||||
|
||||
而对于在三维空间运动的轨道,比如螺旋线,建议使用 `TrackRendererAutoOrient` 的渲染方式,使轨道法向量始终朝向摄像机。这样得到的轨道在视觉上是等宽的,比手动调节节点法向量要方便的多。
|
||||
|
||||
除了 `TrackRendererPathGenerator` 和 `TrackRendererAutoOrient` 两种轨道渲染方式之外,还有 `TrackRenderSurface` 这种方式。这种方式把**闭合轨道**围成的区域渲染成一个面。您需要注意:
|
||||
|
||||
- 调整节点的法向量,朝向不对会使面变得扭曲。
|
||||
轨道宽度由节点的 `Scale` 来控制,默认 1。增加或减小这个值会使轨道变宽或变窄,更改为 0 会使轨道不可见,一些谱面中轨道末端变细的特效就是通过这种方法实现的。此外,您也可以使轨道宽度突然变化以营造律动感。
|
||||
|
||||
### pathnode
|
||||
|
||||
@@ -176,6 +186,9 @@ pathnode带有位置,旋转,缩放,颜色等,用于调整track部分的
|
||||
|
||||
事件包含displacement,swirl,scale,若是有过动效类型写谱的话,事件系统应当不难理解
|
||||
|
||||
每当新建一个事件,建议在0-1的位置放置一个打底事件,本体有没有都没问题但是在编辑器下可能会导致一些问题
|
||||
在一般的动画类中,你应该可以看到除了三个动画表外的第四个按钮:GraphicEditor
|
||||
点击之后会打开当前动画的图形编辑器(去看图形编辑器的文档)
|
||||
另外还有一个特殊的事件用在track下:trackPercentPoint
|
||||
|
||||
trackPercentPoint使用0到1的值代表track进程,配合trail使用可以实现 ~~反复横跳~~ 精细控制
|
||||
@@ -183,14 +196,25 @@ trackPercentPoint使用0到1的值代表track进程,配合trail使用可以实
|
||||
还有一个trackHeadPoint是trackPercentPoint的简化版,虽然不该放在这里但是我真的懒得开一个来讲
|
||||
|
||||
建议实操
|
||||
### 缓动
|
||||
|
||||
缓动是控制数值随时间变化的参数,默认为 `Linear` , 即匀速。更改缓动可以实现加速、减速及其他效果。
|
||||
|
||||
您可以在下图中查看各种缓动类型,对于加速/减速建议使用 `in/outQuad`,平滑淡入淡出可以使用 `in/out/inoutSine`。如果您想创建一个复杂的动画<font color = gray>(比如先加速后匀速)</font>,并且要无缝衔接,建议分两段制作,并慢慢调整数值使整体更为流畅。
|
||||
|
||||
如果您希望缓动能被看出来,请尽量延长缓动的时间。对于短时间的动画<font color = gray>(比如小于 1 秒)</font>,各种缓动的差别并不是很大。从另一个角度讲,如果动画的时间较短,那么一些瑕疵<font color = gray>(比如摄像机在前一个轨道的末尾和后一个轨道的开头具有不一样的速度)</font>也不会被看出来。总而言之,不要过度依赖数学计算,看上去是对的就行了。
|
||||
关于缓动请查看:[缓动查看](https://easings.net/zh-cn) 或者直接去事件编辑器那里拉几个看看效果
|
||||
|
||||
### Trail
|
||||
|
||||
由于0.2(旧版本)的某些神奇效果使我们再次增加了Trail,Trail的原型是unity的尾迹效果,所以需要注意的是当用各种手段使trail瞬移的时候会拉出长长的痕迹
|
||||
|
||||
trail配有位置,材质,颜色等(仍在开发)
|
||||
trail配有位置,材质,颜色等
|
||||
|
||||
目前Trail只能在trackPercentPoint下生成,但是有一点~~奇技淫巧~~是可以把他复制出来然后直接粘贴在folder下,这样就可以通过事件控制他了
|
||||
>**编辑器存在的Bug**
|
||||
>目前的Trail在暂停时会消失,这是很头疼的一个点,因为Unity组件原生原因,这个Bug不大可能修复
|
||||
>当然你不用担心,本体不会出现这个问题,如果没事,做完动效再播放一遍就是原本的效果了
|
||||
|
||||
### Note
|
||||
|
||||
@@ -203,16 +227,35 @@ exactJudgeTime 就是 Note 的判定时间。随后点击 New Note Visual ,展
|
||||
>**Stay 可以使用 Tap 的材质吗?**
|
||||
>
|
||||
>- 您可能注意到了,编辑器并不限制您做这件事。从视觉上讲,这相当于创建了一个判定更宽的 Tap,因此逻辑上是被允许的。但是,**Tap 不可以使用 Stay 的材质**,这与读谱的基本逻辑相悖。Hold 的材质与上述两者有较大不同,不能和它们混用。
|
||||
|
||||
> **关于斜轨下落**
|
||||
>
|
||||
> 您可以从 sls 或其他谱师那里获取谱面进行学习。要注意的一点是,**确保斜轨 Note 在屏幕上的投影具有足够的宽度**。宽度太小意味着像素太少,Note 会闪烁,造成不良观感。您可以通过以下几种方法来解决这个问题:
|
||||
> - 使用 3d note
|
||||
> - 让摄像机视角略微朝下
|
||||
> - 将判定线贴近摄像机
|
||||
击打时间:建议使用采音器=>见采音器指南
|
||||
|
||||
|
||||
> **注意事项**
|
||||
>
|
||||
> - 请不要让 Note 的出现的时间过长,这会造成读谱困难。对于直轨下落,建议 Note 从出现 <font color = gray>(无论是从屏幕外进入还是从屏幕中浮现)</font>到判定时间不要超过 1 秒。对于斜轨下落,请根据个人斜轨的游玩经验控制下落速度。由于电脑屏幕较大,视觉上的流速应当偏快,您可以录制视频并在移动设备上播放以确定流速是否合适,或者直接让sls包一个本体看看效果。
|
||||
>
|
||||
> - 按Ctrl+1,2,3可以显示对应的安全范围。默认窗口大小为 16: 9。您的谱面应当尽量适配这三个范围,如果做不到完全适配,请至少不要把 Note 写到这些范围之外。
|
||||
##### 导出 Note 配置
|
||||
在导出 Note 配置之后,您就不必通过复制的方式创建 Note,像之前那样单击轨道下的相应按钮即可,新创建的 Note 会自动使用导出的 Note 配置。在noteinfo旁有save Note Prefab,Save之后可以直接在顶上的EditorManger选择Use Note Prefab,这样之后放置note就可以自动套用对应的Note Visual
|
||||
#### 击打效果和判定模式
|
||||
|
||||
由于不同主题包拥有不同击打效果和判定模式,在add页需要输入字符来创建
|
||||
|
||||
### Effect
|
||||
#### 介绍
|
||||
Effect是一个~~特殊的动画组件~~,可以通过note的指定操作或者直接通过时间(Time Effects Collection)触发
|
||||
每个可以添加Effect的地方都配有一个输入框,可以搭配特效查阅表,输入指定的Effect来调
|
||||
比如DTM的NoteVisual有Perfect/Good/Bad/Miss字段,在下添加Effect就是这个Note判定Perfect/Good/Bad/Miss时触发的特效,在EditorManager里可以选择预览谱面时的判定模式
|
||||
关于Effect(以及分支控制)我们会专门做一个Markdown来说明
|
||||
### 环境物体
|
||||
|
||||
|
||||
使用环境物体可以创建立方体、球等几何结构,可以创建假 Note 用于表演,也可以将节点绑定至环境物体上实现同步运动。具体怎么用问问 sls 吧,我也懒得写了。
|
||||
## 谱面存档
|
||||
|
||||
望文生义,不必多说
|
||||
@@ -250,10 +293,13 @@ ichni每隔一段时间就会自动保存谱面,如果要回档,需要手动
|
||||
### 2,创建track
|
||||
|
||||
#### 1, movable track
|
||||
由于movable track的功能介绍早在前面有提及,这里不过多介绍
|
||||
由于movable track的功能介绍早在前面有提及,这里不过多介绍:[关于MovableTrack](#movable属性:)
|
||||
需要注意的是,尽量不要让track面的旋转垂直于屏幕,也就是“不要竖着看一张纸”
|
||||
当然如果是autoOrient(自动面向摄像机)当我没说
|
||||
#### 2,Static track
|
||||
Static track适合生成装饰兼任下落note的方法
|
||||
功能介绍早在前面有提及,这里不过多介绍
|
||||
功能介绍早在前面有提及,这里不过多介绍:[关于StaticTrack](#Static属性:)
|
||||
|
||||
### 3,创建Note
|
||||
Note的相关介绍([关于Note](#Note))
|
||||
### 4,其他。。。
|
||||
|
||||
158
Document/编辑器指南 AI改.md
Normal file
158
Document/编辑器指南 AI改.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# ichni 编辑器指南
|
||||
|
||||
## 前言
|
||||
ichni Editor 是一款功能强大的 3D 谱面编辑器(被戏称为“建模软件”),相比 arcade/RPE 等工具更复杂。
|
||||
**新手建议**:在编辑器中实操体验,结合本指南学习。
|
||||
**反馈渠道**:教程问题请向 sls 反馈(更新速度存疑)。
|
||||
|
||||
---
|
||||
|
||||
## 一、新建项目
|
||||
| 配置项 | 说明 |
|
||||
|----------------------|----------------------------------------------------------------------|
|
||||
| **Project Name** | 谱面名称,建议格式:`曲名 + 空格 + 难度名`(例:`SongName Hard`) |
|
||||
| **Creator** | 谱师名称/马甲 |
|
||||
| **BPM** | 固定节拍值(因 ichni 按秒存储谱面,且变 BPM 场景极少) |
|
||||
| **Delay** | 谱面整体时间偏移:负数=提前开始,正数=延后开始(推荐优先裁剪音频) |
|
||||
| **Song Location** | 音频文件路径(导入后与原文件无关) |
|
||||
| **Theme Bundle** | 主题包选择(后续详解) |
|
||||
|
||||
> **BPM 工具参考**:
|
||||
> - [BPM 概念解释](https://cn.bing.com/search?q=歌曲bpm是什么&FORM=QSRE1)
|
||||
> - [BPM 检测工具](https://vocalremover.org/zh/key-bpm-finder)
|
||||
|
||||
---
|
||||
|
||||
## 二、快捷键速查
|
||||
### 场景操作
|
||||
| 按键 | 功能 |
|
||||
|---------------|----------------------|
|
||||
| **W/A/S/D** | 前后左右移动相机 |
|
||||
| **E/Q** | 上/下移动相机 |
|
||||
| **鼠标右键** | 按住旋转相机 |
|
||||
|
||||
### 轨道操作
|
||||
| 快捷键 | 功能 |
|
||||
|--------------|--------------------------|
|
||||
| `Alt + P` | 显示/隐藏路径节点 |
|
||||
| `Alt + D` | 启用/禁用轨道路径显示 |
|
||||
|
||||
### 工作流
|
||||
| 快捷键 | 功能 |
|
||||
|--------------|--------------------------|
|
||||
| `Ctrl + S` | 保存项目 |
|
||||
| `Ctrl + E` | 导出项目 |
|
||||
| `Ctrl + C/V` | 复制/粘贴选中元素 |
|
||||
| `Ctrl + D` | 删除选中元素 |
|
||||
|
||||
### 显示控制
|
||||
| 快捷键 | 功能 |
|
||||
|----------------|------------------------------|
|
||||
| `Ctrl + 1/2/3` | 切换手机/平板/安全区域提示 |
|
||||
| `Ctrl + U` | 切换静态窗口显示 |
|
||||
| `Ctrl + ↑/↓` | 放大/缩小 UI |
|
||||
| `Ctrl + M` | 切换摄像机 |
|
||||
|
||||
> **注意**:多数快捷键需鼠标聚焦对应 UI 区域生效。
|
||||
|
||||
---
|
||||
|
||||
## 三、核心界面功能
|
||||
### Logger 窗口
|
||||
- **位置**:播放控制器上方
|
||||
- **日志颜色含义**:
|
||||
- 🟢 绿色:操作正常
|
||||
- ⚪ 白色:提示信息
|
||||
- 🟡 黄色:非致命警告(通常可忽略)
|
||||
- 🔴 红色:严重错误(需截图保存并联系开发者)
|
||||
|
||||
### EditorManager
|
||||
- **功能**:
|
||||
显示谱面元数据、开关网格/判定模式、创建特殊元素。
|
||||
|
||||
---
|
||||
|
||||
## 四、谱面结构详解
|
||||
### 1. Element Folder
|
||||
- **本质**:空容器节点(可嵌套)
|
||||
- **作用**:管理子元素的位置属性
|
||||
|
||||
### 2. Camera
|
||||
- **关键规则**:单谱面仅允许 **1 个 Camera**
|
||||
- **位置**:
|
||||
- 简单场景:直接放在 Folder 下
|
||||
- 多机位场景:置于 Cross Track Point 内
|
||||
- **运动逻辑**:随父节点(Folder/Track)移动而移动
|
||||
|
||||
### 3. Track 轨道系统
|
||||
#### 类型对比
|
||||
| 属性 | Movable Track | Static Track |
|
||||
|--------------|-----------------------------------|----------------------------------|
|
||||
| **运动逻辑** | Note 在轨道上固定位置生成 | Note 从轨道尾部运动到头部 |
|
||||
| **核心参数** | 开始/结束时间、可视长度、缓动 | 下落时间、下落缓动 |
|
||||
| **Note 放置**| 判定时间需在轨道启停时间范围内 | 无时间限制 |
|
||||
|
||||
#### 显示模式
|
||||
| 模式 | 适用场景 | 特点 |
|
||||
|-----------------------|-----------------------------------|-------------------------------|
|
||||
| **AutoOrient** | 3D 空间轨道(如螺旋线) | 轨道面始终朝向摄像机 |
|
||||
| **TrackPath** | 平面内规则轨道 | 随 PathNode 方向改变朝向 |
|
||||
| **TrackRenderSurface**| 闭合轨道区域渲染 | 需手动调整法向量避免扭曲 |
|
||||
|
||||
#### PathNode 节点
|
||||
- **作用**:控制轨道的形状、旋转、缩放、颜色
|
||||
- **操作建议**:通过实操理解参数影响
|
||||
|
||||
### 4. 事件系统 (Events)
|
||||
- **功能**:驱动位移(Displacement)/旋转(Swirl)/缩放(Scale)动画
|
||||
- **最佳实践**:在 0-1 位置放置基础事件避免编辑器异常
|
||||
- **特殊事件**:
|
||||
- `TrackPercentPoint`:用 0-1 值控制轨道进程(配合 Trail 实现精细动画)
|
||||
- `TrackHeadPoint`:简化版进程控制器
|
||||
|
||||
### 5. 缓动系统 (Easing)
|
||||
- **作用**:控制数值变化速率(默认匀速 `Linear`)
|
||||
- **选型建议**:
|
||||
- 加速/减速 → `InQuad`/`OutQuad`
|
||||
- 平滑过渡 → `Sine` 系列
|
||||
- 长动画(>1秒)才能明显体现缓动差异
|
||||
- **参考工具**:[缓动函数可视化](https://easings.net/zh-cn)
|
||||
|
||||
### 6. Trail 拖尾效果
|
||||
- **生成限制**:需依附于 `TrackPercentPoint`
|
||||
- **高级技巧**:复制 Trail 粘贴到 Folder 下可通过事件自由控制
|
||||
- **⚠️ 已知问题**:编辑模式下暂停时 Trail 会消失(游戏本体无此问题)
|
||||
|
||||
### 7. Note 系统
|
||||
#### 基础配置
|
||||
1. 设置判定时间 `exactJudgeTime`
|
||||
2. 创建 Note Visual:
|
||||
- 选择主题包
|
||||
- 调整位置/大小(小屏设备需增大尺寸)
|
||||
3. 保存为 Prefab:
|
||||
通过 `Save Note Prefab` + `Use Note Prefab` 实现批量复用
|
||||
|
||||
#### 设计规范
|
||||
- **下落时间**:直轨 ≤1秒,斜轨需实测设备显示效果
|
||||
- **安全区域**:用 `Ctrl+1/2/3` 确保 Note 在安全范围内
|
||||
- **材质规范**:
|
||||
- ✅ Stay 可用 Tap 材质
|
||||
- ❌ Tap 不可用 Stay/Hold 材质
|
||||
|
||||
### 8. 特效系统 (Effect)
|
||||
- **触发方式**:
|
||||
- Note 判定事件(Perfect/Good/Bad/Miss)
|
||||
- 时间轴事件 (Time Effects Collection)
|
||||
- **配置**:输入特效代码(需配合主题包文档)
|
||||
|
||||
---
|
||||
|
||||
## 五、工作流指南
|
||||
### 标准流程
|
||||
```mermaid
|
||||
graph TD
|
||||
A[准备音源与主题包] --> B[创建摄像机轨道]
|
||||
B --> C[设计轨道系统]
|
||||
C --> D[放置Note]
|
||||
D --> E[添加事件/特效]
|
||||
E --> F[测试与优化]
|
||||
Reference in New Issue
Block a user