Files
ichni_Creator_Studio/Document/ichni编辑器指南.md

260 lines
10 KiB
Markdown
Raw Normal View History

2025-04-19 18:59:26 +08:00
# ichni编辑器指南
## 前言
ichni巴拉巴拉待会写
## 进入程序 新建项目
~~如果有一般的写谱经验那么大概都可以知道是做什么的~~
Project name项目名字即这张谱面的名字建议的是 “曲名” +“ ”+“难度名称”
Creator你的名字/谱师马甲
BPM节拍由于ichni是按照秒数存储谱面而有变bpm的曲子少之又少所以是固定bpm
2025-05-30 19:37:54 +08:00
不知道bpm是什么的[歌曲bpm是什么 - 搜索](https://cn.bing.com/search?q=%e6%ad%8c%e6%9b%b2bpm%e6%98%af%e4%bb%80%e4%b9%88&FORM=QSRE1)
bpm测试器[歌曲调性和BPM查找器 - 多功能音乐分析器](https://vocalremover.org/zh/key-bpm-finder)
2025-04-19 18:59:26 +08:00
Delay这里的Delay只是单纯的调整谱面开始的时间调为负数可以在歌曲开始前开始谱面如果有偏移offset的需求建议剪一下曲子
Song Location歌曲路径导入后歌曲存储在编辑器内与原路径的文件无关
**<mark>Theme Bundle Selection</mark>**:选择主题包,~~之后写~~
2025-04-19 23:21:27 +08:00
## 快捷键
注意颇多的快捷键都是在要鼠标在对应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**:切换所有静态窗口的显示状态。
2. **Ctrl+ ↑/↓**放大缩小ui大小
2025-04-19 23:21:27 +08:00
---
### **摄像机切换**
1. **Ctrl + M**:切换摄像机。
---
### **元素选择**
1. **鼠标左键**:点击选择场景中的游戏元素(需不在 UI 上)。
2025-06-01 15:36:20 +08:00
### Logger
Logger窗口在播放控制器的上方会显示和程序有关的信息
> 绿色=执行没问题,白色=提示
> 红色=有重大问题截图发给开发者先保存项目并切记不要删除AutoSave
> 黄色=小警告,通常不影响正常写谱
2025-04-19 23:21:27 +08:00
2025-04-19 18:59:26 +08:00
## 谱面结构
由于ichni的自由度极高其谱面结构偏向原生unity现在讲述简要功能
2025-04-19 23:21:27 +08:00
### Element Folder
2025-04-19 18:59:26 +08:00
本质上是一个空节点,拥有自己的位置属性,可以在下面放置其他的元素
### Camera
2025-04-19 23:21:27 +08:00
可以直接在folder下简单情况也可以放在cross Track Point里需要多机位的特殊情况需要注意的是**一张谱面只能有一个camera**
camera的职责很简单做一个camera。带着他或者他所在的folder和cross Track Point里的track乱动他也就动起来了
### Track
Track是ichni的核心元件以下分为几种
2025-05-30 19:37:54 +08:00
#### 基础TrackPath
2025-04-19 23:21:27 +08:00
TrackPath属性空间形状前进方式是否闭合
前进方式track的前进方式分为time和distancetime会把每两个pathnode之间的段分为相同的时间分别前进,diasance则会根据距离等量均分如果有缓动那么将会强制使用diasance
```示例
以下是一个示例(代码块仅示意,没有实际意义和语法)
new track{
pathnode0(0,0,0)
2025-05-30 19:37:54 +08:00
pathnode1(0,0,1)
pathnode2(0,0,10)
starttime:0
endtime:2
2025-04-19 23:21:27 +08:00
}
若是time模式下0到1秒的时间track从0到1而在剩下的1秒会从1直接冲到10
distance就不会
```
2025-05-30 19:37:54 +08:00
#### 路径方式
2025-04-19 23:21:27 +08:00
1. Movable
2. Static
2025-05-30 19:37:54 +08:00
#### 显示方式
2025-04-19 23:21:27 +08:00
1. AutoOrient
2. TrackPath
2025-05-30 19:37:54 +08:00
#### movable属性
2025-04-19 23:21:27 +08:00
2025-05-30 19:37:54 +08:00
开始时间,结束时间,可视长度,缓动
其中开始时间和结束时间是**track的头部**到达首尾的时间,而 结束时间+可视长度 则是**track尾**到达尾部的时间
在movable中note以<mark>固定的位置生成在track上</mark>在放note时切记判定时间要在track的启停时间之间
2025-04-19 23:21:27 +08:00
2025-05-30 19:37:54 +08:00
#### Static属性
下落时间,下落缓动
Static的track若是有选择显示方式则会始终显示整条track
在static中note从track的<mark>**尾部运动到头部**</mark>
2025-04-19 23:21:27 +08:00
2025-05-30 19:37:54 +08:00
#### 显示属性
2025-04-19 23:21:27 +08:00
2025-05-30 19:37:54 +08:00
无论是AutoOrient还是TrackPath都拥有一个材质系统你可以选择主题包中的材质两个显示方式不同的是track path会由于其中pathnode的方向而改变面的朝向而AutoOrient会强制track的面始终面向摄像机这段建议实操看看效果各有各的好
2025-04-19 23:21:27 +08:00
### pathnode
无疑pathnode是track下最主要的部分但是也是最简单的部分~~但是扛不住量大~~
pathnode带有位置旋转缩放颜色等用于调整track部分的颜色
建议实操
### 事件
事件是一个很大的基础类包揽了track外几乎所有的动态效果
事件包含displacementswirlscale若是有过动效类型写谱的话事件系统应当不难理解
另外还有一个特殊的事件用在track下trackPercentPoint
2025-05-30 19:37:54 +08:00
trackPercentPoint使用0到1的值代表track进程配合trail使用可以实现 ~~反复横跳~~ 精细控制
还有一个trackHeadPoint是trackPercentPoint的简化版虽然不该放在这里但是我真的懒得开一个来讲
2025-04-19 23:21:27 +08:00
建议实操
### Trail
由于0.2旧版本的某些神奇效果使我们再次增加了TrailTrail的原型是unity的尾迹效果所以需要注意的是当用各种手段使trail瞬移的时候会拉出长长的痕迹
trail配有位置材质颜色等仍在开发
2025-06-01 15:36:20 +08:00
目前Trail只能在trackPercentPoint下生成但是有一点~~奇技淫巧~~是可以把他复制出来然后直接粘贴在folder下这样就可以通过事件控制他了
2025-04-19 18:59:26 +08:00
### Note
2025-05-30 19:37:54 +08:00
#### 基础
note可以视为环境物体拥有击打时间击打效果等
2025-06-01 15:36:20 +08:00
exactJudgeTime 就是 Note 的判定时间。随后点击 New Note Visual ,展开 Note 可以看到 New Note Visual ,选中它,在右边的 Choose 那里下拉菜单选择 Note 样式所属的主题包。点击 generate Note Visual 就创建好了。此时您播放谱面,应该会有一个 Tap 落下并在相应秒被判定。
通过调整 position 即可实现无轨的效果Note 可以适当大些,这样在小屏幕上也不会显得太小。
创建 Stay 的过程与创建 Note 大同小异。选中 note 轨道,点击 Stay 以创建 Stay随后创建 Note Visual、
>**Stay 可以使用 Tap 的材质吗?**
>
>- 您可能注意到了,编辑器并不限制您做这件事。从视觉上讲,这相当于创建了一个判定更宽的 Tap因此逻辑上是被允许的。但是**Tap 不可以使用 Stay 的材质**这与读谱的基本逻辑相悖。Hold 的材质与上述两者有较大不同,不能和它们混用。
击打时间:建议使用采音器=>见采音器指南
2025-06-01 15:36:20 +08:00
##### 导出 Note 配置
在导出 Note 配置之后,您就不必通过复制的方式创建 Note像之前那样单击轨道下的相应按钮即可新创建的 Note 会自动使用导出的 Note 配置。在noteinfo旁有save Note PrefabSave之后可以直接在顶上的EditorManger选择Use Note Prefab这样之后放置note就可以自动套用对应的Note Visual
2025-05-30 19:37:54 +08:00
#### 击打效果和判定模式
由于不同主题包拥有不同击打效果和判定模式在add页需要输入字符来创建
2025-06-01 15:36:20 +08:00
## 谱面存档
2025-05-30 19:37:54 +08:00
望文生义,不必多说
### 自动保存
ichni每隔一段时间就会自动保存谱面如果要回档需要手动替换
### Clip
2025-05-30 19:37:54 +08:00
类似beta的export和import如果你选中了一个文件夹按s clip再命个名字这就相当于保存了一小段谱面。然后在别的地方用l clip读取好处就是可以跨越多个谱面起到一个类似预制件的作用。
### Export
2025-04-19 18:59:26 +08:00
2025-05-30 19:37:54 +08:00
这个属于与本体对接的功能,目的是生成本体用的加密版谱面
2025-06-01 15:36:20 +08:00
---
2025-05-30 19:37:54 +08:00
## 一般写谱流程
### 0寻找音源确定bpm选择主题包
### 1创建摄像机轨道
我们建议在开始创建谱面的第一个操作就是创建摄像机文件夹,因为摄像机是每个谱面都必须要有的元素。
在刚打开工程时,您是通过自由视角摄像机 `Scene Camera` 来预览内容的,但这并不是游戏本体使用的摄像机。想要您的谱面被正确显示在游戏本体上,您需要创建一个游戏摄像机 `Game Camera` 来“拍摄”您的谱面。
#### 创建摄像机文件夹
2025-06-01 15:36:20 +08:00
现有的两个移动game camera方法便是使用cross track point或者直接对摄像机所在的文件夹增加动画动画法可以直接参照其他元素的方法来进行创建而cross track point可以获取到文件夹内对应的track然后使用类似track precent point的设置来调节当然Cross track point里设有快捷设置所有的Track也就是说可以完全不用管cross track point的东西直接在文件夹下把track和对应的起止时间都写好然后直接使用paste track list粘贴所有的时间。
2025-05-30 19:37:54 +08:00
和beta版不同的是cross track point是会自动设置旋转的默认的旋转方向对应的是当前track的切线方向形象的说法就是你用track画一个圆然后设置之后不用手动操作你的摄像机就可以自动沿着圆旋转如果把y值设为了90它就可以始终看向圆的中心点
### 2创建track
#### 1, movable track
由于movable track的功能介绍早在前面有提及这里不过多介绍
2025-06-01 15:36:20 +08:00
需要注意的是尽量不要让track面的旋转垂直于屏幕也就是“不要竖着看一张纸”
#### 2Static track
Static track适合生成装饰兼任下落note的方法
功能介绍早在前面有提及,这里不过多介绍
2025-05-30 19:37:54 +08:00
2025-06-01 15:36:20 +08:00
### 3创建Note