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

224 lines
6.5 KiB
Markdown
Raw Normal View History

2025-04-19 18:59:26 +08:00
# ichni编辑器指南
## 前言
ichni巴拉巴拉待会写
## 进入程序 新建项目
~~如果有一般的写谱经验那么大概都可以知道是做什么的~~
Project name项目名字即这张谱面的名字建议的是 “曲名” +“ ”+“难度名称”
Creator你的名字/谱师马甲
BPM节拍由于ichni是按照秒数存储谱面而有变bpm的曲子少之又少所以是固定bpm
            不知道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)    
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-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的核心元件以下分为几种
###### 基础TrackPath
TrackPath属性空间形状前进方式是否闭合
前进方式track的前进方式分为time和distancetime会把每两个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的<mark>**尾部运动到头部**</mark>
###### 显示属性
    无论是AutoOrient还是TrackPath都拥有一个材质系统你可以选择主题包中的材质两个显示方式不同的是track path会由于其中pathnode的方向而改变面的朝向而AutoOrient会强制track的面始终面向摄像机这段建议实操看看效果各有各的好
### pathnode
无疑pathnode是track下最主要的部分但是也是最简单的部分~~但是扛不住量大~~
pathnode带有位置旋转缩放颜色等用于调整track部分的颜色
建议实操
### 事件
事件是一个很大的基础类包揽了track外几乎所有的动态效果
事件包含displacementswirlscale若是有过动效类型写谱的话事件系统应当不难理解
另外还有一个特殊的事件用在track下trackPercentPoint
        trackPercentPoint使用0到1的值代表track进程配合trail使用可以实现 ~~反复横跳~~ 精细控制
        还有一个trackHeadPoint是trackPercentPoint的简化版虽然不该放在这里但是我真的懒得开一个来讲
建议实操
### Trail
由于0.2旧版本的某些神奇效果使我们再次增加了TrailTrail的原型是unity的尾迹效果所以需要注意的是当用各种手段使trail瞬移的时候会拉出长长的痕迹
trail配有位置材质颜色等仍在开发
目前Trail只能在trackPercentPoint下生成但是有一点奇技淫巧是可以把他复制出来然后直接粘贴在folder下这样就可以通过事件控制他了
2025-04-19 18:59:26 +08:00
### Note
##### 基础
note可以视为环境物体拥有击打时间击打效果等
击打时间:建议使用采音器=>见采音器指南
##### 击打效果和判定模式
由于不同主题包拥有不同击打效果和判定模式在add页需要输入字符来创建
---
## 谱面存档
望文生义,不必多说,以下讲的是一些特别的机制
### 自动保存
ichni每隔一段时间就会自动保存谱面如果要回档需要手动替换
### Clip
asd
### Export
2025-04-19 18:59:26 +08:00
ads