Compare commits

..

No commits in common. "a5fd852e638a6ee732de6bc5153b819e9e0dc173" and "2a2d4f34c6f04e301a82f642f548efb9442cbaa1" have entirely different histories.

83 changed files with 2635 additions and 23256 deletions

View File

@ -7,6 +7,3 @@ indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

View File

@ -1,5 +1,6 @@
{
"recommendations": [
"editorconfig.editorconfig"
"editorconfig.editorconfig",
"msjsdiag.debugger-for-chrome"
]
}

6
.vscode/launch.json vendored
View File

@ -2,10 +2,10 @@
"version": "0.2.0",
"configurations": [
{
"type": "firefox",
"type": "chrome",
"request": "launch",
"name": "Launch Firefox",
"url": "http://localhost:8080/Samples/TypeScript/Demo/",
"name": "Launch Chrome",
"url": "http://localhost:5000/Samples/TypeScript/Demo/",
"webRoot": "${workspaceFolder}",
"sourceMaps": true,
"sourceMapPathOverrides": {

View File

@ -1,4 +1,3 @@
{
"typescript.tsdk": "./Samples/TypeScript/Demo/node_modules/typescript/lib",
"cmake.configureOnOpen": true
"typescript.tsdk": "./Samples/TypeScript/Demo/node_modules/typescript/lib"
}

View File

@ -5,70 +5,6 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [5-r.1-beta.2] - 2023-09-28
### Changed
* Replace the sample model `Mao` with the updated version that is compatible with Cubism 5.0.
## [5-r.1-beta.1] - 2023-08-17
### Added
* Add Wankoromochi as a model bundled with SDK.
### Fixed
* Fix blurry image and models on mobile devices. by [@Tsar](https://github.com/Tsar)
* Fix a bug that caused scroll-blocking violations to appear in the log.
## [4-r.7] - 2023-05-25
### Added
* Add compiler options `noImplicitAny` and `useUnknownInCatchVariables` to `tsconfig.json`.
* Add some functions for checking consistency of MOC3 files.
* Add the function of checking consistency in `lappmodel.setupModel()`.
* Add the function of checking consistency before loading a model. (`lappmodel.hasMocConsistencyFromFile()`)
* This feature is enabled by default. Please see the following manual for more information.
* https://docs.live2d.com/cubism-sdk-manual/moc3-consistency/
### Fixed
* Fix a problem in which `haru` motion and voice were incorrect combination.
## [4-r.6.2] - 2023-03-16
### Fixed
* Fix some problems related to Cubism Core.
* See `CHANGELOG.md` in Core.
## [4-r.6.1] - 2023-03-10
### Added
* Add funciton to validate MOC3 files.
* See `CHANGELOG.md` in Core and Framework.
## [4-r.6] - 2023-02-21
### Removed
* Remove Debugger for Chrome from recommended extensions.
* Use `Javascript Debugger`, a built-in feature of Visual Studio Code.
## [4-r.5] - 2022-09-08
### Added
* Add the multilingual supported documents.
## [4-r.5-beta.5] - 2022-08-04
### Changed
@ -210,13 +146,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
* Fix issue with reloading model images in WebKit.
[5-r.1-beta.2]: https://github.com/Live2D/CubismWebSamples/compare/5-r.1-beta.1...5-r.1-beta.2
[5-r.1-beta.1]: https://github.com/Live2D/CubismWebSamples/compare/4-r.7...5-r.1-beta.1
[4-r.7]: https://github.com/Live2D/CubismWebSamples/compare/4-r.6.2...4-r.7
[4-r.6.2]: https://github.com/Live2D/CubismWebSamples/compare/4-r.6.1...4-r.6.2
[4-r.6.1]: https://github.com/Live2D/CubismWebSamples/compare/4-r.6...4-r.6.1
[4-r.6]: https://github.com/Live2D/CubismWebSamples/compare/4-r.5...4-r.6
[4-r.5]: https://github.com/Live2D/CubismWebSamples/compare/4-r.5-beta.5...4-r.5
[4-r.5-beta.5]: https://github.com/Live2D/CubismWebSamples/compare/4-r.5-beta.4...4-r.5-beta.5
[4-r.5-beta.4]: https://github.com/Live2D/CubismWebSamples/compare/4-r.5-beta.3...4-r.5-beta.4
[4-r.5-beta.3]: https://github.com/Live2D/CubismWebSamples/compare/4-r.5-beta.2...4-r.5-beta.3

View File

@ -5,81 +5,6 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## 2023-08-17
### Added
* Enhance Blend Shape features.
* Please see [here](https://docs.live2d.com/en/cubism-editor-manual/blend-shape/).
### Changed
* Upgrade Core version to 05.00.0000.
## 2023-05-09
### Changed
* Change the GCC version of the library for Linux from 6.5.0 to 8.3.0.
## 2023-03-16
### Fixed
* Fix a case in which the index of the mask's drawable object was negative value for `csmGetDrawableMasks()`.
* Fix a problem in which `csmHasMocConsistency()` was returned as 0 even though the MOC3 file was in the correct format.
* This problem was occurring in some models using the blendshape weight limit settings.
* Fix a problem that could cause a crash if a MOC3 file that is not in the correct format is loaded with `csmHasMocConsistency()`.
### Changed
* Upgrade Core version to 04.02.0004.
## 2023-03-10
### Added
* Add the function `csmHasMocConsistency`.
* This function verifies that the `MOC3` file is valid.
### Changed
* Upgrade Core version to 04.02.0003.
## 2023-02-21
### Added
* [Web] Added classes related to `Memory`.
* Add the funciton `initializeAmountOfMemory()` to adjust the amount of memory at initialization.
## 2022-10-28
### Fixed
* [Java] Remove unnecessary methods.
## 2022-10-06
### Added
* [Java] Add AAR file for Android.
## 2022-09-08
### Added
* Add the multilingual supported documents.
* Support Visual Studio 2022.
## 2022-08-04
### Fixed

View File

@ -1,30 +0,0 @@
[English](README.md) / [日本語](README.ja.md)
---
# Live2D Cubism Core
このフォルダーには、JavaScriptまたはTypeScriptアプリケーションを開発するためのコアライブラリファイルが含まれています。
## ファイルリスト
### live2dcubismcore.d.ts
このファイルには、`live2dcubismcore.js`に関するTypeScriptの型情報が含まれています。
TypeScriptで開発する場合は、このファイルを`live2dcubismcore.js`とともに使用してください。
### live2dcubismcore.js
このファイルには、CubismCoreの機能といくつかのラッパーが含まれています。
JavaScriptで開発する場合は、このファイルを使用してください。
### live2dcubismcore.js.map
このファイルは、`live2dcubismcore.d.ts`と`live2dcubismcore.js`の間のソースマップです。
デバッグ時にこのファイルを使用します。
### live2dcubismcore.min.js
このファイルは、`live2dcubismcore.js`のminify版です。
このファイルを本番環境で使用します。

View File

@ -1,7 +1,3 @@
[English](README.md) / [日本語](README.ja.md)
---
# Live2D Cubism Core
This folder contains core library files for developing JavaScript or TypeScript applications.
@ -26,5 +22,5 @@ Use this file when debugging.
### live2dcubismcore.min.js
This file is the minified version of `live2dcubismcore.js`.
This file is minified of `live2dcubismcore.js`.
Use this file in production.

View File

@ -1,367 +0,0 @@
/**
* Copyright(c) Live2D Inc. All rights reserved.
*
* Use of this source code is governed by the Live2D Proprietary Software license
* that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html.
*/
declare namespace Live2DCubismCore {
/** Cubism version identifier. */
type csmVersion = number;
/** moc3 version identifier. */
type csmMocVersion = number;
/** Parameter type identifier. */
type csmParameterType = number;
/** Necessary alignment for mocs (in bytes). */
const AlignofMoc: number;
/** Necessary alignment for models (in bytes). */
const AlignofModel: number;
/** .moc3 file version Unknown */
const MocVersion_Unknown: number;
/** .moc3 file version 3.0.00 - 3.2.07 */
const MocVersion_30: number;
/** .moc3 file version 3.3.00 - 3.3.03 */
const MocVersion_33: number;
/** .moc3 file version 4.0.00 - 4.1.05 */
const MocVersion_40: number;
/** .moc3 file version 4.2.00 - 4.2.04 */
const MocVersion_42: number;
/** .moc3 file version 5.0.00 - */
const MocVersion_50: number;
/** Normal Parameter. */
const ParameterType_Normal: number;
/** Parameter for blend shape. */
const ParameterType_BlendShape: number;
/** Log handler.
*
* @param message Null-terminated string message to log.
*/
interface csmLogFunction {
(message: string): void;
}
/** Cubism version. */
class Version {
/**
* Queries Core version.
*
* @return Core version.
*/
static csmGetVersion(): csmVersion;
/**
* Gets Moc file supported latest version.
*
* @return Moc file latest format version.
*/
static csmGetLatestMocVersion(): csmMocVersion;
/**
* Gets Moc file format version.
*
* @param moc Moc
*
* @return csmMocVersion
*/
static csmGetMocVersion(moc: Moc, mocBytes: ArrayBuffer): csmMocVersion;
private constructor();
}
/** Cubism logging. */
class Logging {
private static logFunction;
/**
* Sets log handler.
*
* @param handler Handler to use.
*/
static csmSetLogFunction(handler: csmLogFunction): void;
/**
* Queries log handler.
*
* @return Log handler.
*/
static csmGetLogFunction(): csmLogFunction;
/**
* Wrap log function.
*
* @param messagePtr number
*
* @return string
*/
private static wrapLogFunction;
private constructor();
}
/** Cubism moc. */
class Moc {
/**
* Checks consistency of a moc.
*
* @param mocBytes Moc bytes.
*
* @returns '1' if Moc is valid; '0' otherwise.
*/
hasMocConsistency(mocBytes: ArrayBuffer): number;
/** Creates [[Moc]] from [[ArrayBuffer]].
*
* @param buffer Array buffer
*
* @return [[Moc]] on success; [[null]] otherwise.
*/
static fromArrayBuffer(buffer: ArrayBuffer): Moc;
/** Releases instance. */
_release(): void;
/** Native moc. */
_ptr: number;
/**
* Initializes instance.
*
* @param mocBytes Moc bytes.
*/
private constructor();
}
/** Cubism model. */
class Model {
/** Parameters. */
parameters: Parameters;
/** Parts. */
parts: Parts;
/** Drawables. */
drawables: Drawables;
/** Canvas information. */
canvasinfo: CanvasInfo;
/**
* Creates [[Model]] from [[Moc]].
*
* @param moc Moc
*
* @return [[Model]] on success; [[null]] otherwise.
*/
static fromMoc(moc: Moc): Model;
/** Updates instance. */
update(): void;
/** Releases instance. */
release(): void;
/** Native model. */
_ptr: number;
/**
* Initializes instance.
*
* @param moc Moc
*/
private constructor();
}
/** Canvas information interface. */
class CanvasInfo {
/** Width of native model canvas. */
CanvasWidth: number;
/** Height of native model canvas. */
CanvasHeight: number;
/** Coordinate origin of X axis. */
CanvasOriginX: number;
/** Coordinate origin of Y axis. */
CanvasOriginY: number;
/** Pixels per unit of native model. */
PixelsPerUnit: number;
/**
* Initializes instance.
*
* @param modelPtr Native model pointer.
*/
constructor(modelPtr: number);
}
/** Cubism model parameters */
class Parameters {
/** Parameter count. */
count: number;
/** Parameter IDs. */
ids: Array<string>;
/** Minimum parameter values. */
minimumValues: Float32Array;
/** Parameter types. */
types: Int32Array;
/** Maximum parameter values. */
maximumValues: Float32Array;
/** Default parameter values. */
defaultValues: Float32Array;
/** Parameter values. */
values: Float32Array;
/** Number of key values of each parameter. */
keyCounts: Int32Array;
/** Key values of each parameter. */
keyValues: Array<Float32Array>;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Cubism model parts */
class Parts {
/** Part count. */
count: number;
/** Part IDs. */
ids: Array<string>;
/** Opacity values. */
opacities: Float32Array;
/** Part's parent part indices. */
parentIndices: Int32Array;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Cubism model drawables */
class Drawables {
/** Drawable count. */
count: number;
/** Drawable IDs. */
ids: Array<string>;
/** Constant drawable flags. */
constantFlags: Uint8Array;
/** Dynamic drawable flags. */
dynamicFlags: Uint8Array;
/** Drawable texture indices. */
textureIndices: Int32Array;
/** Drawable draw orders. */
drawOrders: Int32Array;
/** Drawable render orders. */
renderOrders: Int32Array;
/** Drawable opacities. */
opacities: Float32Array;
/** Mask count for each drawable. */
maskCounts: Int32Array;
/** Masks for each drawable. */
masks: Array<Int32Array>;
/** Number of vertices of each drawable. */
vertexCounts: Int32Array;
/** 2D vertex position data of each drawable. */
vertexPositions: Array<Float32Array>;
/** 2D texture coordinate data of each drawables. */
vertexUvs: Array<Float32Array>;
/** Number of triangle indices for each drawable. */
indexCounts: Int32Array;
/** Triangle index data for each drawable. */
indices: Array<Uint16Array>;
/** Information multiply color. */
multiplyColors: Float32Array;
/** Information Screen color. */
screenColors: Float32Array;
/** Indices of drawables parent part. */
parentPartIndices: Int32Array;
/** Resets all dynamic drawable flags.. */
resetDynamicFlags(): void;
/** Native model. */
private _modelPtr;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Utility functions. */
class Utils {
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendAdditiveBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendMultiplicativeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsDoubleSidedBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsInvertedMaskBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsVisibleBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasVisibilityDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasOpacityDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasDrawOrderDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasRenderOrderDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasVertexPositionsDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendColorDidChangeBit(bitfield: number): boolean;
}
/** Memory functions. */
class Memory {
/**
* HACK:
* Extend memory size allocated during module initialization.
* If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated.
*
* @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161
*
* @param size allocated memory size [byte(s)]
*/
static initializeAmountOfMemory(size: number): void;
private constructor();
}
/** Emscripten Cubism Core module. */
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
Subproject commit ff606d5bee3cdab4f8430947f29badab598821c5
Subproject commit e115df6e1e7a190ecdd7795c15ef222254fb193c

View File

@ -51,11 +51,9 @@ Live2D models listed below are available under Free Material License.
```
Samples/Resources/Haru
Samples/Resources/Hiyori
Samples/Resources/Mao
Samples/Resources/Mark
Samples/Resources/Natori
Samples/Resources/Rice
Samples/Resources/Wanko
```
If you use these models, you must agree to the terms of a contract set [here](https://docs.live2d.com/cubism-editor-manual/sample-model/) for each model.

View File

@ -1,41 +0,0 @@
[English](NOTICE.md) / [日本語](NOTICE.ja.md)
---
# お知らせ
## [注意事項] Cubism 4 SDK for Web R1 以降へのアップデートに伴う注意
Cubism 4 SDK for Web R1 にてそれ以前のベータ版から正式版のリリースに伴い、
利便性向上のためパッケージ及びリポジトリの構造変更がおこなわれました。
この変更は Cubism 4 SDK for Native と構造を変えずに運用がなされるほか、
ユーザに管理が不必要なファイルが混在することを避けることが理由です。
構造の変更点、及び Cubism 4 SDK for Web beta2 以前のプロジェクトからの更新方法に関して、
[Cubism SDK Manual] に詳細を記載しています。アップデートを行う際は必ずご確認ください。
[Cubism SDK Manual]: https://docs.live2d.com/cubism-sdk-manual/warning-for-cubism4-web-r1-update/
## [注意事項] 依存パッケージでの宣言重複エラーについて (2023-02-23)
Cubism 4 SDK for Web Samples で利用されている依存パッケージのうち `@types/node` に起因する、
宣言重複のエラーが発生する場合があります。
こちらは以下のいずれかの手順で解決が可能であることを確認しております。
### 解決策1: npm-check-updatesを利用する方法
1. ターミナルで `/Samples/TypeScript/Demo` ディレクトリに移動する。
1. コマンド `npm i -g npm-check-updates` を実行する。
1. コマンド `ncu` を実行する。
### 解決策2: @types/node明示的にインストールし直す方法
1. ターミナルで `/Samples/TypeScript/Demo` ディレクトリに移動する。
1. コマンド `npm uninstall @types/node` を実行する。
1. コマンド `npm install @types/node` を実行する。
---
©Live2D

View File

@ -1,38 +1,12 @@
[English](NOTICE.md) / [日本語](NOTICE.ja.md)
## [注意事項] Cubism 4 SDK for Web R1 以降へのアップデートに伴う注意
---
Cubism 4 SDK for Web R1 にてそれ以前のベータ版から正式版のリリースに伴い、
利便性向上のためパッケージ及びリポジトリの構造変更がおこなわれました。
# Notices
この変更は Cubism 4 SDK for Native と構造を変えずに運用がなされるほか、
ユーザに管理が不必要なファイルが混在することを避けることが理由です。
## [Caution] Precautions for updating to Cubism 4 SDK for Web R1 or later
With the release of the official version of the Cubism 4 SDK for Web R1 from the previous beta version, the structure of packages and repositories has been changed to improve usability.
The reason for this change is to operate without changing the structure of Cubism 4 SDK for Native, and to avoid mixing files that do not require management by users.
Details on structural changes and how to update from projects prior to Cubism 4 SDK for Web beta2 are described in the [Cubism SDK Manual]. Please be sure to check it when updating.
構造の変更点、及び Cubism 4 SDK for Web beta2 以前のプロジェクトからの更新方法に関して、
[Cubism SDK Manual] に詳細を記載しています。アップデートを行う際は必ずご確認ください。
[Cubism SDK Manual]: https://docs.live2d.com/cubism-sdk-manual/warning-for-cubism4-web-r1-update/
## [Caution] About the duplicate declaration error in dependent packages (2023-02-23)
A duplicate declaration error may occur due to `@types/node` among the dependency packages used in the Cubism 4 SDK for Web Samples.
We have confirmed that this can be resolved by one of the following procedures.
### Solution 1: Use npm-check-updates
1. Navigate to the `/Samples/TypeScript/Demo` directory in Terminal.
1. Execute the command `npm i -g npm-check-updates`.
1. Execute the command `ncu`.
### Solution 2: Reinstall @types/node explicitly
1. Navigate to the `/Samples/TypeScript/Demo` directory in Terminal.
1. Execute the command `npm uninstall @types/node`.
1. Execute the command `npm install @types/node`.
---
©Live2D

View File

@ -1,141 +0,0 @@
[English](README.md) / [日本語](README.ja.md)
---
# Cubism Web Samples
Live2D Cubism Editor で出力したモデルを表示するアプリケーションのサンプル実装です。
Cubism Web Framework および Live2D Cubism Core と組み合わせて使用します。
## ライセンス
本 SDK を使用する前に、[ライセンス](LICENSE.md)をご確認ください。
## お知らせ
本 SDK を使用する前に、[お知らせ](NOTICE.ja.md)をご確認ください。
## Cubism 5新機能や過去バージョンとの互換性について
本 SDK はCubism 5に対応した製品です。
Cubism 5 Editorに搭載された新機能のSDK対応については [こちら](https://docs.live2d.com/cubism-sdk-manual/cubism-5-new-functions/)をご確認ください。
過去バージョンのCubism SDKとの互換性については [こちら](https://docs.live2d.com/cubism-sdk-manual/compatibility-with-cubism-5/)をご確認ください。
## ディレクトリ構成
```
.
├─ .vscode # Visual Studio Code 用プロジェクト設定ディレクトリ
├─ Core # Live2D Cubism Core が含まれるディレクトリ
├─ Framework # レンダリングやアニメーション機能などのソースコードが含まれるディレクトリ
└─ Samples
├─ Resources # モデルのファイルや画像などのリソースが含まれるディレクトリ
└─ TypeScript # TypeScript のサンプルプロジェクトが含まれるディレクトリ
```
## Live2D Cubism Core for Web
モデルをロードするためのライブラリです。
当リポジトリではCubism Coreを管理していません。
[こちら](https://www.live2d.com/download/cubism-sdk/download-web/)からCubism SDK for Webをダウンロードして、
Coreディレクトリのファイルをコピーしてください。
## 開発環境構築
1. [Node.js] と [Visual Studio Code] をインストールします
1. Visual Studio Code で **本 SDK のトップディレクトリ** を開き、推奨拡張機能をインストールします
* ポップアップ通知の他、拡張機能タブから `@recommended` を入力することで確認できます
### サンプルデモの動作確認
コマンドパレット(*View > Command Palette...*)で `>Tasks: Run Task` を入力することで、タスク一覧が表示されます。
1. タスク一覧から `npm: install - Samples/TypeScript/Demo` を選択して依存パッケージのダウンロードを行います
1. タスク一覧から `npm: build - Samples/TypeScript/Demo` を選択してサンプルデモのビルドを行います
1. タスク一覧から `npm: serve - Samples/TypeScript/Demo` を選択して動作確認用の簡易サーバを起動します
1. ブラウザの URL 欄に `http://localhost:5000/Samples/TypeScript/Demo/` と入力してアクセスします
1. コマンドパレットから `>Tasks: Terminate Task` を入力して `npm: serve` を選択すると簡易サーバが終了します
その他のタスクに関してはサンプルプロジェクトの [README.md](Samples/TypeScript/README.ja.md) を参照ください。
NOTE: デバック用の設定は、`.vscode/tasks.json` に記述しています。
### プロジェクトのデバック
Visual Studio Code で **本 SDK のトップディレクトリ** を開き、 *F5* キーを入力すると Debugger for Chrome が起動します。
Visual Studio Code 上でブレイクポイントを貼って Chrome ブラウザと連動してデバックを行うことができます。
NOTE: デバック用の設定は、`.vscode/launch.json` に記述しています。
## SDKマニュアル
[Cubism SDK Manual](https://docs.live2d.com/cubism-sdk-manual/top/)
## 変更履歴
当リポジトリの変更履歴については [CHANGELOG.md](CHANGELOG.md) を参照ください。
## 開発環境
### Node.js
* 20.7.0
* 18.18.0
## 動作確認環境
| プラットフォーム | ブラウザ | バージョン |
| --- | --- | --- |
| Android | Google Chrome | 113.0.5672.77 |
| Android | Microsoft Edge | 113.0.1774.38 |
| Android | Mozilla Firefox | 113.0 |
| iOS / iPadOS | Google Chrome | 113.0.5672.109 |
| iOS / iPadOS | Microsoft Edge | 113.0.1774.42 |
| iOS / iPadOS | Mozilla Firefox | 113.0 |
| iOS / iPadOS | Safari | 16.6.1 |
| macOS | Google Chrome | 117.0.5938.92 |
| macOS | Microsoft Edge | 117.0.2045.43 |
| macOS | Mozilla Firefox | 113.0.1 |
| macOS | Safari | 16.6.1 |
| Windows | Google Chrome | 117.0.5938.92 |
| Windows | Microsoft Edge | 117.0.2045.43 |
| Windows | Mozilla Firefox | 113.0 |
Note: 動作確認時のサーバの起動は `./Samples/TypeScript/Demo/package.json``serve` スクリプトを使用して行っています。
## プロジェクトへの貢献
プロジェクトに貢献する方法はたくさんあります。バグのログの記録、このGitHubでのプルリクエストの送信、Live2Dコミュニティでの問題の報告と提案の作成です。
### フォークとプルリクエスト
修正、改善、さらには新機能をもたらすかどうかにかかわらず、プルリクエストに感謝します。ただし、ラッパーは可能な限り軽量で浅くなるように設計されているため、バグ修正とメモリ/パフォーマンスの改善のみを行う必要があることに注意してください。メインリポジトリを可能な限りクリーンに保つために、必要に応じて個人用フォークと機能ブランチを作成してください。
### バグ
Live2Dコミュニティでは、問題のレポートと機能リクエストを定期的にチェックしています。バグレポートを提出する前に、Live2Dコミュニティで検索して、問題のレポートまたは機能リクエストがすでに投稿されているかどうかを確認してください。問題がすでに存在する場合は、関連するコメントを追記してください。
### 提案
SDKの将来についてのフィードバックにも関心があります。Live2Dコミュニティで提案や機能のリクエストを送信できます。このプロセスをより効果的にするために、それらをより明確に定義するのに役立つより多くの情報を含めるようお願いしています。
## フォーラム
ユーザー同士でCubism SDKの活用方法の提案や質問をしたい場合は、是非フォーラムをご活用ください。
- [Live2D 公式クリエイターズフォーラム](https://creatorsforum.live2d.com/)
- [Live2D Creator's Forum(English)](https://community.live2d.com/)

149
README.md
View File

@ -1,142 +1,115 @@
[English](README.md) / [日本語](README.ja.md)
---
# Cubism Web Samples
This is a sample implementation of an application that displays models output by Live2D Cubism Editor.
Live2D Cubism 4 Editor で出力したモデルを表示するアプリケーションのサンプル実装です。
It is used in conjunction with the Cubism Web Framework and Live2D Cubism Core.
Cubism Web Framework および Live2D Cubism Core と組み合わせて使用します。
## License
## ライセンス
Please check the [license](LICENSE.md) before using this SDK.
本 SDK を使用する前に、[ライセンス](LICENSE.md)をご確認ください。
## Notices
## 注意事項
Please check the [notices](NOTICE.md) before using this SDK.
本 SDK を使用する前に、[注意事項](NOTICE.md)をご確認ください。
## Compatibility with Cubism 5 new features and previous Cubism SDK versions
This SDK is compatible with Cubism 5.
For SDK compatibility with new features in Cubism 5 Editor, please refer to [here](https://docs.live2d.com/en/cubism-sdk-manual/cubism-5-new-functions/).
For compatibility with previous versions of Cubism SDK, please refer to [here](https://docs.live2d.com/en/cubism-sdk-manual/compatibility-with-cubism-5/).
## Directory structure
## ディレクトリ構成
```
.
├─ .vscode # Project settings directory for Visual Studio Code
├─ Core # Directory containing Live2D Cubism Core
├─ Framework # Directory containing source code such as rendering and animation functions
├─ .vscode # Visual Studio Code 用プロジェクト設定ディレクトリ
├─ Core # Live2D Cubism Core が含まれるディレクトリ
├─ Framework # レンダリングやアニメーション機能などのソースコードが含まれるディレクトリ
└─ Samples
├─ Resources # Directory containing resources such as model files and images
└─ TypeScript # Directory containing TypeScript sample projects
├─ Resources # モデルのファイルや画像などのリソースが含まれるディレクトリ
└─ TypeScript # TypeScript のサンプルプロジェクトが含まれるディレクトリ
```
## Live2D Cubism Core for Web
A library for loading the model.
モデルをロードするためのライブラリです。
This repository does not manage Cubism Core.
Download the Cubism SDK for Web from [here](https://www.live2d.com/download/cubism-sdk/download-web/) and copy the files in the Core directory.
当リポジトリではCubism Coreを管理していません。
[こちら](https://www.live2d.com/download/cubism-sdk/download-web/)からCubism SDK for Webをダウンロードして、
Coreディレクトリのファイルをコピーしてください。
## Development environment construction
## 開発環境構築
1. Install [Node.js] and [Visual Studio Code]
1. Open **the top directory of this SDK** in Visual Studio Code and install the recommended extensions
* In addition to pop-up notifications, you can check the others by typing `@recommended` from the Extensions tab
1. [Node.js] と [Visual Studio Code] をインストールします
1. Visual Studio Code で **本 SDK のトップディレクトリ** を開き、推奨拡張機能をインストールします
* ポップアップ通知の他、拡張機能タブから `@recommended` を入力することで確認できます
### Operation check of sample demo
### サンプルデモの動作確認
Enter `>Tasks: Run Task` in the command palette (*View > Command Palette...*) to display the task list.
コマンドパレット(*View > Command Palette...*)で `>Tasks: Run Task` を入力することで、タスク一覧が表示されます。
1. Select `npm: install - Samples/TypeScript/Demo` from the task list to download the dependent packages
1. Select `npm: build - Samples/TypeScript/Demo` from the task list to build the sample demo
1. Select `npm: serve - Samples/TypeScript/Demo` from the task list to start the simple server for operation check
1. Enter `http://localhost:5000/Samples/TypeScript/Demo/` in the URL field of your browser to access it
1. Enter `>Tasks: Terminate Task` from the command palette and select `npm: serve` to terminate the simple server
1. タスク一覧から `npm: install - Samples/TypeScript/Demo` を選択して依存パッケージのダウンロードを行います
1. タスク一覧から `npm: build - Samples/TypeScript/Demo` を選択してサンプルデモのビルドを行います
1. タスク一覧から `npm: serve - Samples/TypeScript/Demo` を選択して動作確認用の簡易サーバを起動します
1. ブラウザの URL 欄に `http://localhost:5000/Samples/TypeScript/Demo/` と入力してアクセスします
1. コマンドパレットから `>Tasks: Terminate Task` を入力して `npm: serve` を選択すると簡易サーバが終了します
For other tasks, see [README.md](Samples/TypeScript/README.md) of the sample project.
その他のタスクに関してはサンプルプロジェクトの [README.md](Samples/TypeScript/README.md) を参照ください。
NOTE: Settings for debugging are described in `.vscode/tasks.json`.
NOTE: デバック用の設定は、`.vscode/tasks.json` に記述しています。
### Project debugging
### プロジェクトのデバック
Open **the top directory of this SDK** in Visual Studio Code and enter the *F5* key to start Debugger for Chrome.
Visual Studio Code で **本 SDK のトップディレクトリ** を開き、 *F5* キーを入力すると Debugger for Chrome が起動します。
You can place breakpoints in Visual Studio Code to debug in conjunction with the Chrome browser.
Visual Studio Code 上でブレイクポイントを貼って Chrome ブラウザと連動してデバックを行うことができます。
NOTE: Settings for debugging are described in `.vscode/launch.json`.
NOTE: デバック用の設定は、`.vscode/launch.json` に記述しています。
## SDK manual
## SDKマニュアル
[Cubism SDK Manual](https://docs.live2d.com/cubism-sdk-manual/top/)
## Changelog
## 変更履歴
Please refer to [CHANGELOG.md](CHANGELOG.md) for the changelog of this repository.
当リポジトリの変更履歴については [CHANGELOG.md](CHANGELOG.md) を参照ください。
## Development environment
## 開発環境
### Node.js
* 20.7.0
* 18.18.0
* 18.7.0
* 16.16.0
* 14.20.0
## Operation environment
## 動作確認環境
| Platform | Browser | Version |
| プラットフォーム | ブラウザ | バージョン |
| --- | --- | --- |
| Android | Google Chrome | 113.0.5672.77 |
| Android | Microsoft Edge | 113.0.1774.38 |
| Android | Mozilla Firefox | 113.0 |
| iOS / iPadOS | Google Chrome | 113.0.5672.109 |
| iOS / iPadOS | Microsoft Edge | 113.0.1774.42 |
| iOS / iPadOS | Mozilla Firefox | 113.0 |
| iOS / iPadOS | Safari | 16.6.1 |
| macOS | Google Chrome | 117.0.5938.92 |
| macOS | Microsoft Edge | 117.0.2045.43 |
| macOS | Mozilla Firefox | 113.0.1 |
| macOS | Safari | 16.6.1 |
| Windows | Google Chrome | 117.0.5938.92 |
| Windows | Microsoft Edge | 117.0.2045.43 |
| Windows | Mozilla Firefox | 113.0 |
| Android | Google Chrome | 103.0.5060.129 |
| Android | Microsoft Edge | 101.0.1210.47 |
| Android | Mozilla Firefox | 100.1.2 |
| iOS / iPadOS | Google Chrome | 101.0.4951.58 |
| iOS / iPadOS | Microsoft Edge | 101.1210.47 |
| iOS / iPadOS | Mozilla Firefox | 100.1 |
| iOS / iPadOS | Safari | 15.6 |
| macOS | Google Chrome | 101.0.4951.64 |
| macOS | Microsoft Edge | 101.0.1210.47 |
| macOS | Mozilla Firefox | 100.0.1 |
| macOS | Safari | 15.6 |
| Windows | Google Chrome | 102.0.5005.115 |
| Windows | Microsoft Edge | 103.0.1264.71 |
| Windows | Mozilla Firefox | 100.0 |
Note: You can start the server for operation check by running the `serve` script of `./Samples/TypeScript/Demo/package.json`.
Note: 動作確認時のサーバの起動は `./Samples/TypeScript/Demo/package.json``serve` スクリプトを使用して行っています。
## Contributing
## コミュニティ
There are many ways to contribute to the project: logging bugs, submitting pull requests on this GitHub, and reporting issues and making suggestions in Live2D Community.
ユーザー同士でCubism SDKの活用方法の提案や質問をしたい場合は、是非コミュニティをご活用ください。
### Forking And Pull Requests
We very much appreciate your pull requests, whether they bring fixes, improvements, or even new features. Note, however, that the wrapper is designed to be as lightweight and shallow as possible and should therefore only be subject to bug fixes and memory/performance improvements. To keep the main repository as clean as possible, create a personal fork and feature branches there as needed.
### Bugs
We are regularly checking issue-reports and feature requests at Live2D Community. Before filing a bug report, please do a search in Live2D Community to see if the issue-report or feature request has already been posted. If you find your issue already exists, make relevant comments and add your reaction.
### Suggestions
We're also interested in your feedback for the future of the SDK. You can submit a suggestion or feature request at Live2D Community. To make this process more effective, we're asking that you include more information to help define them more clearly.
## Forum
If you want to suggest or ask questions about how to use the Cubism SDK between users, please use the forum.
- [Live2D Creator's Forum](https://community.live2d.com/)
- [Live2D 公式クリエイターズフォーラム (Japanese)](https://creatorsforum.live2d.com/)
- [Live2D 公式コミュニティ](https://creatorsforum.live2d.com/)
- [Live2D community(English)](https://community.live2d.com/)

View File

@ -61,25 +61,25 @@
"File": "motions/haru_g_m26.motion3.json",
"FadeInTime": 0.5,
"FadeOutTime": 0.5,
"Sound": "sounds/haru_talk_13.wav"
"Sound": "sounds/haru_normal_04.wav"
},
{
"File": "motions/haru_g_m06.motion3.json",
"FadeInTime": 0.5,
"FadeOutTime": 0.5,
"Sound": "sounds/haru_Info_14.wav"
"Sound": "sounds/haru_normal_01.wav"
},
{
"File": "motions/haru_g_m20.motion3.json",
"FadeInTime": 0.5,
"FadeOutTime": 0.5,
"Sound": "sounds/haru_normal_6.wav"
"Sound": "sounds/haru_normal_03.wav"
},
{
"File": "motions/haru_g_m09.motion3.json",
"FadeInTime": 0.5,
"FadeOutTime": 0.5,
"Sound": "sounds/haru_Info_04.wav"
"Sound": "sounds/haru_normal_02.wav"
}
]
},

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@ -117,27 +117,27 @@
"Name": "右眉 変形"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"GroupId": "ParamGroupMouth",
"Name": "あ"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"GroupId": "ParamGroupMouth",
"Name": "い"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"GroupId": "ParamGroupMouth",
"Name": "う"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"GroupId": "ParamGroupMouth",
"Name": "え"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"GroupId": "ParamGroupMouth",
"Name": "お"
},
@ -416,250 +416,150 @@
"GroupId": "ParamGroupSway",
"Name": "ローブのふわ"
},
{
"Id": "ParamHeartMissOn",
"GroupId": "ParamGroupHeart",
"Name": "ハート失敗 表示"
},
{
"Id": "ParamHeartBackMissOn",
"GroupId": "ParamGroupHeart",
"Name": "ハート失敗後ろ 表示"
},
{
"Id": "ParamHeartColorRainbow",
"GroupId": "ParamGroupHeart",
"Name": "ハート失敗 虹色"
},
{
"Id": "ParamHeartHealOn",
"GroupId": "ParamGroupHeart",
"Name": "ハート回復 表示"
},
{
"Id": "ParamHeartBackHealOn",
"GroupId": "ParamGroupHeart",
"Name": "ハート回復後ろ 表示"
},
{
"Id": "ParamHeartColorHeal",
"GroupId": "ParamGroupHeart",
"Name": "ハート回復 緑色"
},
{
"Id": "ParamHeartDrow",
"GroupId": "ParamGroupHeart",
"Name": "ハート 描画"
},
{
"Id": "ParamHeartSize",
"GroupId": "ParamGroupHeart",
"Name": "ハート 拡縮"
},
{
"Id": "ParamHeartColorLight",
"GroupId": "ParamGroupHeart",
"Name": "ハート 色変化"
},
{
"Id": "ParamWandInkColorRainbow",
"GroupId": "ParamGroupInk",
"Name": "杖インク 虹色"
},
{
"Id": "ParamWandInkColorHeal",
"GroupId": "ParamGroupInk",
"Name": "杖インク 緑色"
},
{
"Id": "ParamWandInk",
"GroupId": "ParamGroupInk",
"Name": "杖インク"
},
{
"Id": "ParamSmokeOn",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "煙 表示"
},
{
"Id": "ParamSmoke",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "煙"
},
{
"Id": "ParamExplosionChargeOn",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "爆発光溜め 表示"
},
{
"Id": "ParamExplosionLightCharge",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "爆発光溜め"
},
{
"Id": "ParamExplosionOn",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "爆発 表示"
},
{
"Id": "ParamExplosion",
"GroupId": "ParamGroupExplosion",
"GroupId": "ParamGroupEffectsMistake",
"Name": "爆発"
},
{
"Id": "ParamRabbitElimination",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 消滅"
"Id": "ParamWandInkColorRainbow",
"GroupId": "ParamGroupEffectsMistake",
"Name": "杖インク 虹色"
},
{
"Id": "ParamRabbitAppearance",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 出現"
"Id": "ParamHeartMissOn",
"GroupId": "ParamGroupEffectsMistake",
"Name": "ハート失敗 表示"
},
{
"Id": "ParamRabbitSize",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 拡縮"
"Id": "ParamHeartBackMissOn",
"GroupId": "ParamGroupEffectsMistake",
"Name": "ハート失敗後ろ 表示"
},
{
"Id": "ParamRabbitDraworder",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 描画順"
"Id": "ParamHeartColorRainbow",
"GroupId": "ParamGroupEffectsMistake",
"Name": "ハート失敗 虹色"
},
{
"Id": "ParamRabbitEar",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 耳"
"Id": "ParamWandInkColorHeal",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "杖インク 緑色"
},
{
"Id": "ParamRabbitDirection",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 向き"
"Id": "ParamHeartHealOn",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "ハート回復 表示"
},
{
"Id": "ParamRabbitLight",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ 色変化"
"Id": "ParamHeartBackHealOn",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "ハート回復後ろ 表示"
},
{
"Id": "ParamRabbitLightSize",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎ光 拡縮"
},
{
"Id": "ParamRabbitX",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎの移動 X"
},
{
"Id": "ParamRabbitY",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎの移動 Y"
},
{
"Id": "ParamRabbitRotate",
"GroupId": "ParamGroupRabbit",
"Name": "うさぎの回転"
},
{
"Id": "ParamAuraOn",
"GroupId": "ParamGroupAura",
"Name": "オーラ 表示"
},
{
"Id": "ParamAura",
"GroupId": "ParamGroupAura",
"Name": "オーラ"
},
{
"Id": "ParamAuraColor1",
"GroupId": "ParamGroupAura",
"Name": "オーラ 色変化1"
},
{
"Id": "ParamAuraColor2",
"GroupId": "ParamGroupAura",
"Name": "オーラ 色変化2"
"Id": "ParamHeartColorHeal",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "ハート回復 緑色"
},
{
"Id": "ParamHeartLightOn",
"GroupId": "ParamGroupLight",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "光 表示"
},
{
"Id": "ParamHeartLight",
"GroupId": "ParamGroupLight",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "光 星"
},
{
"Id": "ParamHeartLightColor",
"GroupId": "ParamGroupLight",
"GroupId": "ParamGroupEffectsSuccess",
"Name": "光 色変化"
},
{
"Id": "ParamHealLightOn",
"GroupId": "ParamGroupLight",
"Name": "回復魔法光 表示"
},
{
"Id": "ParamHealLight",
"GroupId": "ParamGroupLight",
"Name": "回復魔法光"
},
{
"Id": "ParamStrengthenLightOn",
"GroupId": "ParamGroupLight",
"Name": "強化魔法光 表示"
},
{
"Id": "ParamStrengthenLight",
"GroupId": "ParamGroupLight",
"Name": "強化魔法光"
},
{
"Id": "ParamStrengthenLightMove",
"GroupId": "ParamGroupLight",
"Name": "強化魔法光 移動"
},
{
"Id": "ParamMagicPositionX",
"GroupId": "ParamGroupAllEffects",
"GroupId": "ParamGroupEffects",
"Name": "魔法の位置X"
},
{
"Id": "ParamMagicPositionY",
"GroupId": "ParamGroupAllEffects",
"GroupId": "ParamGroupEffects",
"Name": "魔法の位置Y"
},
{
"Id": "ParamAllColor1",
"GroupId": "ParamGroupAllEffects",
"Name": "全体の色1"
"Id": "ParamWandInk",
"GroupId": "ParamGroupEffects",
"Name": "杖インク"
},
{
"Id": "ParamAllColor2",
"GroupId": "ParamGroupAllEffects",
"Name": "全体の色2"
"Id": "ParamHeartDrow",
"GroupId": "ParamGroupEffects",
"Name": "ハート 描画"
},
{
"Id": "ParamSphereOn",
"GroupId": "ParamGroupColorSample",
"Name": "玉 表示"
"Id": "ParamHeartSize",
"GroupId": "ParamGroupEffects",
"Name": "ハート 拡縮"
},
{
"Id": "ParamSphereMove",
"GroupId": "ParamGroupColorSample",
"Name": "玉 移動"
"Id": "ParamHeartColorLight",
"GroupId": "ParamGroupEffects",
"Name": "ハート 色変化"
},
{
"Id": "ParamSphereMultiplyColor",
"GroupId": "ParamGroupColorSample",
"Name": "玉 乗算色"
"Id": "ParamAllColor",
"GroupId": "ParamGroupEffectsHeal",
"Name": "全体の色"
},
{
"Id": "ParamSphereScreenColor",
"GroupId": "ParamGroupColorSample",
"Name": "玉 スクリーン色"
"Id": "ParamAuraOn",
"GroupId": "ParamGroupEffectsHeal",
"Name": "オーラ 表示"
},
{
"Id": "ParamAura",
"GroupId": "ParamGroupEffectsHeal",
"Name": "オーラ"
},
{
"Id": "ParamAuraColor",
"GroupId": "ParamGroupEffectsHeal",
"Name": "オーラ 色変化"
},
{
"Id": "ParamHealOn",
"GroupId": "ParamGroupEffectsHeal",
"Name": "回復魔法光 表示"
},
{
"Id": "ParamHealLight",
"GroupId": "ParamGroupEffectsHeal",
"Name": "回復魔法光"
}
],
"ParameterGroups": [
@ -724,44 +624,24 @@
"Name": "揺れ"
},
{
"Id": "ParamGroupHeart",
"Id": "ParamGroupEffectsMistake",
"GroupId": "",
"Name": "ハート"
"Name": "魔法失敗エフェクト"
},
{
"Id": "ParamGroupInk",
"Id": "ParamGroupEffectsSuccess",
"GroupId": "",
"Name": "インク"
"Name": "魔法成功エフェクト"
},
{
"Id": "ParamGroupExplosion",
"Id": "ParamGroupEffects",
"GroupId": "",
"Name": "爆発"
"Name": "魔法共通エフェクト"
},
{
"Id": "ParamGroupRabbit",
"Id": "ParamGroupEffectsHeal",
"GroupId": "",
"Name": "うさぎ"
},
{
"Id": "ParamGroupAura",
"GroupId": "",
"Name": "オーラ"
},
{
"Id": "ParamGroupLight",
"GroupId": "",
"Name": "光"
},
{
"Id": "ParamGroupAllEffects",
"GroupId": "",
"Name": "全体エフェクト"
},
{
"Id": "ParamGroupColorSample",
"GroupId": "",
"Name": "乗算色・スクリーン色サンプル"
"Name": "回復エフェクト"
}
],
"Parts": [
@ -769,14 +649,6 @@
"Id": "PartCore",
"Name": "コア"
},
{
"Id": "PartRabbit",
"Name": "うさぎ"
},
{
"Id": "PartEffect",
"Name": "エフェクト"
},
{
"Id": "PartInk",
"Name": "インク"
@ -877,10 +749,6 @@
"Id": "PartArmRB",
"Name": "右腕B"
},
{
"Id": "PartColorSample",
"Name": "乗算色・スクリーン色サンプル"
},
{
"Id": "PartSketch",
"Name": "[ 下絵 ]"

Binary file not shown.

View File

@ -46,9 +46,6 @@
"Idle": [
{
"File": "motions/mtn_01.motion3.json"
},
{
"File": "motions/sample_01.motion3.json"
}
],
"TapBody": [
@ -66,21 +63,11 @@
},
{
"File": "motions/special_02.motion3.json"
},
{
"File": "motions/special_03.motion3.json"
}
]
}
},
"Groups": [
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"ParamA"
]
},
{
"Target": "Parameter",
"Name": "EyeBlink",
@ -88,6 +75,11 @@
"ParamEyeLOpen",
"ParamEyeROpen"
]
},
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": []
}
],
"HitAreas": [

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 0,
"Blend": "Multiply"
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 0,
"Blend": "Multiply"
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 0,
"Blend": "Multiply"
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 0,
"Blend": "Multiply"
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -10,8 +10,8 @@
},
{
"Id": "ParamEyeLOpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
@ -25,8 +25,8 @@
},
{
"Id": "ParamEyeROpen",
"Value": 1,
"Blend": "Multiply"
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
@ -99,27 +99,27 @@
"Blend": "Add"
},
{
"Id": "ParamA",
"Id": "ParamMouthA",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamI",
"Id": "ParamMouthI",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamU",
"Id": "ParamMouthU",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamE",
"Id": "ParamMouthE",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamO",
"Id": "ParamMouthO",
"Value": 0,
"Blend": "Add"
},

View File

@ -7,9 +7,9 @@
"FadeOutTime": 1.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 213,
"TotalPointCount": 543,
"CurveCount": 116,
"TotalSegmentCount": 193,
"TotalPointCount": 503,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -542,7 +542,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -555,7 +555,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -568,7 +568,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -581,7 +581,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -594,7 +594,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -1712,162 +1712,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
@ -1946,128 +1790,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
1,
0,
5.567,
1
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraOn",
"Id": "ParamWandInkColorRainbow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -2080,7 +1803,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Id": "ParamHeartMissOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -2093,7 +1816,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Id": "ParamHeartBackMissOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -2106,7 +1829,61 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Id": "ParamHeartColorRainbow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
@ -2154,65 +1931,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
@ -2241,7 +1959,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Id": "ParamWandInk",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
@ -2254,7 +1972,9 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Id": "ParamHeartDrow",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
@ -2265,7 +1985,9 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Id": "ParamHeartSize",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
@ -2276,7 +1998,9 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Id": "ParamHeartColorLight",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
@ -2287,7 +2011,9 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Id": "ParamAllColor",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
@ -2298,7 +2024,61 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Id": "ParamAuraOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealOn",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,
0,
5.567,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"FadeInTime": 1.0,
"FadeOutTime": 1.0,
"Segments": [
0,
0,

View File

@ -7,9 +7,9 @@
"FadeOutTime": 1.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 253,
"TotalPointCount": 625,
"CurveCount": 116,
"TotalSegmentCount": 233,
"TotalPointCount": 585,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -469,7 +469,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"Segments": [
0,
0,
@ -480,7 +480,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"Segments": [
0,
0,
@ -491,7 +491,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"Segments": [
0,
0,
@ -502,7 +502,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"Segments": [
0,
0,
@ -513,7 +513,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"Segments": [
0,
0,
@ -1750,138 +1750,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
@ -1950,7 +1818,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
@ -1961,7 +1829,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
@ -1972,7 +1840,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
@ -1983,7 +1851,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
@ -1994,7 +1862,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
@ -2005,7 +1873,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
@ -2016,7 +1884,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
@ -2027,84 +1895,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
1,
0,
3.467,
1
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
@ -2146,61 +1937,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
@ -2225,7 +1961,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Id": "ParamWandInk",
"Segments": [
0,
0,
@ -2236,7 +1972,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
@ -2247,7 +1983,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
@ -2258,7 +1994,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
@ -2269,7 +2005,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Id": "ParamAllColor",
"Segments": [
0,
0,
@ -2280,7 +2016,51 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealOn",
"Segments": [
0,
0,
0,
3.467,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,

View File

@ -7,9 +7,9 @@
"FadeOutTime": 1.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 235,
"TotalPointCount": 569,
"CurveCount": 116,
"TotalSegmentCount": 215,
"TotalPointCount": 529,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -465,7 +465,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"Segments": [
0,
0,
@ -476,7 +476,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"Segments": [
0,
0,
@ -487,7 +487,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"Segments": [
0,
0,
@ -498,7 +498,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"Segments": [
0,
0,
@ -509,7 +509,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"Segments": [
0,
0,
@ -1620,138 +1620,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
@ -1820,7 +1688,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
@ -1831,7 +1699,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
@ -1842,7 +1710,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
@ -1853,7 +1721,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
@ -1864,7 +1732,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
@ -1875,7 +1743,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
@ -1886,7 +1754,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
@ -1897,84 +1765,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
1,
0,
4.4,
1
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
@ -2016,61 +1807,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
@ -2095,7 +1831,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Id": "ParamWandInk",
"Segments": [
0,
0,
@ -2106,7 +1842,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
@ -2117,7 +1853,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
@ -2128,7 +1864,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
@ -2139,7 +1875,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Id": "ParamAllColor",
"Segments": [
0,
0,
@ -2150,7 +1886,51 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealOn",
"Segments": [
0,
0,
0,
4.4,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,

View File

@ -7,9 +7,9 @@
"FadeOutTime": 0.5,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 300,
"TotalPointCount": 766,
"CurveCount": 116,
"TotalSegmentCount": 280,
"TotalPointCount": 726,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -689,7 +689,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"Segments": [
0,
0,
@ -700,7 +700,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"Segments": [
0,
0,
@ -711,7 +711,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"Segments": [
0,
0,
@ -722,7 +722,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"Segments": [
0,
0,
@ -733,7 +733,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"Segments": [
0,
0,
@ -2079,138 +2079,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
@ -2279,7 +2147,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
@ -2290,7 +2158,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
@ -2301,7 +2169,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
@ -2312,7 +2180,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
@ -2323,7 +2191,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
@ -2334,7 +2202,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
@ -2345,7 +2213,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
@ -2356,84 +2224,7 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
1,
0,
4.2,
1
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
@ -2475,61 +2266,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
@ -2554,7 +2290,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Id": "ParamWandInk",
"Segments": [
0,
0,
@ -2565,7 +2301,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
@ -2576,7 +2312,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
@ -2587,7 +2323,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
@ -2598,7 +2334,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Id": "ParamAllColor",
"Segments": [
0,
0,
@ -2609,7 +2345,51 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealOn",
"Segments": [
0,
0,
0,
4.2,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,

File diff suppressed because it is too large Load Diff

View File

@ -7,9 +7,9 @@
"FadeOutTime": 0.25,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 413,
"TotalPointCount": 1093,
"CurveCount": 116,
"TotalSegmentCount": 393,
"TotalPointCount": 1053,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -752,7 +752,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"Segments": [
0,
0,
@ -777,7 +777,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"Segments": [
0,
0,
@ -788,7 +788,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"Segments": [
0,
0,
@ -799,7 +799,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"Segments": [
0,
0,
@ -810,7 +810,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"Segments": [
0,
0,
@ -2418,6 +2418,83 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmoke",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionChargeOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionLightCharge",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosion",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
@ -2451,6 +2528,31 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
1,
1.044,
0,
2.089,
0,
3.133,
0,
1,
3.244,
0,
3.356,
1,
3.467,
1,
0,
7.8,
1
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
@ -2554,6 +2656,148 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLightOn",
"Segments": [
0,
0,
1,
1.089,
0,
2.178,
0,
3.267,
0,
1,
3.567,
0.661,
3.867,
1,
4.167,
1,
1,
4.344,
1,
4.522,
0.757,
4.7,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLight",
"Segments": [
0,
0,
1,
1.111,
0,
2.222,
0,
3.333,
0,
1,
3.911,
17.478,
4.489,
30,
5.067,
30,
1,
5.078,
30,
5.089,
0,
5.1,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLightColor",
"Segments": [
0,
0,
1,
1.078,
0,
2.156,
0,
3.233,
0,
1,
3.544,
0,
3.856,
1,
4.167,
1,
1,
4.344,
1,
4.522,
1,
4.7,
1,
1,
4.711,
1,
4.722,
0,
4.733,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionY",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
0.5,
0,
0,
2,
1,
0,
7.8,
1
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
@ -2683,238 +2927,51 @@
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Id": "ParamAllColor",
"Segments": [
0,
0,
1,
1.044,
1.456,
0,
2.089,
2.911,
0,
3.133,
4.367,
0,
1,
3.244,
4.611,
0,
3.356,
4.856,
0.6,
5.1,
0.6,
1,
3.467,
5.244,
0.6,
5.389,
0.4,
5.533,
0.4,
1,
0,
7.8,
1
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
0.5,
0,
0,
2,
5.678,
0.4,
5.822,
0.6,
5.967,
0.6,
1,
0,
7.8,
1
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSmoke",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionChargeOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionLightCharge",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosionOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamExplosion",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
6.111,
0.6,
6.256,
0.572,
6.4,
0.4,
1,
6.567,
0.201,
6.733,
0,
7.8,
1
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Segments": [
0,
6.9,
0,
0,
7.8,
@ -2993,7 +3050,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Id": "ParamAuraColor",
"Segments": [
0,
0,
@ -3032,121 +3089,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLightOn",
"Segments": [
0,
0,
1,
1.089,
0,
2.178,
0,
3.267,
0,
1,
3.567,
0.661,
3.867,
1,
4.167,
1,
1,
4.344,
1,
4.522,
0.757,
4.7,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLight",
"Segments": [
0,
0,
1,
1.111,
0,
2.222,
0,
3.333,
0,
1,
3.911,
17.478,
4.489,
30,
5.067,
30,
1,
5.078,
30,
5.089,
0,
5.1,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartLightColor",
"Segments": [
0,
0,
1,
1.078,
0,
2.156,
0,
3.233,
0,
1,
3.544,
0,
3.856,
1,
4.167,
1,
1,
4.344,
1,
4.522,
1,
4.7,
1,
1,
4.711,
1,
4.722,
0,
4.733,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"Id": "ParamHealOn",
"Segments": [
0,
0,
@ -3222,169 +3165,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionY",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Segments": [
0,
0,
1,
1.456,
0,
2.911,
0,
4.367,
0,
1,
4.611,
0,
4.856,
0.6,
5.1,
0.6,
1,
5.244,
0.6,
5.389,
0.4,
5.533,
0.4,
1,
5.678,
0.4,
5.822,
0.6,
5.967,
0.6,
1,
6.111,
0.6,
6.256,
0.572,
6.4,
0.4,
1,
6.567,
0.201,
6.733,
0,
6.9,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Segments": [
0,
0,
0,
7.8,
0
]
},
{
"Target": "PartOpacity",
"Id": "PartArmLA",

View File

@ -7,9 +7,9 @@
"FadeOutTime": 0.25,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 136,
"TotalSegmentCount": 536,
"TotalPointCount": 1440,
"CurveCount": 116,
"TotalSegmentCount": 516,
"TotalPointCount": 1400,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
@ -57,7 +57,7 @@
-25.081,
1,
2.511,
-26.205,
-26.204,
2.689,
-26.911,
2.867,
@ -1323,7 +1323,7 @@
},
{
"Target": "Parameter",
"Id": "ParamA",
"Id": "ParamMouthA",
"Segments": [
0,
0,
@ -1362,7 +1362,7 @@
},
{
"Target": "Parameter",
"Id": "ParamI",
"Id": "ParamMouthI",
"Segments": [
0,
0,
@ -1373,7 +1373,7 @@
},
{
"Target": "Parameter",
"Id": "ParamU",
"Id": "ParamMouthU",
"Segments": [
0,
0,
@ -1384,7 +1384,7 @@
},
{
"Target": "Parameter",
"Id": "ParamE",
"Id": "ParamMouthE",
"Segments": [
0,
0,
@ -1395,7 +1395,7 @@
},
{
"Target": "Parameter",
"Id": "ParamO",
"Id": "ParamMouthO",
"Segments": [
0,
0,
@ -3308,324 +3308,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0.01,
1,
0.444,
0.023,
0.556,
1,
0.667,
1,
1,
2.2,
1,
3.733,
1,
5.267,
1,
1,
5.411,
1,
5.556,
0,
5.7,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
1,
0.9,
0,
1.8,
0,
2.7,
0,
1,
3.156,
0,
3.611,
1,
4.067,
1,
1,
4.467,
1,
4.867,
1,
5.267,
1,
1,
5.411,
1,
5.556,
0,
5.7,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
1,
0.756,
0,
1.511,
0,
2.267,
0,
0,
3.6,
29.3,
2,
3.633,
0,
0,
4.967,
29.3,
2,
5,
0,
0,
6.333,
29.3,
0,
9.367,
29.3
]
},
{
"Target": "Parameter",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
0,
0.567,
0,
1,
0.8,
13.228,
1.033,
14.173,
1.267,
15,
1,
1.611,
20.079,
1.956,
27.892,
2.3,
30,
0,
9.367,
30
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
1,
1.611,
0,
3.222,
0,
4.833,
0,
1,
4.944,
0,
5.056,
0.3,
5.167,
0.3,
1,
5.333,
0.3,
5.5,
-0.9,
5.667,
-0.9,
0,
9.367,
-0.9
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
1,
0.9,
0,
1.8,
0,
2.7,
0,
1,
3.156,
0,
3.611,
1,
4.067,
1,
0,
9.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2.267,
5,
0,
3.6,
34.3,
2,
3.633,
5,
0,
4.967,
34.3,
2,
5,
5,
0,
6.333,
34.3,
1,
6.344,
34.3,
6.356,
5.15,
6.367,
5,
1,
6.622,
1.548,
6.878,
0,
7.133,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
0.5,
0,
1,
0.744,
0,
0.989,
0.25,
1.233,
0.489,
1,
1.489,
0.735,
1.744,
1,
2,
1,
0,
9.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamSmokeOn",
@ -3863,117 +3545,168 @@
},
{
"Target": "Parameter",
"Id": "ParamRabbitElimination",
"Id": "ParamWandInkColorRainbow",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitAppearance",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitSize",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDraworder",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitEar",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitDirection",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLight",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitLightSize",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitX",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitY",
"Segments": [
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2.267,
5,
0,
3.6,
34.3,
2,
3.633,
5,
0,
4.967,
34.3,
2,
5,
5,
0,
6.333,
34.3,
1,
6.344,
34.3,
6.356,
5.15,
6.367,
5,
1,
6.622,
1.548,
6.878,
0,
7.133,
0,
0,
9.367,
1
0
]
},
{
"Target": "Parameter",
"Id": "ParamRabbitRotate",
"Id": "ParamHeartMissOn",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0.01,
1,
0.444,
0.023,
0.556,
1,
0.667,
1,
1,
2.2,
1,
3.733,
1,
5.267,
1,
1,
5.411,
1,
5.556,
0,
5.7,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartBackMissOn",
"Segments": [
0,
0,
1,
0.9,
0,
1.8,
0,
2.7,
0,
1,
3.156,
0,
3.611,
1,
4.067,
1,
1,
4.467,
1,
4.867,
1,
5.267,
1,
1,
5.411,
1,
5.556,
0,
5.7,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorRainbow",
"Segments": [
0,
0,
1,
0.756,
0,
1.511,
0,
2.267,
0,
0,
3.6,
29.3,
2,
3.633,
0,
0,
4.967,
29.3,
2,
5,
0,
0,
6.333,
29.3,
0,
9.367,
29.3
]
},
{
"Target": "Parameter",
"Id": "ParamWandInkColorHeal",
"Segments": [
0,
0,
@ -3984,7 +3717,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraOn",
"Id": "ParamHeartHealOn",
"Segments": [
0,
0,
@ -3995,7 +3728,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAura",
"Id": "ParamHeartBackHealOn",
"Segments": [
0,
0,
@ -4006,18 +3739,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAuraColor1",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAuraColor2",
"Id": "ParamHeartColorHeal",
"Segments": [
0,
0,
@ -4059,61 +3781,6 @@
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLightOn",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamHealLight",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightOn",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLight",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamStrengthenLightMove",
"Segments": [
0,
0,
0,
9.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMagicPositionX",
@ -4138,7 +3805,120 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor1",
"Id": "ParamWandInk",
"Segments": [
0,
0,
0,
0.5,
0,
1,
0.744,
0,
0.989,
0.25,
1.233,
0.489,
1,
1.489,
0.735,
1.744,
1,
2,
1,
0,
9.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamHeartDrow",
"Segments": [
0,
0,
0,
0.567,
0,
1,
0.8,
13.228,
1.033,
14.173,
1.267,
15,
1,
1.611,
20.079,
1.956,
27.892,
2.3,
30,
0,
9.367,
30
]
},
{
"Target": "Parameter",
"Id": "ParamHeartSize",
"Segments": [
0,
0,
1,
1.611,
0,
3.222,
0,
4.833,
0,
1,
4.944,
0,
5.056,
0.3,
5.167,
0.3,
1,
5.333,
0.3,
5.5,
-0.9,
5.667,
-0.9,
0,
9.367,
-0.9
]
},
{
"Target": "Parameter",
"Id": "ParamHeartColorLight",
"Segments": [
0,
0,
1,
0.9,
0,
1.8,
0,
2.7,
0,
1,
3.156,
0,
3.611,
1,
4.067,
1,
0,
9.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamAllColor",
"Segments": [
0,
0,
@ -4149,7 +3929,7 @@
},
{
"Target": "Parameter",
"Id": "ParamAllColor2",
"Id": "ParamAuraOn",
"Segments": [
0,
0,
@ -4160,7 +3940,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereOn",
"Id": "ParamAura",
"Segments": [
0,
0,
@ -4171,7 +3951,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMove",
"Id": "ParamAuraColor",
"Segments": [
0,
0,
@ -4182,7 +3962,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereMultiplyColor",
"Id": "ParamHealOn",
"Segments": [
0,
0,
@ -4193,7 +3973,7 @@
},
{
"Target": "Parameter",
"Id": "ParamSphereScreenColor",
"Id": "ParamHealLight",
"Segments": [
0,
0,

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 KiB

View File

@ -1,261 +0,0 @@
{
"Version": 3,
"Parameters": [
{
"Id": "PARAM_ANGLE_X",
"GroupId": "",
"Name": "角度 X"
},
{
"Id": "PARAM_ANGLE_Y",
"GroupId": "",
"Name": "角度 Y"
},
{
"Id": "PARAM_ANGLE_Z",
"GroupId": "",
"Name": "角度 Z"
},
{
"Id": "PARAM_EYE_L_OPEN",
"GroupId": "",
"Name": "左眼 開閉"
},
{
"Id": "PARAM_EYE_R_OPEN",
"GroupId": "",
"Name": "右眼 開閉"
},
{
"Id": "PARAM_MOUTH_FORM",
"GroupId": "",
"Name": "口 変形"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"GroupId": "",
"Name": "口 開閉"
},
{
"Id": "PARAM_TERE",
"GroupId": "",
"Name": "照れ"
},
{
"Id": "PARAM_BODY_ANGLE_X",
"GroupId": "",
"Name": "体の回転 X"
},
{
"Id": "PARAM_BODY_ANGLE_Z",
"GroupId": "",
"Name": "体の回転 Z"
},
{
"Id": "PARAM_BODY_ANGLE_Y",
"GroupId": "",
"Name": "体の回転 Y"
},
{
"Id": "PARAM_BREATH",
"GroupId": "",
"Name": "呼吸"
},
{
"Id": "PARAM_BOWL_LID",
"GroupId": "",
"Name": "お椀 ふた"
},
{
"Id": "PARAM_YUGE_01",
"GroupId": "",
"Name": "湯気"
},
{
"Id": "PARAM_YUGE_02",
"GroupId": "",
"Name": "湯気"
},
{
"Id": "PARAM_EFFECT",
"GroupId": "",
"Name": "エフェクト"
},
{
"Id": "PARAM_EAR_L",
"GroupId": "",
"Name": "左耳"
},
{
"Id": "PARAM_EAR_R",
"GroupId": "",
"Name": "右耳"
},
{
"Id": "PARAM_HAND_L",
"GroupId": "",
"Name": "左手"
},
{
"Id": "PARAM_HAND_R",
"GroupId": "",
"Name": "右手"
},
{
"Id": "PARAM_SWING",
"GroupId": "",
"Name": "揺れ"
},
{
"Id": "PARAM_BOWL_SWING",
"GroupId": "",
"Name": "揺れ お椀"
},
{
"Id": "PARAM_FACE_01",
"GroupId": "",
"Name": "どや キリッ"
},
{
"Id": "PARAM_BASE_X",
"GroupId": "",
"Name": "全体の左右"
},
{
"Id": "PARAM_BASE_Y",
"GroupId": "",
"Name": "全体の上下"
}
],
"ParameterGroups": [],
"Parts": [
{
"Id": "PARTS_01_SKETCH",
"Name": "[ 下絵 ]"
},
{
"Id": "PARTS_01_BACKGROUND",
"Name": "背景"
},
{
"Id": "PARTS_01_BOWL",
"Name": "お椀"
},
{
"Id": "PARTS_01_BODY",
"Name": "体"
},
{
"Id": "PARTS_01_EAR_001",
"Name": "耳"
},
{
"Id": "PARTS_01_NOSE_001",
"Name": "鼻"
},
{
"Id": "PARTS_01_MOUTH_001",
"Name": "口"
},
{
"Id": "PARTS_01_BROW_001",
"Name": "まゆ毛"
},
{
"Id": "PARTS_01_EYE_BALL_001",
"Name": "目玉"
},
{
"Id": "PARTS_01_EYE_001",
"Name": "目"
},
{
"Id": "PARTS_01_FACE_001",
"Name": "顔"
},
{
"Id": "PARTS_01_HOHO",
"Name": "頬"
},
{
"Id": "PARTS_01_EFFECT",
"Name": "エフェクト"
},
{
"Id": "PARTS_01_ITEM_16",
"Name": "蕎麦6杯目"
},
{
"Id": "PARTS_01_ITEM_15",
"Name": "ベニテングタケ"
},
{
"Id": "PARTS_01_ITEM_14",
"Name": "蕎麦5杯目"
},
{
"Id": "PARTS_01_ITEM_13",
"Name": "しいたけ"
},
{
"Id": "PARTS_01_ITEM_12",
"Name": "みかん"
},
{
"Id": "PARTS_01_ITEM_11",
"Name": "蕎麦4杯目"
},
{
"Id": "PARTS_01_ITEM_10",
"Name": "王冠"
},
{
"Id": "PARTS_01_ITEM_09",
"Name": "まゆげ"
},
{
"Id": "PARTS_01_ITEM_08",
"Name": "蕎麦3杯目"
},
{
"Id": "PARTS_01_ITEM_07",
"Name": "アフロ"
},
{
"Id": "PARTS_01_ITEM_06",
"Name": "リボン"
},
{
"Id": "PARTS_01_ITEM_05",
"Name": "蕎麦2杯目"
},
{
"Id": "PARTS_01_ITEM_04",
"Name": "星"
},
{
"Id": "PARTS_01_ITEM_03",
"Name": "ひげ"
},
{
"Id": "PARTS_01_ITEM_02",
"Name": "蕎麦1杯目"
},
{
"Id": "PARTS_01_ITEM_01",
"Name": "たんぽぽ"
},
{
"Id": "PARTS_01_CORE_ITEM",
"Name": "コア アイテム"
},
{
"Id": "PARTS_01_CORE",
"Name": "コア"
},
{
"Id": "ROUGH",
"Name": "ラフ"
}
]
}

Binary file not shown.

View File

@ -1,55 +0,0 @@
{
"Version": 3,
"FileReferences": {
"Moc": "Wanko.moc3",
"Textures": [
"Wanko.1024/texture_00.png"
],
"Physics": "Wanko.physics3.json",
"DisplayInfo": "Wanko.cdi3.json",
"Motions": {
"Idle": [
{
"File": "motions/idle_01.motion3.json"
},
{
"File": "motions/idle_03.motion3.json"
},
{
"File": "motions/idle_04.motion3.json"
}
],
"TapBody": [
{
"File": "motions/touch_02.motion3.json"
},
{
"File": "motions/touch_04.motion3.json"
}
]
}
},
"Groups": [
{
"Target": "Parameter",
"Name": "EyeBlink",
"Ids": [
"PARAM_EYE_L_OPEN",
"PARAM_EYE_R_OPEN"
]
},
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"PARAM_MOUTH_OPEN_Y"
]
}
],
"HitAreas": [
{
"Id": "HitArea",
"Name": "Body"
}
]
}

View File

@ -1,373 +0,0 @@
{
"Version": 3,
"Meta": {
"PhysicsSettingCount": 4,
"TotalInputCount": 14,
"TotalOutputCount": 4,
"VertexCount": 8,
"EffectiveForces": {
"Gravity": {
"X": 0,
"Y": -1
},
"Wind": {
"X": 0,
"Y": 0
}
},
"PhysicsDictionary": [
{
"Id": "PhysicsSetting1",
"Name": "お椀揺れ"
},
{
"Id": "PhysicsSetting2",
"Name": "揺れ"
},
{
"Id": "PhysicsSetting3",
"Name": "右耳"
},
{
"Id": "PhysicsSetting4",
"Name": "左耳"
}
]
},
"PhysicsSettings": [
{
"Id": "PhysicsSetting1",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X"
},
"Weight": 100,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 3
},
"Mobility": 0.8,
"Delay": 0.9,
"Acceleration": 1.5,
"Radius": 3
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting2",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y"
},
"Weight": 100,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_SWING"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 5
},
"Mobility": 0.85,
"Delay": 0.9,
"Acceleration": 1,
"Radius": 5
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting3",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_X"
},
"Weight": 50,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y"
},
"Weight": 20,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X"
},
"Weight": 30,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_EAR_R"
},
"VertexIndex": 1,
"Scale": 1.5,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 5.5
},
"Mobility": 0.95,
"Delay": 0.9,
"Acceleration": 1.5,
"Radius": 5.5
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting4",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_X"
},
"Weight": 50,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y"
},
"Weight": 20,
"Type": "X",
"Reflect": true
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X"
},
"Weight": 30,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_EAR_L"
},
"VertexIndex": 1,
"Scale": 1.5,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 5.5
},
"Mobility": 0.95,
"Delay": 0.9,
"Acceleration": 1.5,
"Radius": 5.5
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
}
]
}

View File

@ -1,699 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 5.967,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 85,
"TotalPointCount": 233,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
-1,
1,
0.222,
-1,
0.444,
0,
0.667,
0,
1,
0.911,
0,
1.156,
-1,
1.4,
-1,
1,
1.622,
-1,
1.844,
0,
2.067,
0,
1,
2.322,
0,
2.578,
-1,
2.833,
-1,
1,
3.067,
-1,
3.3,
0,
3.533,
0,
1,
3.844,
0,
4.156,
-1,
4.467,
-1,
1,
4.656,
-1,
4.844,
0,
5.033,
0,
1,
5.333,
0,
5.633,
-1,
5.933,
-1,
0,
5.967,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
14,
1,
0.222,
14,
0.444,
-8,
0.667,
-8,
1,
0.911,
-8,
1.156,
14,
1.4,
14,
1,
1.622,
14,
1.844,
-13,
2.067,
-13,
1,
2.322,
-13,
2.578,
14,
2.833,
14,
1,
3.067,
14,
3.3,
-8,
3.533,
-8,
1,
3.844,
-8,
4.156,
14,
4.467,
14,
1,
4.656,
14,
4.844,
-13,
5.033,
-13,
1,
5.333,
-13,
5.633,
14,
5.933,
14,
0,
5.967,
14
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
-10,
1,
0.467,
-10,
0.933,
13,
1.4,
13,
1,
1.878,
13,
2.356,
-10,
2.833,
-10,
1,
3.378,
-10,
3.922,
13,
4.467,
13,
1,
4.956,
13,
5.444,
-10,
5.933,
-10,
0,
5.967,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1,
1,
1.922,
1,
1.978,
0,
2.033,
0,
1,
2.133,
0,
2.233,
1,
2.333,
1,
1,
3.533,
1,
4.733,
1,
5.933,
1,
0,
5.967,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1,
1,
1.922,
1,
1.978,
0,
2.033,
0,
1,
2.133,
0,
2.233,
1,
2.333,
1,
1,
3.533,
1,
4.733,
1,
5.933,
1,
0,
5.967,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1,
1,
1.922,
1,
1.978,
0,
2.033,
0,
1,
2.133,
0,
2.233,
1,
2.333,
1,
1,
3.044,
1,
3.756,
1,
4.467,
1,
1,
4.656,
1,
4.844,
0,
5.033,
0,
1,
5.333,
0,
5.633,
1,
5.933,
1,
0,
5.967,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
-2,
1,
0.467,
-2,
0.933,
2,
1.4,
2,
1,
1.878,
2,
2.356,
-2,
2.833,
-2,
1,
3.378,
-2,
3.922,
4,
4.467,
4,
1,
4.956,
4,
5.444,
-2,
5.933,
-2,
0,
5.967,
-2
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
-5,
1,
0.467,
-5,
0.933,
6,
1.4,
6,
1,
1.878,
6,
2.356,
-5,
2.833,
-5,
1,
3.378,
-5,
3.922,
6,
4.467,
6,
1,
4.956,
6,
5.444,
-5,
5.933,
-5,
0,
5.967,
-5
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
1.978,
50,
3.956,
50,
5.933,
50,
0,
5.967,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.267,
0,
0.533,
0,
0.8,
0,
1,
0.867,
0,
0.933,
0.82,
1,
0.82,
1,
1.056,
0.82,
1.111,
-0.72,
1.167,
-0.72,
1,
1.222,
-0.72,
1.278,
0.23,
1.333,
0.23,
1,
1.356,
0.23,
1.378,
0,
1.4,
0,
1,
2.156,
0,
2.911,
0,
3.667,
0,
1,
3.722,
0,
3.778,
0.82,
3.833,
0.82,
1,
3.889,
0.82,
3.944,
-0.72,
4,
-0.72,
1,
4.056,
-0.72,
4.111,
0.23,
4.167,
0.23,
1,
4.2,
0.23,
4.233,
0,
4.267,
0,
1,
4.822,
0,
5.378,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
1.978,
0,
3.956,
0,
5.933,
0,
0,
5.967,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
5.967,
0
]
}
]
}

View File

@ -1,818 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 6.933,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 102,
"TotalPointCount": 284,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
0,
1,
1.167,
0,
1.433,
-2,
1.7,
-2,
1,
1.889,
-2,
2.078,
-2,
2.267,
-2,
1,
2.633,
-2,
3,
0,
3.367,
0,
1,
3.567,
0,
3.767,
0,
3.967,
0,
1,
4.322,
0,
4.678,
0,
5.033,
0,
1,
5.156,
0,
5.278,
0,
5.4,
0,
1,
5.9,
0,
6.4,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
0,
1,
1.167,
0,
1.433,
15,
1.7,
15,
1,
1.889,
15,
2.078,
15,
2.267,
15,
1,
2.633,
15,
3,
0,
3.367,
0,
1,
3.567,
0,
3.767,
0,
3.967,
0,
1,
4.322,
0,
4.678,
0,
5.033,
0,
1,
5.078,
0,
5.122,
11,
5.167,
11,
1,
5.244,
11,
5.322,
0,
5.4,
0,
1,
5.9,
0,
6.4,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
0,
1,
1.167,
0,
1.433,
23,
1.7,
23,
1,
1.889,
23,
2.078,
23,
2.267,
23,
1,
2.633,
23,
3,
-7,
3.367,
-7,
1,
3.567,
-7,
3.767,
0,
3.967,
0,
1,
4.322,
0,
4.678,
0,
5.033,
0,
1,
5.656,
0,
6.278,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.444,
1,
0.889,
1,
1.333,
1,
1,
1.367,
1,
1.4,
0,
1.433,
0,
1,
1.5,
0,
1.567,
1,
1.633,
1,
1,
2.856,
1,
4.078,
1,
5.3,
1,
1,
5.333,
1,
5.367,
0,
5.4,
0,
1,
5.467,
0,
5.533,
1,
5.6,
1,
0,
6.933,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.444,
1,
0.889,
1,
1.333,
1,
1,
1.367,
1,
1.4,
0,
1.433,
0,
1,
1.5,
0,
1.567,
1,
1.633,
1,
1,
2.856,
1,
4.078,
1,
5.3,
1,
1,
5.333,
1,
5.367,
0,
5.4,
0,
1,
5.467,
0,
5.533,
1,
5.6,
1,
0,
6.933,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
1,
1,
0.978,
1,
1.956,
1,
2.933,
1,
1,
3.078,
1,
3.222,
0,
3.367,
0,
1,
3.8,
0,
4.233,
0,
4.667,
0,
1,
4.789,
0,
4.911,
0,
5.033,
0,
1,
5.111,
0,
5.189,
1,
5.267,
1,
1,
5.4,
1,
5.533,
0,
5.667,
0,
1,
5.911,
0,
6.156,
0,
6.4,
0,
1,
6.567,
0,
6.733,
1,
6.9,
1,
0,
6.933,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
0,
1,
2.278,
0,
3.656,
0,
5.033,
0,
1,
5.656,
0,
6.278,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
0,
1,
1.167,
0,
1.433,
10,
1.7,
10,
1,
1.889,
10,
2.078,
10,
2.267,
10,
1,
2.833,
10,
3.4,
0,
3.967,
0,
1,
4.322,
0,
4.678,
0,
5.033,
0,
1,
5.656,
0,
6.278,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
2,
0.333,
2,
1,
0.522,
2,
0.711,
0,
0.9,
0,
1,
1.011,
0,
1.122,
8,
1.233,
8,
1,
1.389,
8,
1.544,
0,
1.7,
0,
1,
1.889,
0,
2.078,
0,
2.267,
0,
1,
2.489,
0,
2.711,
3,
2.933,
3,
1,
3.078,
3,
3.222,
0,
3.367,
0,
1,
3.567,
0,
3.767,
0,
3.967,
0,
1,
4.2,
0,
4.433,
2,
4.667,
2,
1,
4.789,
2,
4.911,
0,
5.033,
0,
1,
5.078,
0,
5.122,
8,
5.167,
8,
1,
5.244,
8,
5.322,
-2,
5.4,
-2,
1,
5.456,
-2,
5.511,
1,
5.567,
1,
1,
5.6,
1,
5.633,
0,
5.667,
0,
1,
5.789,
0,
5.911,
0,
6.033,
0,
1,
6.156,
0,
6.278,
3,
6.4,
3,
1,
6.567,
3,
6.733,
0,
6.9,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
0,
6.933,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
1.656,
0,
3.311,
0,
4.967,
0,
1,
5.011,
0,
5.056,
-0.57,
5.1,
-0.57,
1,
5.167,
-0.57,
5.233,
0.55,
5.3,
0.55,
1,
5.367,
0.55,
5.433,
-0.24,
5.5,
-0.24,
1,
5.556,
-0.24,
5.611,
0,
5.667,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
1.656,
0,
3.311,
0,
4.967,
0,
1,
5.011,
0,
5.056,
0.5,
5.1,
0.5,
1,
5.167,
0.5,
5.233,
-0.64,
5.3,
-0.64,
1,
5.367,
-0.64,
5.433,
0.18,
5.5,
0.18,
1,
5.556,
0.18,
5.611,
0,
5.667,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
0,
6.933,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
6.933,
0
]
}
]
}

View File

@ -1,783 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 6.7,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 97,
"TotalPointCount": 269,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
-14,
1.133,
-14,
1,
1.344,
-14,
1.556,
-14,
1.767,
-14,
1,
2.189,
-14,
2.611,
-14,
3.033,
-14,
1,
3.8,
-14,
4.567,
-14,
5.333,
-14,
1,
5.678,
-14,
6.022,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
16,
1.133,
16,
1,
1.344,
16,
1.556,
16,
1.767,
16,
1,
2.956,
16,
4.144,
16,
5.333,
16,
1,
5.678,
16,
6.022,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
0,
1.133,
0,
1,
1.344,
0,
1.556,
0,
1.767,
0,
1,
2.956,
0,
4.144,
0,
5.333,
0,
1,
5.678,
0,
6.022,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.478,
1,
0.956,
1,
1.433,
1,
1,
1.544,
1,
1.656,
0,
1.767,
0,
1,
2.022,
0,
2.278,
0,
2.533,
0,
1,
2.689,
0,
2.844,
0,
3,
0,
1,
3.111,
0,
3.222,
1,
3.333,
1,
1,
4,
1,
4.667,
1,
5.333,
1,
1,
5.456,
1,
5.578,
1,
5.7,
1,
1,
5.733,
1,
5.767,
0,
5.8,
0,
1,
5.867,
0,
5.933,
1,
6,
1,
0,
6.7,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.478,
1,
0.956,
1,
1.433,
1,
1,
1.544,
1,
1.656,
0,
1.767,
0,
1,
2.022,
0,
2.278,
0,
2.533,
0,
1,
2.689,
0,
2.844,
0,
3,
0,
1,
3.111,
0,
3.222,
1,
3.333,
1,
1,
4,
1,
4.667,
1,
5.333,
1,
1,
5.456,
1,
5.578,
1,
5.7,
1,
1,
5.733,
1,
5.767,
0,
5.8,
0,
1,
5.867,
0,
5.933,
1,
6,
1,
0,
6.7,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
1.422,
0,
2.844,
0,
4.267,
0,
1,
4.378,
0,
4.489,
0.6,
4.6,
0.6,
1,
4.733,
0.6,
4.867,
0,
5,
0,
1,
5.456,
0,
5.911,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
-9,
1.133,
-9,
1,
2.533,
-9,
3.933,
-9,
5.333,
-9,
1,
5.678,
-9,
6.022,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.622,
0,
0.878,
-2,
1.133,
-2,
1,
2.533,
-2,
3.933,
0,
5.333,
0,
1,
5.678,
0,
6.022,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
4,
0.367,
4,
1,
0.511,
4,
0.656,
-1,
0.8,
-1,
1,
0.856,
-1,
0.911,
1,
0.967,
1,
1,
1.044,
1,
1.122,
0,
1.2,
0,
1,
1.389,
0,
1.578,
0,
1.767,
0,
1,
1.8,
0,
1.833,
2,
1.867,
2,
1,
1.911,
2,
1.956,
0,
2,
0,
1,
2.044,
0,
2.089,
1,
2.133,
1,
1,
2.178,
1,
2.222,
0,
2.267,
0,
1,
2.622,
0,
2.978,
0,
3.333,
0,
1,
3.511,
0,
3.689,
0,
3.867,
0,
1,
4,
0,
4.133,
-1,
4.267,
-1,
1,
4.411,
-1,
4.556,
2,
4.7,
2,
1,
4.911,
2,
5.122,
1.884,
5.333,
0,
1,
5.489,
-1.388,
5.644,
-5,
5.8,
-5,
1,
5.989,
-5,
6.178,
0,
6.367,
0,
1,
6.467,
0,
6.567,
0,
6.667,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
1.778,
50,
3.556,
50,
5.333,
50,
0,
6.7,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
1.778,
0,
3.556,
0,
5.333,
0,
0,
6.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
6.7,
0
]
}
]
}

View File

@ -1,636 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 10.367,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 76,
"TotalPointCount": 206,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
2.533,
0,
5.067,
-1,
7.6,
-1,
1,
8.511,
-1,
9.422,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
12,
1,
12,
1,
1.6,
12,
2.2,
-1.589,
2.8,
-1.589,
1,
3.178,
-1.589,
3.556,
12,
3.933,
12,
1,
4.656,
12,
5.378,
-1.589,
6.1,
-1.589,
1,
6.489,
-1.589,
6.878,
13.71,
7.267,
13.71,
1,
7.378,
13.71,
7.489,
-23,
7.6,
-23,
1,
7.678,
-23,
7.756,
-7.683,
7.833,
-7.683,
1,
7.933,
-7.683,
8.033,
-10.837,
8.133,
-10.837,
1,
8.867,
-10.837,
9.6,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
-8,
1,
0.333,
-8,
0.667,
9,
1,
9,
1,
1.6,
9,
2.2,
-11,
2.8,
-11,
1,
3.178,
-11,
3.556,
9,
3.933,
9,
1,
4.656,
9,
5.378,
-11,
6.1,
-11,
1,
6.489,
-11,
6.878,
5,
7.267,
5,
1,
7.378,
5,
7.489,
-9,
7.6,
-9,
1,
7.678,
-9,
7.756,
-1,
7.833,
-1,
1,
7.933,
-1,
8.033,
-7,
8.133,
-7,
1,
8.478,
-7,
8.822,
2,
9.167,
2,
1,
9.556,
2,
9.944,
-8,
10.333,
-8,
0,
10.367,
-8
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0.42,
1,
0.42,
1,
1.6,
0.42,
2.2,
0,
2.8,
0,
1,
3.178,
0,
3.556,
0.42,
3.933,
0.42,
1,
4.656,
0.42,
5.378,
0,
6.1,
0,
1,
6.489,
0,
6.878,
0.35,
7.267,
0.35,
1,
7.6,
0.35,
7.933,
0,
8.267,
0,
1,
8.567,
0,
8.867,
0.34,
9.167,
0.34,
1,
9.556,
0.34,
9.944,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
2.422,
0,
4.844,
0,
7.267,
0,
1,
7.378,
0,
7.489,
-6,
7.6,
-6,
1,
7.778,
-6,
7.956,
-6,
8.133,
-6,
1,
8.867,
-6,
9.6,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0.64,
1,
0.64,
1,
1.6,
0.64,
2.2,
0,
2.8,
0,
1,
3.178,
0,
3.556,
0.73,
3.933,
0.73,
1,
4.656,
0.73,
5.378,
0,
6.1,
0,
1,
6.489,
0,
6.878,
0.73,
7.267,
0.73,
1,
7.556,
0.73,
7.844,
0,
8.133,
0,
1,
8.478,
0,
8.822,
0.39,
9.167,
0.39,
1,
9.556,
0.39,
9.944,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
3.444,
50,
6.889,
50,
10.333,
50,
0,
10.367,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
3.444,
0,
6.889,
0,
10.333,
0,
0,
10.367,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
10.367,
0
]
}
]
}

View File

@ -1,748 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2.5,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 92,
"TotalPointCount": 254,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
-9,
1,
0.044,
-9,
0.089,
-7.426,
0.133,
0,
1,
0.2,
11.14,
0.267,
20,
0.333,
20,
1,
0.456,
20,
0.578,
-18,
0.7,
-18,
1,
0.822,
-18,
0.944,
16,
1.067,
16,
1,
1.178,
16,
1.289,
-8,
1.4,
-8,
1,
1.489,
-8,
1.578,
0,
1.667,
0,
1,
1.933,
0,
2.2,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
14,
1,
0.044,
14,
0.089,
30,
0.133,
30,
1,
0.2,
30,
0.267,
30,
0.333,
30,
1,
0.456,
30,
0.578,
23.223,
0.7,
13,
1,
0.822,
2.777,
0.944,
-1,
1.067,
-1,
1,
1.178,
-1,
1.289,
3,
1.4,
3,
1,
1.489,
3,
1.578,
0,
1.667,
0,
1,
1.933,
0,
2.2,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
30,
0.4,
30,
1,
0.522,
30,
0.644,
-25,
0.767,
-25,
1,
0.889,
-25,
1.011,
26,
1.133,
26,
1,
1.222,
26,
1.311,
-10,
1.4,
-10,
1,
1.544,
-10,
1.689,
0,
1.833,
0,
1,
2.044,
0,
2.256,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
0,
1.133,
0,
1,
1.311,
0,
1.489,
1,
1.667,
1,
1,
1.933,
1,
2.2,
1,
2.467,
1,
0,
2.5,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
0,
1.133,
0,
1,
1.311,
0,
1.489,
1,
1.667,
1,
1,
1.933,
1,
2.2,
1,
2.467,
1,
0,
2.5,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
1,
1,
0.822,
1,
1.644,
1,
2.467,
1,
0,
2.5,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
4,
0.333,
4,
1,
0.456,
4,
0.578,
-4,
0.7,
-4,
1,
0.822,
-4,
0.944,
3,
1.067,
3,
1,
1.178,
3,
1.289,
-1,
1.4,
-1,
1,
1.489,
-1,
1.578,
0,
1.667,
0,
1,
1.767,
0,
1.867,
0,
1.967,
0,
1,
2.133,
0,
2.3,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
10,
0.4,
10,
1,
0.522,
10,
0.644,
-10,
0.767,
-10,
1,
0.889,
-10,
1.011,
5,
1.133,
5,
1,
1.222,
5,
1.311,
-3,
1.4,
-3,
1,
1.511,
-3,
1.622,
1,
1.733,
1,
1,
1.978,
1,
2.222,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.578,
0,
1.156,
0,
1.733,
0,
1,
1.978,
0,
2.222,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.822,
50,
1.644,
50,
2.467,
50,
0,
2.5,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
-1,
0.133,
-1,
1,
0.222,
-1,
0.311,
1,
0.4,
1,
1,
0.511,
1,
0.622,
-1,
0.733,
-1,
1,
0.811,
-1,
0.889,
1,
0.967,
1,
1,
1.067,
1,
1.167,
-1,
1.267,
-1,
1,
1.367,
-1,
1.467,
1,
1.567,
1,
1,
1.667,
1,
1.767,
-0.35,
1.867,
-0.35,
1,
1.922,
-0.35,
1.978,
0.08,
2.033,
0.08,
1,
2.1,
0.08,
2.167,
-0.08,
2.233,
-0.08,
1,
2.311,
-0.08,
2.389,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
-0.96,
0.133,
-0.96,
1,
0.222,
-0.96,
0.311,
1,
0.4,
1,
1,
0.511,
1,
0.622,
-1,
0.733,
-1,
1,
0.811,
-1,
0.889,
1,
0.967,
1,
1,
1.067,
1,
1.167,
-1,
1.267,
-1,
1,
1.367,
-1,
1.467,
1,
1.567,
1,
1,
1.667,
1,
1.767,
-0.32,
1.867,
-0.32,
1,
1.922,
-0.32,
1.978,
0.07,
2.033,
0.07,
1,
2.1,
0.07,
2.167,
-0.08,
2.233,
-0.08,
1,
2.311,
-0.08,
2.389,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
0,
2.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2.5,
0
]
}
]
}

View File

@ -1,867 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2.533,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 109,
"TotalPointCount": 305,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.411,
0,
0.489,
0,
0.567,
0,
1,
0.656,
0,
0.744,
0,
0.833,
0,
1,
1.389,
0,
1.944,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
30,
1,
0.111,
30,
0.222,
30,
0.333,
30,
1,
0.411,
30,
0.489,
30,
0.567,
30,
1,
0.656,
30,
0.744,
30,
0.833,
30,
1,
1.389,
30,
1.944,
30,
2.5,
30,
0,
2.533,
30
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.033,
0,
0.067,
-30,
0.1,
-30,
1,
0.211,
-30,
0.322,
30,
0.433,
30,
1,
0.511,
30,
0.589,
-11,
0.667,
-11,
1,
0.756,
-11,
0.844,
30,
0.933,
30,
1,
1.011,
30,
1.089,
-14,
1.167,
-14,
1,
1.256,
-14,
1.344,
9,
1.433,
9,
1,
1.522,
9,
1.611,
-4,
1.7,
-4,
1,
1.8,
-4,
1.9,
0,
2,
0,
1,
2.167,
0,
2.333,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.844,
0,
1.122,
0,
1.4,
0,
1,
1.456,
0,
1.511,
1,
1.567,
1,
1,
1.878,
1,
2.189,
1,
2.5,
1,
0,
2.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.844,
0,
1.122,
0,
1.4,
0,
1,
1.456,
0,
1.511,
1,
1.567,
1,
1,
1.878,
1,
2.189,
1,
2.5,
1,
0,
2.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.811,
0,
1.056,
0,
1.3,
0,
1,
1.333,
0,
1.367,
1,
1.4,
1,
1,
1.444,
1,
1.489,
0,
1.533,
0,
1,
1.856,
0,
2.178,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
1.211,
0,
1.856,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
-10,
1,
0.111,
-10,
0.222,
10,
0.333,
10,
1,
0.411,
10,
0.489,
-10,
0.567,
-10,
1,
0.656,
-10,
0.744,
10,
0.833,
10,
1,
0.956,
10,
1.078,
-3,
1.2,
-3,
1,
1.333,
-3,
1.467,
-3,
1.6,
-3,
1,
1.722,
-3,
1.844,
0,
1.967,
0,
1,
2.144,
0,
2.322,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
10,
1,
0.067,
10,
0.133,
-2,
0.2,
-2,
1,
0.244,
-2,
0.289,
-2.18,
0.333,
0,
1,
0.411,
3.815,
0.489,
10,
0.567,
10,
1,
0.622,
10,
0.678,
-2,
0.733,
-2,
1,
0.767,
-2,
0.8,
-1.988,
0.833,
0,
1,
0.922,
5.303,
1.011,
10,
1.1,
10,
1,
1.167,
10,
1.233,
-2,
1.3,
-2,
1,
1.333,
-2,
1.367,
2,
1.4,
2,
1,
1.444,
2,
1.489,
0,
1.533,
0,
1,
1.856,
0,
2.178,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.833,
0,
1.667,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.833,
50,
1.667,
50,
2.5,
50,
0,
2.533,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.833,
0,
1.667,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.833,
0,
1.667,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.833,
0,
1.667,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0.65,
0.133,
0.65,
1,
0.211,
0.65,
0.289,
-0.76,
0.367,
-0.76,
1,
0.467,
-0.76,
0.567,
1,
0.667,
1,
1,
0.778,
1,
0.889,
-1,
1,
-1,
1,
1.089,
-1,
1.178,
1,
1.267,
1,
1,
1.333,
1,
1.4,
0,
1.467,
0,
1,
1.522,
0,
1.578,
1,
1.633,
1,
1,
1.711,
1,
1.789,
-0.96,
1.867,
-0.96,
1,
1.922,
-0.96,
1.978,
0.17,
2.033,
0.17,
1,
2.1,
0.17,
2.167,
0,
2.233,
0,
1,
2.322,
0,
2.411,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0.81,
0.133,
0.81,
1,
0.211,
0.81,
0.289,
-1,
0.367,
-1,
1,
0.467,
-1,
0.567,
1,
0.667,
1,
1,
0.778,
1,
0.889,
-1,
1,
-1,
1,
1.089,
-1,
1.178,
1,
1.267,
1,
1,
1.333,
1,
1.4,
0.721,
1.467,
0,
1,
1.522,
-0.601,
1.578,
-1,
1.633,
-1,
1,
1.711,
-1,
1.789,
1,
1.867,
1,
1,
1.922,
1,
1.978,
-0.16,
2.033,
-0.16,
1,
2.1,
-0.16,
2.167,
0,
2.233,
0,
1,
2.322,
0,
2.411,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.822,
0,
1.078,
0,
1.333,
0,
1,
1.378,
0,
1.422,
1,
1.467,
1,
1,
1.5,
1,
1.533,
0,
1.567,
0,
1,
1.878,
0,
2.189,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.822,
0,
1.078,
0,
1.333,
0,
1,
1.378,
0,
1.422,
1,
1.467,
1,
1,
1.5,
1,
1.533,
0,
1.567,
0,
1,
1.878,
0,
2.189,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.833,
0,
1.667,
0,
2.5,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2.533,
0
]
}
]
}

View File

@ -1,594 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 70,
"TotalPointCount": 188,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.622,
0,
0.878,
0,
1.133,
0,
1,
1.411,
0,
1.689,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.422,
0,
0.478,
30,
0.533,
30,
1,
0.633,
30,
0.733,
0,
0.833,
0,
1,
0.933,
0,
1.033,
0,
1.133,
0,
1,
1.411,
0,
1.689,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.522,
0,
0.678,
30,
0.833,
30,
1,
0.933,
30,
1.033,
30,
1.133,
30,
1,
1.411,
30,
1.689,
30,
1.967,
30,
0,
2,
30
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.656,
1,
1.311,
1,
1.967,
1,
0,
2,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.656,
1,
1.311,
1,
1.967,
1,
0,
2,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
1,
1,
0.656,
1,
1.311,
1,
1.967,
1,
0,
2,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.522,
0,
0.678,
2,
0.833,
2,
1,
0.933,
2,
1.033,
2,
1.133,
2,
1,
1.411,
2,
1.689,
2,
1.967,
2,
0,
2,
2
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.378,
0,
0.756,
0,
1.133,
0,
1,
1.411,
0,
1.689,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.422,
0,
0.478,
6,
0.533,
6,
1,
0.633,
6,
0.733,
0,
0.833,
0,
1,
0.933,
0,
1.033,
0,
1.133,
0,
1,
1.411,
0,
1.689,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.656,
50,
1.311,
50,
1.967,
50,
0,
2,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.444,
0,
0.522,
1,
0.6,
1,
1,
0.667,
1,
0.733,
-1,
0.8,
-1,
1,
0.856,
-1,
0.911,
0.31,
0.967,
0.31,
1,
1.022,
0.31,
1.078,
-0.2,
1.133,
-0.2,
1,
1.2,
-0.2,
1.267,
0,
1.333,
0,
1,
1.544,
0,
1.756,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.444,
0,
0.522,
-1,
0.6,
-1,
1,
0.667,
-1,
0.733,
1,
0.8,
1,
1,
0.856,
1,
0.911,
-0.34,
0.967,
-0.34,
1,
1.022,
-0.34,
1.078,
0.16,
1.133,
0.16,
1,
1.2,
0.16,
1.267,
0,
1.333,
0,
1,
1.544,
0,
1.756,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2,
0
]
}
]
}

View File

@ -1,699 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 85,
"TotalPointCount": 233,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
0,
0.5,
0,
1,
0.589,
0,
0.678,
0,
0.767,
0,
1,
0.878,
0,
0.989,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
25,
0.5,
25,
1,
0.589,
25,
0.678,
0,
0.767,
0,
1,
0.878,
0,
0.989,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
7,
0.5,
7,
1,
0.589,
7,
0.678,
0,
0.767,
0,
1,
0.878,
0,
0.989,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.589,
0,
0.844,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.589,
0,
0.844,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
7,
0.5,
7,
1,
0.589,
7,
0.678,
-3,
0.767,
-3,
1,
0.833,
-3,
0.9,
1,
0.967,
1,
1,
1.011,
1,
1.056,
-1,
1.1,
-1,
1,
1.178,
-1,
1.256,
0,
1.333,
0,
1,
1.544,
0,
1.756,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
8,
0.5,
8,
1,
0.589,
8,
0.678,
-3,
0.767,
-3,
1,
0.833,
-3,
0.9,
1,
0.967,
1,
1,
1.011,
1,
1.056,
-1,
1.1,
-1,
1,
1.178,
-1,
1.256,
0,
1.333,
0,
1,
1.544,
0,
1.756,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.656,
50,
1.311,
50,
1.967,
50,
0,
2,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.422,
0,
0.511,
1,
0.6,
1,
1,
0.678,
1,
0.756,
-1,
0.833,
-1,
1,
0.911,
-1,
0.989,
0.67,
1.067,
0.67,
1,
1.122,
0.67,
1.178,
-0.48,
1.233,
-0.48,
1,
1.3,
-0.48,
1.367,
0,
1.433,
0,
1,
1.611,
0,
1.789,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.422,
0,
0.511,
-1,
0.6,
-1,
1,
0.678,
-1,
0.756,
1,
0.833,
1,
1,
0.911,
1,
0.989,
-0.53,
1.067,
-0.53,
1,
1.122,
-0.53,
1.178,
0.47,
1.233,
0.47,
1,
1.3,
0.47,
1.367,
0,
1.433,
0,
1,
1.611,
0,
1.789,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.589,
0,
0.844,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.589,
0,
0.844,
0,
1.1,
0,
1,
1.389,
0,
1.678,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2,
0
]
}
]
}

View File

@ -1,643 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 77,
"TotalPointCount": 209,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
-3,
1,
0.133,
-3,
0.267,
-3,
0.4,
-3,
1,
0.467,
-3,
0.533,
17,
0.6,
17,
1,
0.656,
17,
0.711,
-22,
0.767,
-22,
1,
0.833,
-22,
0.9,
9,
0.967,
9,
1,
1.033,
9,
1.1,
0,
1.167,
0,
1,
1.433,
0,
1.7,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
15,
1,
0.133,
15,
0.267,
15,
0.4,
15,
1,
0.467,
15,
0.533,
17,
0.6,
17,
1,
0.789,
17,
0.978,
0,
1.167,
0,
1,
1.433,
0,
1.7,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.922,
0,
1.444,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.922,
0,
1.444,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
1,
1,
0.656,
1,
1.311,
1,
1.967,
1,
0,
2,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.467,
0,
0.533,
-3,
0.6,
-3,
1,
0.656,
-3,
0.711,
2,
0.767,
2,
1,
0.833,
2,
0.9,
-1,
0.967,
-1,
1,
1.033,
-1,
1.1,
0,
1.167,
0,
1,
1.433,
0,
1.7,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.467,
0,
0.533,
7,
0.6,
7,
1,
0.656,
7,
0.711,
-2,
0.767,
-2,
1,
0.833,
-2,
0.9,
1,
0.967,
1,
1,
1.033,
1,
1.1,
0,
1.167,
0,
1,
1.433,
0,
1.7,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.656,
0,
0.911,
-3,
1.167,
-3,
1,
1.433,
-3,
1.7,
-3,
1.967,
-3,
0,
2,
-3
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.656,
50,
1.311,
50,
1.967,
50,
0,
2,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.611,
0,
0.656,
1,
0.7,
1,
1,
0.767,
1,
0.833,
-0.94,
0.9,
-0.94,
1,
0.956,
-0.94,
1.011,
0.49,
1.067,
0.49,
1,
1.144,
0.49,
1.222,
-0.4,
1.3,
-0.4,
1,
1.367,
-0.4,
1.433,
0,
1.5,
0,
1,
1.656,
0,
1.811,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
0,
0.567,
0,
1,
0.611,
0,
0.656,
-1,
0.7,
-1,
1,
0.767,
-1,
0.833,
1,
0.9,
1,
1,
0.956,
1,
1.011,
-0.43,
1.067,
-0.43,
1,
1.144,
-0.43,
1.222,
0.34,
1.3,
0.34,
1,
1.367,
0.34,
1.433,
0,
1.5,
0,
1,
1.656,
0,
1.811,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.922,
0,
1.444,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.922,
0,
1.444,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2,
0
]
}
]
}

View File

@ -1,615 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 2,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 73,
"TotalPointCount": 197,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.5,
0,
0.567,
0,
0.633,
0,
1,
0.844,
0,
1.056,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.5,
0,
0.567,
-11,
0.633,
-11,
1,
0.733,
-11,
0.833,
10,
0.933,
10,
1,
1.044,
10,
1.156,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.711,
0,
0.989,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.711,
0,
0.989,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.6,
0,
0.767,
0,
0.933,
0,
1,
1.044,
0,
1.156,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.5,
0,
0.567,
-6,
0.633,
-6,
1,
0.733,
-6,
0.833,
4,
0.933,
4,
1,
1.044,
4,
1.156,
0,
1.267,
0,
1,
1.5,
0,
1.733,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.656,
50,
1.311,
50,
1.967,
50,
0,
2,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.444,
0,
0.522,
1,
0.6,
1,
1,
0.678,
1,
0.756,
-1,
0.833,
-1,
1,
0.911,
-1,
0.989,
0.8,
1.067,
0.8,
1,
1.122,
0.8,
1.178,
-0.13,
1.233,
-0.13,
1,
1.289,
-0.13,
1.344,
0,
1.4,
0,
1,
1.589,
0,
1.778,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.444,
0,
0.522,
-1,
0.6,
-1,
1,
0.678,
-1,
0.756,
1,
0.833,
1,
1,
0.911,
1,
0.989,
-0.81,
1.067,
-0.81,
1,
1.122,
-0.81,
1.178,
0.11,
1.233,
0.11,
1,
1.289,
0.11,
1.344,
0,
1.4,
0,
1,
1.589,
0,
1.778,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.211,
0,
0.422,
0,
0.633,
0,
1,
1.078,
0,
1.522,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.211,
0,
0.422,
0,
0.633,
0,
1,
1.078,
0,
1.522,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.656,
0,
1.311,
0,
1.967,
0,
0,
2,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
2,
0
]
}
]
}

View File

@ -1,510 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 1.5,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 58,
"TotalPointCount": 152,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.4,
0,
0.6,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
-11,
1,
0.067,
-11,
0.133,
-11,
0.2,
-11,
1,
0.3,
-11,
0.4,
10,
0.5,
10,
1,
0.6,
10,
0.7,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.4,
0,
0.6,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.4,
0,
0.6,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.3,
0,
0.4,
0,
0.5,
0,
1,
0.6,
0,
0.7,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.3,
0,
0.4,
4,
0.5,
4,
1,
0.6,
4,
0.7,
0,
0.8,
0,
1,
1.022,
0,
1.244,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.489,
50,
0.978,
50,
1.467,
50,
0,
1.5,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.622,
0,
1.044,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.622,
0,
1.044,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.5,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
1.5,
0
]
}
]
}

View File

@ -1,720 +0,0 @@
{
"Version": 3,
"Meta": {
"Duration": 1.867,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 22,
"TotalSegmentCount": 88,
"TotalPointCount": 242,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
3,
0.7,
3,
1,
0.778,
3,
0.856,
-2,
0.933,
-2,
1,
1.233,
-2,
1.533,
-2,
1.833,
-2,
0,
1.867,
-2
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.378,
0,
0.422,
18,
0.467,
18,
1,
0.544,
18,
0.622,
-30,
0.7,
-30,
1,
0.778,
-30,
0.856,
-13,
0.933,
-13,
1,
1.011,
-13,
1.089,
-30,
1.167,
-30,
1,
1.389,
-30,
1.611,
-30,
1.833,
-30,
0,
1.867,
-30
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-7.716,
0.7,
-17,
1,
0.778,
-22.908,
0.856,
-24,
0.933,
-24,
1,
1.233,
-24,
1.533,
-24,
1.833,
-24,
0,
1.867,
-24
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.233,
0,
1.533,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.233,
0,
1.533,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.233,
0,
1.533,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.611,
0,
0.889,
-6,
1.167,
-6,
1,
1.389,
-6,
1.611,
-6,
1.833,
-6,
0,
1.867,
-6
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-2,
0.7,
-2,
1,
0.778,
-2,
0.856,
-2,
0.933,
-2,
1,
1.233,
-2,
1.533,
-2,
1.833,
-2,
0,
1.867,
-2
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.378,
0,
0.422,
3,
0.467,
3,
1,
0.544,
3,
0.622,
-6,
0.7,
-6,
1,
0.778,
-6,
0.856,
-6,
0.933,
-6,
1,
1.233,
-6,
1.533,
-6,
1.833,
-6,
0,
1.867,
-6
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.611,
0,
1.222,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_LID",
"Segments": [
0,
50,
1,
0.611,
50,
1.222,
50,
1.833,
50,
0,
1.867,
50
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_01",
"Segments": [
0,
0,
1,
0.611,
0,
1.222,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_YUGE_02",
"Segments": [
0,
0,
1,
0.611,
0,
1.222,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EFFECT",
"Segments": [
0,
0,
1,
0.611,
0,
1.222,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_L",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
-1,
0.5,
-1,
1,
0.556,
-1,
0.611,
1,
0.667,
1,
1,
0.733,
1,
0.8,
-0.95,
0.867,
-0.95,
1,
0.922,
-0.95,
0.978,
0.45,
1.033,
0.45,
1,
1.089,
0.45,
1.144,
-0.17,
1.2,
-0.17,
1,
1.267,
-0.17,
1.333,
0,
1.4,
0,
1,
1.544,
0,
1.689,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EAR_R",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.389,
0,
0.444,
1,
0.5,
1,
1,
0.556,
1,
0.611,
-1,
0.667,
-1,
1,
0.733,
-1,
0.8,
1,
0.867,
1,
1,
0.922,
1,
0.978,
-0.39,
1.033,
-0.39,
1,
1.089,
-0.39,
1.144,
0.13,
1.2,
0.13,
1,
1.267,
0.13,
1.333,
0,
1.4,
0,
1,
1.544,
0,
1.689,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_L",
"Segments": [
0,
0,
1,
0.233,
0,
0.467,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.233,
0,
1.533,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAND_R",
"Segments": [
0,
0,
1,
0.233,
0,
0.467,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.233,
0,
1.533,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWING",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BOWL_SWING",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_FACE_01",
"Segments": [
0,
0,
1,
0.611,
0,
1.222,
0,
1.833,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BASE_X",
"Segments": [
0,
0,
0,
1.867,
0
]
}
]
}

View File

@ -25,5 +25,3 @@ rules:
'@typescript-eslint/no-unsafe-assignment': off
'@typescript-eslint/no-unsafe-return': off
'@typescript-eslint/no-floating-promises': off
'@typescript-eslint/no-unused-vars': off
'@typescript-eslint/no-explicit-any': off

View File

@ -2,18 +2,13 @@
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=1900">
<title>TypeScript HTML App</title>
<style>
html, body {
margin: 0;
overflow: hidden;
}
canvas {
width: 100vw;
height: 100vh;
display: block;
}
</style>
<!-- Pollyfill script -->
<script src="https://unpkg.com/core-js-bundle@3.6.1/minified.js"></script>

File diff suppressed because it is too large Load Diff

View File

@ -11,24 +11,21 @@
"clean": "rimraf dist"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^6.7.2",
"@typescript-eslint/parser": "^6.7.2",
"eslint": "^8.49.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"prettier": "^3.0.3",
"rimraf": "^5.0.1",
"serve": "^14.2.1",
"ts-loader": "^9.4.4",
"typescript": "^5.2.2",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
"eslint": "^8.20.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"serve": "^14.0.1",
"ts-loader": "^9.3.1",
"typescript": "^4.7.4",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.3"
},
"dependencies": {
"whatwg-fetch": "^3.6.19"
},
"optionalDependencies": {
"fsevents": "*"
"whatwg-fetch": "^3.6.2"
}
}

View File

@ -8,13 +8,13 @@
import { LogLevel } from '@framework/live2dcubismframework';
/**
* Sample App使
* Sample App使
*/
// Canvas的宽和高的像素值,或动态屏幕大小('auto')。
// Canvas width and height pixel values, or dynamic screen size ('auto').
export const CanvasSize: { width: number; height: number } | 'auto' = 'auto';
// 屏幕
// 画面
export const ViewScale = 1.0;
export const ViewMaxScale = 2.0;
export const ViewMinScale = 0.8;
@ -29,56 +29,52 @@ export const ViewLogicalMaxRight = 2.0;
export const ViewLogicalMaxBottom = -2.0;
export const ViewLogicalMaxTop = 2.0;
// 相对路径
// 相対パス
export const ResourcesPath = '../../Resources/';
// 在模型后面的背景图片文件
// モデルの後ろにある背景の画像ファイル
export const BackImageName = 'back_class_normal.png';
// 齿轮
// 歯車
export const GearImageName = 'icon_gear.png';
// 关闭按钮
// 終了ボタン
export const PowerImageName = 'CloseNormal.png';
// 模型定义---------------------------------------------
// 部署模型的目录名数组
// 请将目录名和model3.json的名字匹配
// モデル定義---------------------------------------------
// モデルを配置したディレクトリ名の配列
// ディレクトリ名とmodel3.jsonの名前を一致させておくこと
export const ModelDir: string[] = [
'Haru',
'Hiyori',
'Mark',
'Natori',
'Rice',
'Mao',
'Wanko'
'Mao'
];
export const ModelDirSize: number = ModelDir.length;
// 与外部定义文件json匹配
export const MotionGroupIdle = 'Idle'; // 空闲
export const MotionGroupTapBody = 'TapBody'; // 点击身体时
// 外部定義ファイルjsonと合わせる
export const MotionGroupIdle = 'Idle'; // アイドリング
export const MotionGroupTapBody = 'TapBody'; // 体をタップしたとき
// 与外部定义文件json匹配
// 外部定義ファイルjsonと合わせる
export const HitAreaNameHead = 'Head';
export const HitAreaNameBody = 'Body';
// 动作的优先级常量
// モーションの優先度定数
export const PriorityNone = 0;
export const PriorityIdle = 1;
export const PriorityNormal = 2;
export const PriorityForce = 3;
// MOC3的一致性验证选项
export const MOCConsistencyValidationEnable = true;
// 显示用于调试的日志的选项
// デバッグ用ログの表示オプション
export const DebugLogEnable = true;
export const DebugTouchLogEnable = false;
// 设置从框架输出的日志的级别
// Frameworkから出力するログのレベル設定
export const CubismLoggingLevel: LogLevel = LogLevel.LogLevel_Verbose;
// 默认的渲染目标大小
// デフォルトのレンダーターゲットサイズ
export const RenderTargetWidth = 1900;
export const RenderTargetHeight = 1000;

View File

@ -19,15 +19,15 @@ export let gl: WebGLRenderingContext = null;
export let frameBuffer: WebGLFramebuffer = null;
/**
*
* Cubism SDK
*
* Cubism SDK
*/
export class LAppDelegate {
/**
*
*
*
*
*
* @return
* @return
*/
public static getInstance(): LAppDelegate {
if (s_instance == null) {
@ -38,7 +38,7 @@ export class LAppDelegate {
}
/**
*
*
*/
public static releaseInstance(): void {
if (s_instance != null) {
@ -49,13 +49,19 @@ export class LAppDelegate {
}
/**
* APP西
* APP
*/
public initialize(): boolean {
// 创建画布
// キャンバスの作成
canvas = document.createElement('canvas');
if (LAppDefine.CanvasSize === 'auto') {
this._resizeCanvas();
} else {
canvas.width = LAppDefine.CanvasSize.width;
canvas.height = LAppDefine.CanvasSize.height;
}
// 初始化webgl上下文
// glコンテキストを初期化
// @ts-ignore
gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
@ -66,47 +72,40 @@ export class LAppDelegate {
document.body.innerHTML =
'This browser does not support the <code>&lt;canvas&gt;</code> element.';
// webgl初始化失败
// gl初期化失敗
return false;
}
// 将画布添加到DOM中
// キャンバスを DOM に追加
document.body.appendChild(canvas);
if (LAppDefine.CanvasSize === 'auto') {
this._resizeCanvas();
} else {
canvas.width = LAppDefine.CanvasSize.width;
canvas.height = LAppDefine.CanvasSize.height;
}
if (!frameBuffer) {
frameBuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
}
// 启用透明设置
// 透過設定
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
const supportTouch: boolean = 'ontouchend' in canvas;
if (supportTouch) {
// 注册触摸相关的回调函数
canvas.addEventListener('touchstart', onTouchBegan, { passive: true });
canvas.addEventListener('touchmove', onTouchMoved, { passive: true });
canvas.addEventListener('touchend', onTouchEnded, { passive: true });
canvas.addEventListener('touchcancel', onTouchCancel, { passive: true });
// タッチ関連コールバック関数登録
canvas.ontouchstart = onTouchBegan;
canvas.ontouchmove = onTouchMoved;
canvas.ontouchend = onTouchEnded;
canvas.ontouchcancel = onTouchCancel;
} else {
// 注册鼠标相关的回调函数
canvas.addEventListener('mousedown', onClickBegan, { passive: true });
canvas.addEventListener('mousemove', onMouseMoved, { passive: true });
canvas.addEventListener('mouseup', onClickEnded, { passive: true });
// マウス関連コールバック関数登録
canvas.onmousedown = onClickBegan;
canvas.onmousemove = onMouseMoved;
canvas.onmouseup = onClickEnded;
}
// 初始化AppView
// AppViewの初期化
this._view.initialize();
// 初始化Cubism SDK
// Cubism SDKの初期化
this.initializeCubism();
return true;
@ -119,10 +118,15 @@ export class LAppDelegate {
this._resizeCanvas();
this._view.initialize();
this._view.initializeSprite();
// キャンバスサイズを渡す
const viewport: number[] = [0, 0, canvas.width, canvas.height];
gl.viewport(viewport[0], viewport[1], viewport[2], viewport[3]);
}
/**
*
*
*/
public release(): void {
this._textureManager.release();
@ -131,59 +135,59 @@ export class LAppDelegate {
this._view.release();
this._view = null;
// 释放资源
// リソースを解放
LAppLive2DManager.releaseInstance();
// 释放Cubism SDK
// Cubism SDKの解放
CubismFramework.dispose();
}
/**
*
*
*/
public run(): void {
// 主循环
// メインループ
const loop = (): void => {
// 检查实例是否存在
// インスタンスの有無の確認
if (s_instance == null) {
return;
}
// 更新时间
// 時間更新
LAppPal.updateTime();
// 初始化屏幕
// 画面の初期化
gl.clearColor(0.0, 0.0, 0.0, 1.0);
// 启用深度测试
// 深度テストを有効化
gl.enable(gl.DEPTH_TEST);
// 近处的物体会覆盖远处的物体
// 近くにある物体は、遠くにある物体を覆い隠す
gl.depthFunc(gl.LEQUAL);
// 清除颜色缓冲区和深度缓冲区
// カラーバッファや深度バッファをクリアする
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
gl.clearDepth(1.0);
// 启用透明设置
// 透過設定
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
// 更新绘制
// 描画更新
this._view.render();
// 为了循环再次调用
// ループのために再帰呼び出し
requestAnimationFrame(loop);
};
loop();
}
/**
*
*
*/
public createShader(): WebGLProgram {
// 编译顶点着色器
// バーテックスシェーダーのコンパイル
const vertexShaderId = gl.createShader(gl.VERTEX_SHADER);
if (vertexShaderId == null) {
@ -205,7 +209,7 @@ export class LAppDelegate {
gl.shaderSource(vertexShaderId, vertexShader);
gl.compileShader(vertexShaderId);
// 编译片段着色器
// フラグメントシェーダのコンパイル
const fragmentShaderId = gl.createShader(gl.FRAGMENT_SHADER);
if (fragmentShaderId == null) {
@ -225,7 +229,7 @@ export class LAppDelegate {
gl.shaderSource(fragmentShaderId, fragmentShader);
gl.compileShader(fragmentShaderId);
// 创建程序对象
// プログラムオブジェクトの作成
const programId = gl.createProgram();
gl.attachShader(programId, vertexShaderId);
gl.attachShader(programId, fragmentShaderId);
@ -233,7 +237,7 @@ export class LAppDelegate {
gl.deleteShader(vertexShaderId);
gl.deleteShader(fragmentShaderId);
// 链接
// リンク
gl.linkProgram(programId);
gl.useProgram(programId);
@ -242,7 +246,7 @@ export class LAppDelegate {
}
/**
* View
* View
*/
public getView(): LAppView {
return this._view;
@ -253,7 +257,7 @@ export class LAppDelegate {
}
/**
*
*
*/
constructor() {
this._captured = false;
@ -267,18 +271,18 @@ export class LAppDelegate {
}
/**
* Cubism SDK
* Cubism SDK
*/
public initializeCubism(): void {
// 设置cubism
// setup cubism
this._cubismOption.logFunction = LAppPal.printMessage;
this._cubismOption.loggingLevel = LAppDefine.CubismLoggingLevel;
CubismFramework.startUp(this._cubismOption);
// 初始化cubism
// initialize cubism
CubismFramework.initialize();
// 加载模型
// load model
LAppLive2DManager.getInstance();
LAppPal.updateTime();
@ -287,25 +291,24 @@ export class LAppDelegate {
}
/**
*
* Resize the canvas to fill the screen.
*/
private _resizeCanvas(): void {
canvas.width = canvas.clientWidth * window.devicePixelRatio;
canvas.height = canvas.clientHeight * window.devicePixelRatio;
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
_cubismOption: Option; // Cubism SDK选项
_view: LAppView; // View信息
_captured: boolean; // 是否要捕获
_mouseX: number; // 鼠标X坐标
_mouseY: number; // 鼠标Y坐标
_isEnd: boolean; // APP是否已结束
_textureManager: LAppTextureManager; // 纹理管理器
_cubismOption: Option; // Cubism SDK Option
_view: LAppView; // View情報
_captured: boolean; // クリックしているか
_mouseX: number; // マウスX座標
_mouseY: number; // マウスY座標
_isEnd: boolean; // APP終了しているか
_textureManager: LAppTextureManager; // テクスチャマネージャー
}
/**
*
*
*/
function onClickBegan(e: MouseEvent): void {
if (!LAppDelegate.getInstance()._view) {
@ -321,7 +324,7 @@ function onClickBegan(e: MouseEvent): void {
}
/**
*
*
*/
function onMouseMoved(e: MouseEvent): void {
if (!LAppDelegate.getInstance()._captured) {
@ -341,7 +344,7 @@ function onMouseMoved(e: MouseEvent): void {
}
/**
*
*
*/
function onClickEnded(e: MouseEvent): void {
LAppDelegate.getInstance()._captured = false;
@ -358,7 +361,7 @@ function onClickEnded(e: MouseEvent): void {
}
/**
*
*
*/
function onTouchBegan(e: TouchEvent): void {
if (!LAppDelegate.getInstance()._view) {
@ -375,7 +378,7 @@ function onTouchBegan(e: TouchEvent): void {
}
/**
*
*
*/
function onTouchMoved(e: TouchEvent): void {
if (!LAppDelegate.getInstance()._captured) {
@ -396,7 +399,7 @@ function onTouchMoved(e: TouchEvent): void {
}
/**
*
*
*/
function onTouchEnded(e: TouchEvent): void {
LAppDelegate.getInstance()._captured = false;
@ -415,7 +418,7 @@ function onTouchEnded(e: TouchEvent): void {
}
/**
*
*
*/
function onTouchCancel(e: TouchEvent): void {
LAppDelegate.getInstance()._captured = false;

View File

@ -17,14 +17,15 @@ import { LAppPal } from './lapppal';
export let s_instance: LAppLive2DManager = null;
/**
* CubismModel
*
* CubismModel
*
*/
export class LAppLive2DManager {
/**
*
*
* @return
*
*
*
* @return
*/
public static getInstance(): LAppLive2DManager {
if (s_instance == null) {
@ -35,7 +36,7 @@ export class LAppLive2DManager {
}
/**
*
*
*/
public static releaseInstance(): void {
if (s_instance != null) {
@ -46,10 +47,10 @@ export class LAppLive2DManager {
}
/**
*
*
*
* @param no
* @return NULL
* @param no
* @return NULL
*/
public getModel(no: number): LAppModel {
if (no < this._models.getSize()) {
@ -60,7 +61,7 @@ export class LAppLive2DManager {
}
/**
*
*
*/
public releaseAllModel(): void {
for (let i = 0; i < this._models.getSize(); i++) {
@ -72,9 +73,10 @@ export class LAppLive2DManager {
}
/**
*
* @param x - x
* @param y - y
*
*
* @param x X
* @param y Y
*/
public onDrag(x: number, y: number): void {
for (let i = 0; i < this._models.getSize(); i++) {
@ -87,14 +89,10 @@ export class LAppLive2DManager {
}
/**
*
*
*
* @param x X
* @param y Y
* Lapplive2DManageronTap
*
*
* xy
* @param x X
* @param y Y
*/
public onTap(x: number, y: number): void {
if (LAppDefine.DebugLogEnable) {
@ -129,8 +127,8 @@ export class LAppLive2DManager {
}
/**
*
*
*
*
*/
public onUpdate(): void {
const { width, height } = canvas;
@ -143,27 +141,27 @@ export class LAppLive2DManager {
if (model.getModel()) {
if (model.getModel().getCanvasWidth() > 1.0 && width < height) {
// 当在纵向窗口中显示横向模型时,根据模型的横向大小计算比例
// 横に長いモデルを縦長ウィンドウに表示する際モデルの横サイズでscaleを算出する
model.getModelMatrix().setWidth(2.0);
projection.scale(1.0, width / height);
} else {
projection.scale(height / width, 1.0);
}
// 如果需要,在这里进行乘法
// 必要があればここで乗算
if (this._viewMatrix != null) {
projection.multiplyByMatrix(this._viewMatrix);
}
}
model.update();
model.draw(projection); // 传递引用所以projection会改变
model.draw(projection); // 参照渡しなのでprojectionは変質する
}
}
/**
*
*
*
*
*/
public nextScene(): void {
const no: number = (this._sceneIndex + 1) % LAppDefine.ModelDirSize;
@ -171,9 +169,8 @@ export class LAppLive2DManager {
}
/**
*
* @param index -
* @returns void
*
*
*/
public changeScene(index: number): void {
this._sceneIndex = index;
@ -181,9 +178,9 @@ export class LAppLive2DManager {
LAppPal.printMessage(`[APP]model index: ${this._sceneIndex}`);
}
// 根据在ModelDir[]中保存的目录名称
// 确定model3.json的路径
// 目录名称和model3.json的名称应保持一致
// ModelDir[]に保持したディレクトリ名から
// model3.jsonのパスを決定する
// ディレクトリ名とmodel3.jsonの名前を一致させておくこと
const model: string = LAppDefine.ModelDir[index];
const modelPath: string = LAppDefine.ResourcesPath + model + '/';
let modelJsonName: string = LAppDefine.ModelDir[index];
@ -201,7 +198,7 @@ export class LAppLive2DManager {
}
/**
*
*
*/
constructor() {
this._viewMatrix = new CubismMatrix44();
@ -210,10 +207,10 @@ export class LAppLive2DManager {
this.changeScene(this._sceneIndex);
}
_viewMatrix: CubismMatrix44; // 用于模型绘制的视图矩阵
_models: csmVector<LAppModel>; // 模型实例的容器
_sceneIndex: number; // 要显示的场景的索引值
// 动作播放结束的回调函
_viewMatrix: CubismMatrix44; // モデル描画に用いるview行列
_models: csmVector<LAppModel>; // モデルインスタンスのコンテナ
_sceneIndex: number; // 表示するシーンのインデックス値
// モーション再生終了のコールバック関
_finishedMotion = (self: ACubismMotion): void => {
LAppPal.printMessage('Motion Finished:');
console.log(self);

View File

@ -32,18 +32,13 @@ import { csmMap } from '@framework/type/csmmap';
import { csmRect } from '@framework/type/csmrectf';
import { csmString } from '@framework/type/csmstring';
import { csmVector } from '@framework/type/csmvector';
import {
CSM_ASSERT,
CubismLogError,
CubismLogInfo
} from '@framework/utils/cubismdebug';
import { CubismLogError, CubismLogInfo } from '@framework/utils/cubismdebug';
import * as LAppDefine from './lappdefine';
import { canvas, frameBuffer, gl, LAppDelegate } from './lappdelegate';
import { LAppPal } from './lapppal';
import { TextureInfo } from './lapptexturemanager';
import { LAppWavFileHandler } from './lappwavfilehandler';
import { CubismMoc } from '@framework/model/cubismmoc';
enum LoadStep {
LoadAssets,
@ -72,12 +67,12 @@ enum LoadStep {
}
/**
* 使
*
* 使<br>
*
*/
export class LAppModel extends CubismUserModel {
/**
* model3.json
* model3.json
* @param dir
* @param fileName
*/
@ -92,19 +87,19 @@ export class LAppModel extends CubismUserModel {
arrayBuffer.byteLength
);
// 更新状态
// ステートを更新
this._state = LoadStep.LoadModel;
// 保存结果
// 結果を保存
this.setupModel(setting);
});
}
/**
* model3.json
* model3.json
* model3.json
* model3.json
*
* @param setting ICubismModelSetting
* @param setting ICubismModelSetting
*/
private setupModel(setting: ICubismModelSetting): void {
this._updating = true;
@ -119,7 +114,7 @@ export class LAppModel extends CubismUserModel {
fetch(`${this._modelHomeDir}${modelFileName}`)
.then(response => response.arrayBuffer())
.then(arrayBuffer => {
this.loadModel(arrayBuffer, this._mocConsistency);
this.loadModel(arrayBuffer);
this._state = LoadStep.LoadExpression;
// callback
@ -355,22 +350,22 @@ export class LAppModel extends CubismUserModel {
const motionGroupCount: number = this._modelSetting.getMotionGroupCount();
// 计算动作总数
// モーションの総数を求める
for (let i = 0; i < motionGroupCount; i++) {
group[i] = this._modelSetting.getMotionGroupName(i);
this._allMotionCount += this._modelSetting.getMotionCount(group[i]);
}
// 加载动作
// モーションの読み込み
for (let i = 0; i < motionGroupCount; i++) {
this.preLoadMotionGroup(group[i]);
}
// 如果没有动作
// モーションがない場合
if (motionGroupCount == 0) {
this._state = LoadStep.LoadTexture;
// 停止所有动作
// 全てのモーションを停止する
this._motionManager.stopAllMotions();
this._updating = false;
@ -384,7 +379,7 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*/
private setupTextures(): void {
// iPhoneでのアルファ品質向上のためTypescriptではpremultipliedAlphaを採用
@ -434,7 +429,7 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*/
public reloadRenderer(): void {
this.deleteRenderer();
@ -455,13 +450,13 @@ export class LAppModel extends CubismUserModel {
this._dragX = this._dragManager.getX();
this._dragY = this._dragManager.getY();
// 参数更新是否由动作引起
// モーションによるパラメータ更新の有無
let motionUpdated = false;
//--------------------------------------------------------------------------
this._model.loadParameters(); // 加载上一次保存的状态
this._model.loadParameters(); // 前回セーブされた状態をロード
if (this._motionManager.isFinished()) {
// 如果没有动作播放,随机从待机动作中选择一个播放
// モーションの再生がない場合、待機モーションの中からランダムで再生する
this.startRandomMotion(
LAppDefine.MotionGroupIdle,
LAppDefine.PriorityIdle
@ -470,55 +465,55 @@ export class LAppModel extends CubismUserModel {
motionUpdated = this._motionManager.updateMotion(
this._model,
deltaTimeSeconds
); // 更新动作
); // モーションを更新
}
this._model.saveParameters(); // 保存状态
this._model.saveParameters(); // 状態を保存
//--------------------------------------------------------------------------
// 闪烁
// まばたき
if (!motionUpdated) {
if (this._eyeBlink != null) {
// 当主要动作没有更新时
this._eyeBlink.updateParameters(this._model, deltaTimeSeconds); // 眨眼
// メインモーションの更新がないとき
this._eyeBlink.updateParameters(this._model, deltaTimeSeconds); // 目パチ
}
}
if (this._expressionManager != null) {
this._expressionManager.updateMotion(this._model, deltaTimeSeconds); // 通过表情更新参数(相对变化)
this._expressionManager.updateMotion(this._model, deltaTimeSeconds); // 表情でパラメータ更新(相対変化)
}
// 由拖动引起的改变
// 调整由拖动引起的脸部方向
this._model.addParameterValueById(this._idParamAngleX, this._dragX * 30); // 添加-30到30的值
// ドラッグによる変化
// ドラッグによる顔の向きの調整
this._model.addParameterValueById(this._idParamAngleX, this._dragX * 30); // -30から30の値を加える
this._model.addParameterValueById(this._idParamAngleY, this._dragY * 30);
this._model.addParameterValueById(
this._idParamAngleZ,
this._dragX * this._dragY * -30
);
// 调整由拖动引起的身体方向
// ドラッグによる体の向きの調整
this._model.addParameterValueById(
this._idParamBodyAngleX,
this._dragX * 10
); // 添加-10到10的值
); // -10から10の値を加える
// 调整由拖动引起的眼睛方向
this._model.addParameterValueById(this._idParamEyeBallX, this._dragX); // 添加-1到1的值
// ドラッグによる目の向きの調整
this._model.addParameterValueById(this._idParamEyeBallX, this._dragX); // -1から1の値を加える
this._model.addParameterValueById(this._idParamEyeBallY, this._dragY);
// 呼吸
// 呼吸など
if (this._breath != null) {
this._breath.updateParameters(this._model, deltaTimeSeconds);
}
// 设置物理运算
// 物理演算の設定
if (this._physics != null) {
this._physics.evaluate(this._model, deltaTimeSeconds);
}
// 设置唇形同步
// リップシンクの設定
if (this._lipsync) {
let value = 0.0; // 如果要实时进行唇形同步从系统中获取音量并输入0~1的范围内的值
let value = 0.0; // リアルタイムでリップシンクを行う場合、システムから音量を取得して、0~1の範囲で値を入力します
this._wavFileHandler.update(deltaTimeSeconds);
value = this._wavFileHandler.getRms();
@ -528,7 +523,7 @@ export class LAppModel extends CubismUserModel {
}
}
// 设置姿势
// ポーズの設定
if (this._pose != null) {
this._pose.updateParameters(this._model, deltaTimeSeconds);
}
@ -537,12 +532,12 @@ export class LAppModel extends CubismUserModel {
}
/**
*
* @param group
* @param no
* @param priority
* @param onFinishedMotionHandler
* @return isFinished()[-1]
*
* @param group
* @param no
* @param priority
* @param onFinishedMotionHandler
* @return isFinished()使[-1]
*/
public startMotion(
group: string,
@ -591,7 +586,7 @@ export class LAppModel extends CubismUserModel {
}
motion.setEffectIds(this._eyeBlinkIds, this._lipSyncIds);
autoDelete = true; // 结束时从内存中删
autoDelete = true; // 終了時にメモリから削
});
} else {
motion.setFinishedMotionHandler(onFinishedMotionHandler);
@ -616,11 +611,11 @@ export class LAppModel extends CubismUserModel {
}
/**
*
* @param group
* @param priority
* @param onFinishedMotionHandler
* @return isFinished()[-1]
*
* @param group
* @param priority
* @param onFinishedMotionHandler
* @return isFinished()使[-1]
*/
public startRandomMotion(
group: string,
@ -639,9 +634,9 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*
* @param expressionId ID
* @param expressionId ID
*/
public setExpression(expressionId: string): void {
const motion: ACubismMotion = this._expressions.getValue(expressionId);
@ -664,7 +659,7 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*/
public setRandomExpression(): void {
if (this._expressions.getSize() == 0) {
@ -683,22 +678,22 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*/
public motionEventFired(eventValue: csmString): void {
CubismLogInfo('{0} is fired on LAppModel!!', eventValue.s);
}
/**
*
* ID
*
*
*
* @param hitArenaName ID
* @param x X
* @param y Y
* @param hitArenaName ID
* @param x X
* @param y Y
*/
public hitTest(hitArenaName: string, x: number, y: number): boolean {
// 透明时无碰撞检测
// 透明時は当たり判定無し
if (this._opacity < 1) {
return false;
}
@ -716,10 +711,10 @@ export class LAppModel extends CubismUserModel {
}
/**
*
* ModelSetting
*
* ModelSetting
*
* @param group
* @param group
*/
public preLoadMotionGroup(group: string): void {
for (let i = 0; i < this._modelSetting.getMotionCount(group); i++) {
@ -763,7 +758,7 @@ export class LAppModel extends CubismUserModel {
if (this._motionCount >= this._allMotionCount) {
this._state = LoadStep.LoadTexture;
// 停止所有动作
// 全てのモーションを停止する
this._motionManager.stopAllMotions();
this._updating = false;
@ -778,26 +773,26 @@ export class LAppModel extends CubismUserModel {
}
/**
*
*
*/
public releaseMotions(): void {
this._motions.clear();
}
/**
*
*
*/
public releaseExpressions(): void {
this._expressions.clear();
}
/**
* View-Projection
* View-Projection
*/
public doDraw(): void {
if (this._model == null) return;
// 传递画布大小
// キャンバスサイズを渡す
const viewport: number[] = [0, 0, canvas.width, canvas.height];
this.getRenderer().setRenderState(frameBuffer, viewport);
@ -805,14 +800,14 @@ export class LAppModel extends CubismUserModel {
}
/**
* View-Projection
* View-Projection
*/
public draw(matrix: CubismMatrix44): void {
if (this._model == null) {
return;
}
// 各读取完成后
// 各読み込み終了後
if (this._state == LoadStep.CompleteSetup) {
matrix.multiplyByMatrix(this._modelMatrix);
@ -822,32 +817,8 @@ export class LAppModel extends CubismUserModel {
}
}
public async hasMocConsistencyFromFile() {
CSM_ASSERT(this._modelSetting.getModelFileName().localeCompare(``));
// CubismModel
if (this._modelSetting.getModelFileName() != '') {
const modelFileName = this._modelSetting.getModelFileName();
const response = await fetch(`${this._modelHomeDir}${modelFileName}`);
const arrayBuffer = await response.arrayBuffer();
this._consistency = CubismMoc.hasMocConsistency(arrayBuffer);
if (!this._consistency) {
CubismLogInfo('Inconsistent MOC3.');
} else {
CubismLogInfo('Consistent MOC3.');
}
return this._consistency;
} else {
LAppPal.printMessage('Model data does not exist.');
}
}
/**
*
*
*/
public constructor() {
super();
@ -856,11 +827,11 @@ export class LAppModel extends CubismUserModel {
this._modelHomeDir = null;
this._userTimeSeconds = 0.0;
this._eyeBlinkIds = new csmVector<CubismIdHandle>(); // 模型设置的眨眼功能参数ID
this._lipSyncIds = new csmVector<CubismIdHandle>(); // 模型设置的唇形同步功能参数ID
this._eyeBlinkIds = new csmVector<CubismIdHandle>();
this._lipSyncIds = new csmVector<CubismIdHandle>();
this._motions = new csmMap<string, ACubismMotion>(); // 已加载的动作列表
this._expressions = new csmMap<string, ACubismMotion>(); // 已加载的表情列表
this._motions = new csmMap<string, ACubismMotion>();
this._expressions = new csmMap<string, ACubismMotion>();
this._hitArea = new csmVector<csmRect>();
this._userArea = new csmVector<csmRect>();
@ -884,44 +855,38 @@ export class LAppModel extends CubismUserModel {
CubismDefaultParameterId.ParamBodyAngleX
);
if (LAppDefine.MOCConsistencyValidationEnable) {
this._mocConsistency = true;
}
this._state = LoadStep.LoadAssets;
this._expressionCount = 0;
this._textureCount = 0;
this._motionCount = 0;
this._allMotionCount = 0;
this._wavFileHandler = new LAppWavFileHandler();
this._consistency = false;
}
_modelSetting: ICubismModelSetting; // 模型设置信息
_modelHomeDir: string; // 放置模型设置的目录
_userTimeSeconds: number; // 时间增量的累积值[秒]
_modelSetting: ICubismModelSetting; // モデルセッティング情報
_modelHomeDir: string; // モデルセッティングが置かれたディレクトリ
_userTimeSeconds: number; // デルタ時間の積算値[秒]
_eyeBlinkIds: csmVector<CubismIdHandle>; // 模型设定的眨眼功能参数ID
_lipSyncIds: csmVector<CubismIdHandle>; // 模型设定的唇形同步功能参数ID
_eyeBlinkIds: csmVector<CubismIdHandle>; // モデルに設定された瞬き機能用パラメータID
_lipSyncIds: csmVector<CubismIdHandle>; // モデルに設定されたリップシンク機能用パラメータID
_motions: csmMap<string, ACubismMotion>; // 已加载的动作列表
_expressions: csmMap<string, ACubismMotion>; // 已加载的表情列表
_motions: csmMap<string, ACubismMotion>; // 読み込まれているモーションのリスト
_expressions: csmMap<string, ACubismMotion>; // 読み込まれている表情のリスト
_hitArea: csmVector<csmRect>;
_userArea: csmVector<csmRect>;
_idParamAngleX: CubismIdHandle; // 参数ID: ParamAngleX
_idParamAngleY: CubismIdHandle; // 参数ID: ParamAngleY
_idParamAngleZ: CubismIdHandle; // 参数ID: ParamAngleZ
_idParamEyeBallX: CubismIdHandle; // 参数ID: ParamEyeBallX
_idParamEyeBallY: CubismIdHandle; // 参数ID: ParamEyeBAllY
_idParamBodyAngleX: CubismIdHandle; // 参数ID: ParamBodyAngleX
_idParamAngleX: CubismIdHandle; // パラメータID: ParamAngleX
_idParamAngleY: CubismIdHandle; // パラメータID: ParamAngleY
_idParamAngleZ: CubismIdHandle; // パラメータID: ParamAngleZ
_idParamEyeBallX: CubismIdHandle; // パラメータID: ParamEyeBallX
_idParamEyeBallY: CubismIdHandle; // パラメータID: ParamEyeBAllY
_idParamBodyAngleX: CubismIdHandle; // パラメータID: ParamBodyAngleX
_state: LoadStep; // 当前的状态管理用
_expressionCount: number; // 表情数据计数
_textureCount: number; // 纹理计数
_motionCount: number; // 动作数据计数
_allMotionCount: number; // 动作总数
_wavFileHandler: LAppWavFileHandler; //wav文件处理器
_consistency: boolean; // MOC3一致性检查管理用
_state: number; // 現在のステータス管理用
_expressionCount: number; // 表情データカウント
_textureCount: number; // テクスチャカウント
_motionCount: number; // モーションデータカウント
_allMotionCount: number; // モーション総数
_wavFileHandler: LAppWavFileHandler; //wavファイルハンドラ
}

View File

@ -6,19 +6,19 @@
*/
/**
* Cubism Platform Abstraction Layer .
* Cubism Platform Abstraction Layer.
*
* .
*
*/
export class LAppPal {
/**
*
*
*
* @param filePath
* @param filePath
* @return
* {
* buffer,
* size
* buffer,
* size
* }
*/
public static loadFileAsBytes(
@ -31,8 +31,8 @@ export class LAppPal {
}
/**
*
* @return [ms]
*
* @return [ms]
*/
public static getDeltaTime(): number {
return this.s_deltaTime;
@ -45,8 +45,8 @@ export class LAppPal {
}
/**
*
* @param message
*
* @param message
*/
public static printMessage(message: string): void {
console.log(message);

View File

@ -8,18 +8,18 @@
import { canvas, gl } from './lappdelegate';
/**
*
*
*
* IDRect
* Rect
*/
export class LAppSprite {
/**
*
* @param x x
* @param y y
* @param width
* @param height
* @param textureId
*
* @param x x
* @param y y
* @param width
* @param height
* @param textureId
*/
constructor(
x: number,
@ -50,7 +50,7 @@ export class LAppSprite {
}
/**
*
*
*/
public release(): void {
this._rect = null;
@ -69,54 +69,54 @@ export class LAppSprite {
}
/**
*
*
*/
public getTexture(): WebGLTexture {
return this._texture;
}
/**
*
* @param programId
* @param canvas
*
* @param programId
* @param canvas
*/
public render(programId: WebGLProgram): void {
if (this._texture == null) {
// 加载未完成
// ロードが完了していない
return;
}
// 首次绘制
// 初回描画時
if (this._firstDraw) {
// 获取attribute变量的索引
// 何番目のattribute変数か取得
this._positionLocation = gl.getAttribLocation(programId, 'position');
gl.enableVertexAttribArray(this._positionLocation);
this._uvLocation = gl.getAttribLocation(programId, 'uv');
gl.enableVertexAttribArray(this._uvLocation);
// 获取uniform变量的索引
// 何番目のuniform変数か取得
this._textureLocation = gl.getUniformLocation(programId, 'texture');
// 注册uniform属性
// uniform属性の登録
gl.uniform1i(this._textureLocation, 0);
// uv缓冲,坐标初始
// uvバッファ、座標初期
{
this._uvArray = new Float32Array([
1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0
]);
// 创建uv缓冲
// uvバッファを作成
this._uvBuffer = gl.createBuffer();
}
// 顶点缓冲,坐标初始
// 頂点バッファ、座標初期
{
const maxWidth = canvas.width;
const maxHeight = canvas.height;
// 顶点数据
// 頂点データ
this._positionArray = new Float32Array([
(this._rect.right - maxWidth * 0.5) / (maxWidth * 0.5),
(this._rect.up - maxHeight * 0.5) / (maxHeight * 0.5),
@ -128,41 +128,41 @@ export class LAppSprite {
(this._rect.down - maxHeight * 0.5) / (maxHeight * 0.5)
]);
// 创建顶点缓冲
// 頂点バッファを作成
this._vertexBuffer = gl.createBuffer();
}
// 顶点索引缓冲,初始
// 頂点インデックスバッファ、初期
{
// 索引数据
// インデックスデータ
this._indexArray = new Uint16Array([0, 1, 2, 3, 2, 0]);
// 创建索引缓冲
// インデックスバッファを作成
this._indexBuffer = gl.createBuffer();
}
this._firstDraw = false;
}
// 注册UV坐标
// UV座標登録
gl.bindBuffer(gl.ARRAY_BUFFER, this._uvBuffer);
gl.bufferData(gl.ARRAY_BUFFER, this._uvArray, gl.STATIC_DRAW);
// 注册attribute属性
// attribute属性を登録
gl.vertexAttribPointer(this._uvLocation, 2, gl.FLOAT, false, 0, 0);
// 注册顶点坐标
// 頂点座標を登録
gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, this._positionArray, gl.STATIC_DRAW);
// 注册attribute属性
// attribute属性を登録
gl.vertexAttribPointer(this._positionLocation, 2, gl.FLOAT, false, 0, 0);
// 创建顶点索引
// 頂点インデックスを作成
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBuffer);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, this._indexArray, gl.DYNAMIC_DRAW);
// 绘制模型
// モデルの描画
gl.bindTexture(gl.TEXTURE_2D, this._texture);
gl.drawElements(
gl.TRIANGLES,
@ -173,15 +173,15 @@ export class LAppSprite {
}
/**
*
* @param pointX x
* @param pointY y
*
* @param pointX x
* @param pointY y
*/
public isHit(pointX: number, pointY: number): boolean {
// 获取屏幕大小
// 画面サイズを取得する
const { height } = canvas;
// Y坐标需要转换
// Y座標は変換する必要あり
const y = height - pointY;
return (
@ -192,10 +192,10 @@ export class LAppSprite {
);
}
_texture: WebGLTexture; // 纹理
_vertexBuffer: WebGLBuffer; // 顶点缓冲
_uvBuffer: WebGLBuffer; // uv顶点缓冲
_indexBuffer: WebGLBuffer; // 顶点索引缓冲
_texture: WebGLTexture; // テクスチャ
_vertexBuffer: WebGLBuffer; // 頂点バッファ
_uvBuffer: WebGLBuffer; // uv頂点バッファ
_indexBuffer: WebGLBuffer; // 頂点インデックスバッファ
_rect: Rect; // 矩形
_positionLocation: number;
@ -210,8 +210,8 @@ export class LAppSprite {
}
export class Rect {
public left: number; // 左
public right: number; // 右
public up: number; // 上
public down: number; // 下
public left: number; // 左
public right: number; // 右
public up: number; // 上
public down: number; // 下
}

View File

@ -10,19 +10,19 @@ import { csmVector, iterator } from '@framework/type/csmvector';
import { gl } from './lappdelegate';
/**
*
*
*
*
*/
export class LAppTextureManager {
/**
*
*
*/
constructor() {
this._textures = new csmVector<TextureInfo>();
}
/**
*
*
*/
public release(): void {
for (
@ -36,18 +36,18 @@ export class LAppTextureManager {
}
/**
*
*
*
* @param fileName
* @param usePremultiply Premult
* @return null
* @param fileName
* @param usePremultiply Premult
* @return null
*/
public createTextureFromPngFile(
fileName: string,
usePremultiply: boolean,
callback: (textureInfo: TextureInfo) => void
): void {
// 搜索已加载的纹理
// search loaded texture already
for (
let ite: iterator<TextureInfo> = this._textures.begin();
ite.notEqual(this._textures.end());
@ -57,82 +57,67 @@ export class LAppTextureManager {
ite.ptr().fileName == fileName &&
ite.ptr().usePremultply == usePremultiply
) {
// 第二次及以后使用缓存(无等待时间)
// 在 WebKit 中,需要重新实例化 Image 才能再次调用相同的 onload
// 详情https://stackoverflow.com/a/5024181
// 2回目以降はキャッシュが使用される(待ち時間なし)
// WebKitでは同じImageのonloadを再度呼ぶには再インスタンスが必要
// 詳細https://stackoverflow.com/a/5024181
ite.ptr().img = new Image();
ite
.ptr()
.img.addEventListener('load', (): void => callback(ite.ptr()), {
passive: true
});
ite.ptr().img.onload = (): void => callback(ite.ptr());
ite.ptr().img.src = fileName;
return;
}
}
// 以数据加载为触发器
// データのオンロードをトリガーにする
const img = new Image();
img.addEventListener(
'load',
(): void => {
// 创建纹理对象
const tex: WebGLTexture = gl.createTexture();
img.onload = (): void => {
// テクスチャオブジェクトの作成
const tex: WebGLTexture = gl.createTexture();
// 选择纹理
gl.bindTexture(gl.TEXTURE_2D, tex);
// テクスチャを選択
gl.bindTexture(gl.TEXTURE_2D, tex);
// 将像素写入纹理
gl.texParameteri(
gl.TEXTURE_2D,
gl.TEXTURE_MIN_FILTER,
gl.LINEAR_MIPMAP_LINEAR
);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
// テクスチャにピクセルを書き込む
gl.texParameteri(
gl.TEXTURE_2D,
gl.TEXTURE_MIN_FILTER,
gl.LINEAR_MIPMAP_LINEAR
);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
// 启用 Premult 处理
if (usePremultiply) {
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
}
// Premult処理を行わせる
if (usePremultiply) {
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
}
// 将像素写入纹理
gl.texImage2D(
gl.TEXTURE_2D,
0,
gl.RGBA,
gl.RGBA,
gl.UNSIGNED_BYTE,
img
);
// テクスチャにピクセルを書き込む
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, img);
// 生成 Mipmap
gl.generateMipmap(gl.TEXTURE_2D);
// ミップマップを生成
gl.generateMipmap(gl.TEXTURE_2D);
// 绑定纹理
gl.bindTexture(gl.TEXTURE_2D, null);
// テクスチャをバインド
gl.bindTexture(gl.TEXTURE_2D, null);
const textureInfo: TextureInfo = new TextureInfo();
if (textureInfo != null) {
textureInfo.fileName = fileName;
textureInfo.width = img.width;
textureInfo.height = img.height;
textureInfo.id = tex;
textureInfo.img = img;
textureInfo.usePremultply = usePremultiply;
this._textures.pushBack(textureInfo);
}
const textureInfo: TextureInfo = new TextureInfo();
if (textureInfo != null) {
textureInfo.fileName = fileName;
textureInfo.width = img.width;
textureInfo.height = img.height;
textureInfo.id = tex;
textureInfo.img = img;
textureInfo.usePremultply = usePremultiply;
this._textures.pushBack(textureInfo);
}
callback(textureInfo);
},
{ passive: true }
);
callback(textureInfo);
};
img.src = fileName;
}
/**
*
*
*
*
*
*/
public releaseTextures(): void {
for (let i = 0; i < this._textures.getSize(); i++) {
@ -143,10 +128,10 @@ export class LAppTextureManager {
}
/**
*
*
*
*
* @param texture
*
* @param texture
*/
public releaseTextureByTexture(texture: WebGLTexture): void {
for (let i = 0; i < this._textures.getSize(); i++) {
@ -161,10 +146,10 @@ export class LAppTextureManager {
}
/**
*
*
*
*
* @param fileName
*
* @param fileName
*/
public releaseTextureByFilePath(fileName: string): void {
for (let i = 0; i < this._textures.getSize(); i++) {
@ -180,13 +165,13 @@ export class LAppTextureManager {
}
/**
*
*
*/
export class TextureInfo {
img: HTMLImageElement; // 图片
id: WebGLTexture = null; // 纹理
width = 0; // 宽度
height = 0; // 高
usePremultply: boolean; // 是否启用 Premult 处理
fileName: string; // 文件
img: HTMLImageElement; // 画像
id: WebGLTexture = null; // テクスチャ
width = 0; // 横幅
height = 0; // 高
usePremultply: boolean; // Premult処理を有効にするか
fileName: string; // ファイル
}

View File

@ -17,29 +17,29 @@ import { TextureInfo } from './lapptexturemanager';
import { TouchManager } from './touchmanager';
/**
*
*
*/
export class LAppView {
/**
*
*
*/
constructor() {
this._programId = null;
this._back = null;
this._gear = null;
// 触摸相关事件管理
// タッチ関係のイベント管理
this._touchManager = new TouchManager();
// 从设备坐标到屏幕坐标的转换矩阵
// デバイス座標からスクリーン座標に変換するための
this._deviceToScreen = new CubismMatrix44();
// 屏幕显示的缩放和移动转换矩阵
// 画面の表示の拡大縮小や移動の変換を行う行列
this._viewMatrix = new CubismViewMatrix();
}
/**
*
*
*/
public initialize(): void {
const { width, height } = canvas;
@ -50,7 +50,7 @@ export class LAppView {
const bottom: number = LAppDefine.ViewLogicalLeft;
const top: number = LAppDefine.ViewLogicalRight;
this._viewMatrix.setScreenRect(left, right, bottom, top); // 设备对应的屏幕范围。 X的左端X的右端Y的下端Y的上端
this._viewMatrix.setScreenRect(left, right, bottom, top); // デバイスに対応する画面の範囲。 Xの左端、Xの右端、Yの下端、Yの上端
this._viewMatrix.scale(LAppDefine.ViewScale, LAppDefine.ViewScale);
this._deviceToScreen.loadIdentity();
@ -63,11 +63,11 @@ export class LAppView {
}
this._deviceToScreen.translateRelative(-width * 0.5, -height * 0.5);
// 设置显示范围
this._viewMatrix.setMaxScale(LAppDefine.ViewMaxScale); // 最大扩展
this._viewMatrix.setMinScale(LAppDefine.ViewMinScale); // 最大缩小率
// 表示範囲の設定
this._viewMatrix.setMaxScale(LAppDefine.ViewMaxScale); // 限界拡張
this._viewMatrix.setMinScale(LAppDefine.ViewMinScale); // 限界縮小率
// 可显示的最大范围
// 表示できる最大範囲
this._viewMatrix.setMaxScreenRect(
LAppDefine.ViewLogicalMaxLeft,
LAppDefine.ViewLogicalMaxRight,
@ -77,7 +77,7 @@ export class LAppView {
}
/**
*
*
*/
public release(): void {
this._viewMatrix = null;
@ -95,7 +95,7 @@ export class LAppView {
}
/**
*
*
*/
public render(): void {
gl.useProgram(this._programId);
@ -117,7 +117,7 @@ export class LAppView {
}
/**
*
*
*/
public initializeSprite(): void {
const width: number = canvas.width;
@ -128,10 +128,10 @@ export class LAppView {
let imageName = '';
// 背景图片初始
// 背景画像初期
imageName = LAppDefine.BackImageName;
// 因为是异步的所以创建回调函数
// 非同期なのでコールバック関数を作成
const initBackGroundTexture = (textureInfo: TextureInfo): void => {
const x: number = width * 0.5;
const y: number = height * 0.5;
@ -147,7 +147,7 @@ export class LAppView {
initBackGroundTexture
);
// 齿轮图片初始
// 歯車画像初期
imageName = LAppDefine.GearImageName;
const initGearTexture = (textureInfo: TextureInfo): void => {
const x = width - textureInfo.width * 0.5;
@ -163,124 +163,113 @@ export class LAppView {
initGearTexture
);
// 创建着色器
// シェーダーを作成
if (this._programId == null) {
this._programId = LAppDelegate.getInstance().createShader();
}
}
/**
*
*
*
* @param pointX X
* @param pointY Y
* @param pointX X
* @param pointY Y
*/
public onTouchesBegan(pointX: number, pointY: number): void {
this._touchManager.touchesBegan(
pointX * window.devicePixelRatio,
pointY * window.devicePixelRatio
);
this._touchManager.touchesBegan(pointX, pointY);
}
/**
*
*
*
* @param pointX X
* @param pointY Y
* @param pointX X
* @param pointY Y
*/
public onTouchesMoved(pointX: number, pointY: number): void {
const viewX: number = this.transformViewX(this._touchManager.getX());
const viewY: number = this.transformViewY(this._touchManager.getY());
this._touchManager.touchesMoved(
pointX * window.devicePixelRatio,
pointY * window.devicePixelRatio
);
this._touchManager.touchesMoved(pointX, pointY);
const live2DManager: LAppLive2DManager = LAppLive2DManager.getInstance();
live2DManager.onDrag(viewX, viewY);
}
/**
*
*
*
* @param pointX X
* @param pointY Y
* @param pointX X
* @param pointY Y
*/
public onTouchesEnded(pointX: number, pointY: number): void {
// 触摸结束
// タッチ終了
const live2DManager: LAppLive2DManager = LAppLive2DManager.getInstance();
live2DManager.onDrag(0.0, 0.0);
{
// 单次触摸
// シングルタップ
const x: number = this._deviceToScreen.transformX(
this._touchManager.getX()
); // 获取经过逻辑坐标转换的坐标
); // 論理座標変換した座標を取得
const y: number = this._deviceToScreen.transformY(
this._touchManager.getY()
); // 获取经过逻辑坐标转换的坐标
); // 論理座標変化した座標を取得
if (LAppDefine.DebugTouchLogEnable) {
LAppPal.printMessage(`[APP]touchesEnded x: ${x} y: ${y}`);
}
live2DManager.onTap(x, y);
// 点击了齿轮?
if (
this._gear.isHit(
pointX * window.devicePixelRatio,
pointY * window.devicePixelRatio
)
) {
// 歯車にタップしたか
if (this._gear.isHit(pointX, pointY)) {
live2DManager.nextScene();
}
}
}
/**
* XView
* XView
*
* @param deviceX X
* @param deviceX X
*/
public transformViewX(deviceX: number): number {
const screenX: number = this._deviceToScreen.transformX(deviceX); // 获取经过逻辑坐标转换的坐标
return this._viewMatrix.invertTransformX(screenX); // 获取缩放,移动后的值
const screenX: number = this._deviceToScreen.transformX(deviceX); // 論理座標変換した座標を取得
return this._viewMatrix.invertTransformX(screenX); // 拡大、縮小、移動後の値
}
/**
* YView
* YView
*
* @param deviceY Y
* @param deviceY Y
*/
public transformViewY(deviceY: number): number {
const screenY: number = this._deviceToScreen.transformY(deviceY); // 获取经过逻辑坐标转换的坐标
const screenY: number = this._deviceToScreen.transformY(deviceY); // 論理座標変換した座標を取得
return this._viewMatrix.invertTransformY(screenY);
}
/**
* XScreen
* @param deviceX X
* XScreen
* @param deviceX X
*/
public transformScreenX(deviceX: number): number {
return this._deviceToScreen.transformX(deviceX);
}
/**
* YScreen
* YScreen
*
* @param deviceY Y
* @param deviceY Y
*/
public transformScreenY(deviceY: number): number {
return this._deviceToScreen.transformY(deviceY);
}
_touchManager: TouchManager; // 触摸管理器
_deviceToScreen: CubismMatrix44; // 从设备到屏幕的矩阵
_touchManager: TouchManager; // タッチマネージャー
_deviceToScreen: CubismMatrix44; // デバイスからスクリーンへの行列
_viewMatrix: CubismViewMatrix; // viewMatrix
_programId: WebGLProgram; // 着色器ID
_back: LAppSprite; // 背景图片
_gear: LAppSprite; // 齿轮图片
_changeModel: boolean; // 模型切换标志
_isClick: boolean; // 正在点击
_programId: WebGLProgram; // シェーダID
_back: LAppSprite; // 背景画像
_gear: LAppSprite; // ギア画像
_changeModel: boolean; // モデル切り替えフラグ
_isClick: boolean; // クリック中
}

View File

@ -11,9 +11,10 @@ export let s_instance: LAppWavFileHandler = null;
export class LAppWavFileHandler {
/**
*
*
*
*
* @return
* @return
*/
public static getInstance(): LAppWavFileHandler {
if (s_instance == null) {
@ -24,7 +25,7 @@ export class LAppWavFileHandler {
}
/**
*
*
*/
public static releaseInstance(): void {
if (s_instance != null) {
@ -38,7 +39,7 @@ export class LAppWavFileHandler {
let goalOffset: number;
let rms: number;
// 如果在加载数据之前/达到文件末尾,则不更新
// データロード前/ファイル末尾に達した場合は更新しない
if (
this._pcmData == null ||
this._sampleOffset >= this._wavFileInfo._samplesPerChannel
@ -47,7 +48,7 @@ export class LAppWavFileHandler {
return false;
}
// 保持经过时间后的状态
// 経過時間後の状態を保持
this._userTimeSeconds += deltaTimeSeconds;
goalOffset = Math.floor(
this._userTimeSeconds * this._wavFileInfo._samplingRate
@ -56,7 +57,7 @@ export class LAppWavFileHandler {
goalOffset = this._wavFileInfo._samplesPerChannel;
}
// RMS测量
// RMS計測
rms = 0.0;
for (
let channelCount = 0;
@ -84,11 +85,11 @@ export class LAppWavFileHandler {
}
public start(filePath: string): void {
// 初始化样本位参考位置
// サンプル位参照位置を初期化
this._sampleOffset = 0;
this._userTimeSeconds = 0.0;
// 重置RMS值
// RMS値をリセット
this._lastRms = 0.0;
if (!this.loadWavFile(filePath)) {
@ -107,7 +108,7 @@ export class LAppWavFileHandler {
this.releasePcmData();
}
// 文件加载
// ファイルロード
const asyncFileLoad = async () => {
return fetch(filePath).then(responce => {
return responce.arrayBuffer();
@ -120,7 +121,7 @@ export class LAppWavFileHandler {
this._byteReader._fileSize = this._byteReader._fileByte.byteLength;
this._byteReader._readOffset = 0;
// 如果文件加载失败或者没有足够的大小来插入顶部的签名"RIFF",则失败
// ファイルロードに失敗しているか、先頭のシグネチャ"RIFF"を入れるサイズもない場合は失敗
if (
this._byteReader._fileByte == null ||
this._byteReader._fileSize < 4
@ -128,50 +129,50 @@ export class LAppWavFileHandler {
return false;
}
// 文件
// ファイル
this._wavFileInfo._fileName = filePath;
try {
// 签名 "RIFF"
// シグネチャ "RIFF"
if (!this._byteReader.getCheckSignature('RIFF')) {
ret = false;
throw new Error('Cannot find Signeture "RIFF".');
}
// 文件大小-8跳过
// ファイルサイズ-8読み飛ばし
this._byteReader.get32LittleEndian();
// 签名 "WAVE"
// シグネチャ "WAVE"
if (!this._byteReader.getCheckSignature('WAVE')) {
ret = false;
throw new Error('Cannot find Signeture "WAVE".');
}
// 签名 "fmt "
// シグネチャ "fmt "
if (!this._byteReader.getCheckSignature('fmt ')) {
ret = false;
throw new Error('Cannot find Signeture "fmt".');
}
// fmt块大小
// fmtチャンクサイズ
const fmtChunkSize = this._byteReader.get32LittleEndian();
// 格式ID不接受1线性PCM以外的格式
// フォーマットIDは1リニアPCM以外受け付けない
if (this._byteReader.get16LittleEndian() != 1) {
ret = false;
throw new Error('File is not linear PCM.');
}
// 通道数量
// チャンネル数
this._wavFileInfo._numberOfChannels =
this._byteReader.get16LittleEndian();
// 采样率
// サンプリングレート
this._wavFileInfo._samplingRate = this._byteReader.get32LittleEndian();
// 数据速度[byte/sec](跳过
// データ速度[byte/sec](読み飛ばし
this._byteReader.get32LittleEndian();
// 块大小(跳过
// ブロックサイズ(読み飛ばし
this._byteReader.get16LittleEndian();
// 量化位
// 量子化ビット
this._wavFileInfo._bitsPerSample = this._byteReader.get16LittleEndian();
// 跳过fmt块的扩展部分
// fmtチャンクの拡張部分の読み飛ばし
if (fmtChunkSize > 16) {
this._byteReader._readOffset += fmtChunkSize - 16;
}
// 跳过直到出现"data"块
// "data"チャンクが出現するまで読み飛ばし
while (
!this._byteReader.getCheckSignature('data') &&
this._byteReader._readOffset < this._byteReader._fileSize
@ -179,12 +180,12 @@ export class LAppWavFileHandler {
this._byteReader._readOffset +=
this._byteReader.get32LittleEndian() + 4;
}
// 文件中没有出现"data"块
// ファイル内に"data"チャンクが出現しなかった
if (this._byteReader._readOffset >= this._byteReader._fileSize) {
ret = false;
throw new Error('Cannot find "data" Chunk.');
}
// 样本数量
// サンプル数
{
const dataChunkSize = this._byteReader.get32LittleEndian();
this._wavFileInfo._samplesPerChannel =
@ -192,7 +193,7 @@ export class LAppWavFileHandler {
(this._wavFileInfo._bitsPerSample *
this._wavFileInfo._numberOfChannels);
}
// 保留区域
// 領域確保
this._pcmData = new Array(this._wavFileInfo._numberOfChannels);
for (
let channelCount = 0;
@ -203,7 +204,7 @@ export class LAppWavFileHandler {
this._wavFileInfo._samplesPerChannel
);
}
// 获取波形数据
// 波形データ取得
for (
let sampleCount = 0;
sampleCount < this._wavFileInfo._samplesPerChannel;
@ -230,7 +231,7 @@ export class LAppWavFileHandler {
public getPcmSample(): number {
let pcm32;
// 在扩展到32位宽度后将其四舍五入到-11的范围内
// 32ビット幅に拡張してから-11の範囲に丸める
switch (this._wavFileInfo._bitsPerSample) {
case 8:
pcm32 = this._byteReader.get8() - 128;
@ -243,7 +244,7 @@ export class LAppWavFileHandler {
pcm32 = this._byteReader.get24LittleEndian() << 8;
break;
default:
// 不支持的位宽
// 対応していないビット幅
pcm32 = 0;
break;
}
@ -294,11 +295,11 @@ export class WavFileInfo {
this._samplesPerChannel = 0;
}
_fileName: string; ///< 文件
_numberOfChannels: number; ///< 通道
_bitsPerSample: number; ///< 每个样本的位
_samplingRate: number; ///< 采样率
_samplesPerChannel: number; ///< 每个通道的总样本
_fileName: string; ///< ファイル
_numberOfChannels: number; ///< チャンネル
_bitsPerSample: number; ///< サンプルあたりビット
_samplingRate: number; ///< サンプリングレート
_samplesPerChannel: number; ///< 1チャンネルあたり総サンプル
}
export class ByteReader {
@ -310,8 +311,8 @@ export class ByteReader {
}
/**
* @brief 8
* @return Csm::csmUint8 8
* @brief 8
* @return Csm::csmUint8 8
*/
public get8(): number {
const ret = this._fileDataView.getUint8(this._readOffset);
@ -320,8 +321,8 @@ export class ByteReader {
}
/**
* @brief 16
* @return Csm::csmUint16 16
* @brief 16
* @return Csm::csmUint16 16
*/
public get16LittleEndian(): number {
const ret =
@ -332,8 +333,8 @@ export class ByteReader {
}
/**
* @brief 24
* @return Csm::csmUint32 2424
* @brief 24
* @return Csm::csmUint32 2424
*/
public get24LittleEndian(): number {
const ret =
@ -345,8 +346,8 @@ export class ByteReader {
}
/**
* @brief 32
* @return Csm::csmUint32 32
* @brief 32
* @return Csm::csmUint32 32
*/
public get32LittleEndian(): number {
const ret =
@ -359,10 +360,10 @@ export class ByteReader {
}
/**
* @brief
* @param[in] reference
* @retval true
* @retval false
* @brief
* @param[in] reference
* @retval true
* @retval false
*/
public getCheckSignature(reference: string): boolean {
const getSignature: Uint8Array = new Uint8Array(4);
@ -381,8 +382,8 @@ export class ByteReader {
);
}
_fileByte: ArrayBuffer; ///< 加载的文件字节序
_fileByte: ArrayBuffer; ///< ロードしたファイルのバイト
_fileDataView: DataView;
_fileSize: number; ///< 文件大小
_readOffset: number; ///< 文件引用位置
_fileSize: number; ///< ファイルサイズ
_readOffset: number; ///< ファイル参照位置
}

View File

@ -9,39 +9,27 @@ import { LAppDelegate } from './lappdelegate';
import * as LAppDefine from './lappdefine';
/**
*
*
*/
window.addEventListener(
'load',
(): void => {
// 创建应用实例
if (LAppDelegate.getInstance().initialize() == false) {
return;
}
window.onload = (): void => {
// create the application instance
if (LAppDelegate.getInstance().initialize() == false) {
return;
}
LAppDelegate.getInstance().run();
},
{ passive: true }
);
LAppDelegate.getInstance().run();
};
/**
*
*
*/
window.addEventListener(
'beforeunload',
(): void => LAppDelegate.releaseInstance(),
{ passive: true }
);
window.onbeforeunload = (): void => LAppDelegate.releaseInstance();
/**
*
* Process when changing screen size.
*/
window.addEventListener(
'resize',
() => {
if (LAppDefine.CanvasSize === 'auto') {
LAppDelegate.getInstance().onResize();
}
},
{ passive: true }
);
window.onresize = () => {
if (LAppDefine.CanvasSize === 'auto') {
LAppDelegate.getInstance().onResize();
}
};

View File

@ -7,7 +7,7 @@
export class TouchManager {
/**
*
*
*/
constructor() {
this._startX = 0.0;
@ -91,9 +91,9 @@ export class TouchManager {
}
/**
*
* @param deviceX x
* @param deviceY y
*
* @param deviceX x
* @param deviceY y
*/
public touchesBegan(deviceX: number, deviceY: number): void {
this._lastX = deviceX;
@ -106,9 +106,9 @@ export class TouchManager {
}
/**
*
* @param deviceX x
* @param deviceY y
*
* @param deviceX x
* @param deviceY y
*/
public touchesMoved(deviceX: number, deviceY: number): void {
this._lastX = deviceX;
@ -118,8 +118,8 @@ export class TouchManager {
}
/**
* flick
* @return flick
*
* @return
*/
public getFlickDistance(): number {
return this.calculateDistance(
@ -131,12 +131,12 @@ export class TouchManager {
}
/**
* 12
*
*
* @param x1 x
* @param y1 y
* @param x2 x
* @param y2 y
* @param x1 x
* @param y1 y
* @param x2 x
* @param y2 y
*/
public calculateDistance(
x1: number,
@ -148,13 +148,13 @@ export class TouchManager {
}
/**
*
* 0
*
*
*
* @param v1
* @param v2
* @param v1
* @param v2
*
* @return
* @return
*/
public calculateMovingAmount(v1: number, v2: number): number {
if (v1 > 0.0 != v2 > 0.0) {
@ -169,18 +169,18 @@ export class TouchManager {
);
}
_startY: number; // 触摸开始时的x值
_startX: number; // 触摸开始时的y值
_lastX: number; // 单点触摸时的x值
_lastY: number; // 单点触摸时的y值
_lastX1: number; // 双点触摸时的第一个点的x值
_lastY1: number; // 双点触摸时的第一个点的y值
_lastX2: number; // 双点触摸时的第二个点的x值
_lastY2: number; // 双点触摸时的第二个点的y值
_lastTouchDistance: number; // 当触摸2个以上的点时指的距离
_deltaX: number; // 从上一个值到现在的值的x移动距离
_deltaY: number; // 从上一个值到现在的值的y移动距离
_scale: number; // 这一帧要乘的缩放比例。除了缩放操作中,其他时候为1。
_touchSingle: boolean; // 单点触摸时为true
_flipAvailable: boolean; // flick是否可用
_startY: number; // タッチを開始した時のxの値
_startX: number; // タッチを開始した時のyの値
_lastX: number; // シングルタッチ時のxの値
_lastY: number; // シングルタッチ時のyの値
_lastX1: number; // ダブルタッチ時の一つ目のxの値
_lastY1: number; // ダブルタッチ時の一つ目のyの値
_lastX2: number; // ダブルタッチ時の二つ目のxの値
_lastY2: number; // ダブルタッチ時の二つ目のyの値
_lastTouchDistance: number; // 2本以上でタッチしたときの指の距離
_deltaX: number; // 前回の値から今回の値へのxの移動距離
_deltaY: number; // 前回の値から今回の値へのyの移動距離
_scale: number; // このフレームで掛け合わせる拡大率。拡大操作中以外は1。
_touchSingle: boolean; // シングルタッチ時はtrue
_flipAvailable: boolean; // フリップが有効かどうか
}

View File

@ -11,9 +11,7 @@
"baseUrl": "./",
"paths": {
"@framework/*": ["../../../Framework/src/*"]
},
"noImplicitAny": true,
"useUnknownInCatchVariables": true
}
},
"include": [
"src/**/*.ts",

View File

@ -34,7 +34,7 @@ module.exports = {
}
],
hot: true,
port: 8080,
port: 5000,
host: '0.0.0.0',
compress: true,
devMiddleware: {

View File

@ -1,72 +0,0 @@
[English](README.md) / [日本語](README.ja.md)
---
# Cubism Web Samples for TypeScript
TypeScript で実装したアプリケーションのサンプル実装です。
## 開発環境
| パッケージ | バージョン |
| --- | --- |
| TypeScript | 5.2.2 |
| Webpack | 5.88.2 |
その他のパッケージに関しては、各プロジェクトの `package.json` を確認してください。
また、その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.ja.md) を参照してください。
## タスク一覧
### `npm: start`
開発用のローカルサーバが起動され、プロジェクトの監視ビルドが行われます。
プロジェクトの変更を行うと自動的に再ビルドが行われ、ブラウザのリロードが発生します。
[プロジェクトのデバック]から Visual Studio Code 上でデバックを行うことができます。
Visual Studio Code 上で終了する場合は、
コマンドパレットから `>Tasks: Terminate Task` を入力してタスクを選択します。
### `npm: build`
`dist` ディレクトリに、TypeScript のビルド成果物を出力します。
Webpack を用いて1つにまとめられた JavaScript ファイルが出力されます。
`tsconfig.json` 及び `webpack.config.js` を編集することで設定内容を変更できます。
### `npm: build:prod`
上記のビルドを最適化した上で行います。
ビルドサイズが削減されるため、本番環境用の成果物の出力に使用します。
### `npm: test`
TypeScript の型チェックテストを行います。
`tsconfig.json` を編集することで設定内容を変更できます。
### `npm: lint`
`src` ディレクトリ内の TypeScript ファイルの静的解析を行います。
`.eslintrc.yml` を編集することで設定内容を変更できます。
### `npm: lint:fix`
`src` ディレクトリ内の TypeScript ファイルの静的解析及び自動修正を行います。
`.eslintrc.yml` を編集することで設定内容を変更できます。
### `npm: serve`
簡易ローカルサーバを起動します。
ブラウザからサーバ内の `/Samples/TypeScript/Demo` にアクセスすることで index.html の確認ができます。
事前にプロジェクトのビルドを行なっている必要があります。
本番環境に近い環境で成果物の検証を行うことができます。
### `npm: clean`
ビルド成果物ディレクトリ(`dist`)を削除します。

View File

@ -1,71 +1,68 @@
[English](README.md) / [日本語](README.ja.md)
---
# Cubism Web Samples for TypeScript
This is a sample implementation of an application implemented with TypeScript.
TypeScript で実装したアプリケーションのサンプル実装です。
## Development environment
## 開発環境
| Package | Version |
| パッケージ | バージョン |
| --- | --- |
| TypeScript | 5.2.2 |
| Webpack | 5.88.2 |
| TypeScript | 4.6.4 |
| Webpack | 5.72.1 |
For other packages, check the `package.json` for each project.
For other development environments and operation environments, see [README.md](/README.md) in the top directory.
その他のパッケージに関しては、各プロジェクトの `package.json` を確認してください。
また、その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.md) を参照してください。
## Task list
## タスク一覧
### `npm: start`
Starts a local server for development and creates a project monitor build.
Any changes you make to the project will automatically rebuild and cause the browser to reload.
You can debug in Visual Studio Code from [Debug Project].
開発用のローカルサーバが起動され、プロジェクトの監視ビルドが行われます。
プロジェクトの変更を行うと自動的に再ビルドが行われ、ブラウザのリロードが発生します。
[プロジェクトのデバック]から Visual Studio Code 上でデバックを行うことができます。
To terminate in Visual Studio Code, type `>Tasks: Terminate Task` and select the task from the command palette.
Visual Studio Code 上で終了する場合は、
コマンドパレットから `>Tasks: Terminate Task` を入力してタスクを選択します。
### `npm: build`
Outputs a TypeScript build deliverable to the `dist` directory.
The output is a JavaScript file that has been bundled into one using Webpack.
`dist` ディレクトリに、TypeScript のビルド成果物を出力します。
Webpack を用いて1つにまとめられた JavaScript ファイルが出力されます。
You can change the settings by editing `tsconfig.json` and `webpack.config.js`.
`tsconfig.json` 及び `webpack.config.js` を編集することで設定内容を変更できます。
### `npm: build:prod`
Creates above build after optimizing it.
It is used to output deliverables for production environments as it reduces the build size.
上記のビルドを最適化した上で行います。
ビルドサイズが削減されるため、本番環境用の成果物の出力に使用します。
### `npm: test`
Performs a TypeScript type check test.
TypeScript の型チェックテストを行います。
You can change the settings by editing `tsconfig.json`.
`tsconfig.json` を編集することで設定内容を変更できます。
### `npm: lint`
Performs static analysis of TypeScript files in the `src` directory.
`src` ディレクトリ内の TypeScript ファイルの静的解析を行います。
You can change the settings by editing `.eslintrc.yml`.
`.eslintrc.yml` を編集することで設定内容を変更できます。
### `npm: lint:fix`
Performs static analysis and automatic modification of TypeScript files in the `src` directory.
`src` ディレクトリ内の TypeScript ファイルの静的解析及び自動修正を行います。
You can change the settings by editing `.eslintrc.yml`.
`.eslintrc.yml` を編集することで設定内容を変更できます。
### `npm: serve`
Starts a simple local server.
You can check the index.html by accessing `/Samples/TypeScript/Demo` in the server from your browser.
The project needs to be built in advance.
簡易ローカルサーバを起動します。
ブラウザからサーバ内の `/Samples/TypeScript/Demo` にアクセスすることで index.html の確認ができます。
事前にプロジェクトのビルドを行なっている必要があります。
Deliverables can be verified in an environment close to the production environment.
本番環境に近い環境で成果物の検証を行うことができます。
### `npm: clean`
Deletes the build deliverable directory (`dist`).
ビルド成果物ディレクトリ(`dist`)を削除します。