1.修复多处错误2.SplineNode依然存在设置不生效的错误
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
# 项目
|
||||
|
||||
项目的位置全部位于StreamingAssets文件夹内
|
||||
项目的位置全部位于Unity持久化文件夹的Project文件夹内, 如C:\Users\ASUS\AppData\LocalLow\LiuBai\Murmur-Resonance-Editor\Projects
|
||||
|
||||
## 打开
|
||||
|
||||
@@ -25,7 +25,9 @@ find中包含的内容是被尝试读取但不存在的内容,值为读取时
|
||||
|
||||
# 初次运行
|
||||
|
||||
StreamingAssets中包含两个特殊的文件夹(AssetBundle与Helper)与辅助编辑的CMake项目结构
|
||||
在Unity持久化文件夹中会生成Helper文件夹, 包含可调用函数的注释
|
||||
|
||||
下载需要的AssetBundle到StreamingAssets/AssetBundle
|
||||
|
||||
## AssetBundle
|
||||
|
||||
@@ -37,17 +39,13 @@ StreamingAssets中包含两个特殊的文件夹(AssetBundle与Helper)与辅
|
||||
|
||||
## CMake辅助编辑
|
||||
|
||||
脚本风格默认采用c风格,因此利用CMake与.h文件关联应用可以快速编写物体脚本
|
||||
脚本风格默认采用c++风格,因此利用CMake与.h文件关联应用可以快速编写物体脚本
|
||||
|
||||
如在Unity持久化文件夹, 添加以下文本到CMakeLists.txt, 使用vs打开即可
|
||||
```
|
||||
set(CMAKE_BINARY_DIR TEMP_PATH)
|
||||
project(ProjectHelper)
|
||||
include_directories(Helper)
|
||||
add_executable(ProjectHelper ProjectHelper.cpp)
|
||||
```
|
||||
|
||||
如VS,更改其中的ProjectHelper.cpp所包含的项目root.h以获取编辑器的智能引擎的支持
|
||||
|
||||
# 快捷键
|
||||
|
||||
## 音频播放控制快捷键
|
||||
@@ -119,32 +117,50 @@ add_executable(ProjectHelper ProjectHelper.cpp)
|
||||
|
||||
每个文件包含可调用的类成员函数,include的头文件是父类,可通过其查看其他可调用的父类成员函数
|
||||
|
||||
## RootObject
|
||||
## ScriptableObject
|
||||
|
||||
每个项目都从RootObject开始,唯一且不可再生成
|
||||
|
||||
## TimelineScriptObject
|
||||
|
||||
许多类都从TimelineScriptObject派生,此处额外讲解其中的关键函数,
|
||||
之后便可以编写如
|
||||
所有类都从ScriptableObject派生,了解其中的关键函数,
|
||||
之后便可以编写灵活的脚本以实现行为
|
||||
|
||||
```cpp
|
||||
//SkyUpdatement
|
||||
Add(Timeline-Sky, sky)
|
||||
// 在任一ScriptableObject中设置Var变量为0,
|
||||
// 此后在该脚本以及该处之后加载的子脚本都会含有Var=0的上下文
|
||||
SetContext("Var", 0);
|
||||
// 如在DDT中, 使用花括号包裹的正整型三元组表示时间点,
|
||||
// 形式为: {该小节划分的节拍数, 小节数, 位于该小节的节拍数}
|
||||
// 如在BPM=60的情况下, 下例将会被翻译为(4+1/8)*1s=4.125s
|
||||
Add({8,4,1});
|
||||
```
|
||||
|
||||
的脚本代码,而Timeline-Sky的值可由全体脚本动态指定
|
||||
通过脚本实现模板对象
|
||||
|
||||
### ResetTimeline
|
||||
例如在
|
||||
- root.cpp
|
||||
- root
|
||||
- TemplateLine.h(加载类型为SplineCore的脚本对象)
|
||||
- TemplateLine
|
||||
- ...(TemplateLine的子脚本)
|
||||
- A-Anchor.h(加载类型为Anchor的脚本对象)
|
||||
- B-Anchor.h(加载类型为Anchor的脚本对象)
|
||||
|
||||
重置时间线,不存在时生成,通过时间线变量来灵活获取浮点型的变量,
|
||||
如分别生成1/4分音单位的时间线与1/8分音的时间线,
|
||||
并配合SetTimePoint与NextTimePoint获取第几个音符的时间
|
||||
```cpp
|
||||
// A-Anchor.h
|
||||
// 将自身在父脚本对象的坐标系中设置为x=-2的偏移
|
||||
SetLocalPosition(-2,0,0);
|
||||
// 设置上下文变量
|
||||
...
|
||||
// 加载
|
||||
LoadSubScript(SplineCore, "TemplateLine.h")
|
||||
```
|
||||
|
||||
### NextTimePoint
|
||||
```cpp
|
||||
// B-Anchor.h
|
||||
// 将自身在父脚本对象的坐标系中设置为x=2的偏移
|
||||
SetLocalPosition(2,0,0);
|
||||
// 设置上下文变量
|
||||
...
|
||||
// 也加载
|
||||
LoadSubScript(SplineCore, "TemplateLine.h")
|
||||
```
|
||||
|
||||
每次都将时间线变量向前推进times个单位,总计会增加times*delta
|
||||
|
||||
### SetTimePoint
|
||||
|
||||
重新赋值时间线变量,该函数不能生成时间线
|
||||
自此实现了以脚本TemplateLine.h为根的预制体
|
||||
Reference in New Issue
Block a user