■Unity開発メモ用のWiki◎現在扱っていること・Unity全般・MMDからUnityへの変換してインポート・MMDの仕様把握・BlenderでMMDモデルのカスタム


目次


SexLabのアニメーションの仕様と作り方

HKX ファイルファイルの命名規則(SexLabの場合)

HKX がアニメーションに使用される場合、通常は、アニメーション、どのアクターが対象であるか、
シーケンス内のどの位置にあるかを簡単に識別できるように、一定の規則に従って名前が付けられます。

式/構造は次のとおりです。
[animator]_[animname]_aX_sY.hkx
[アニメーションパックやMOD作成者の名前?]_[モーションの名前]_aX_sY.hkx

一例を挙げると、次のようになります。
rydin_kissing_standing_a1_s1.hkx
この場合以下の様なシーンであることがわかります。
  • アニメーターは「rydin」、
  • アニメ名は「kissing_standing」
  • 立位でのキスシーン
  • 「a」は俳優を表し
  • 「s」はシーンを表します。
これは、アニメーションがアクター 1 に影響を与え、それがシーン 1 であることを示しています。
SexLab によってアニメーションが選択される場合、
通常アクター 1 がプレーヤーの役割になることに注意することが重要です

アニメーションパック用MODのディレクトリ構造

■前提
◎MOD名
・アニメーション用の「TEST_PACK_01」という名前の自作MODをMO2で作る
◎今回作るアニメーション
・SEXLAB向けクリーチャーアニメーションのウェアウルフ
◎ディレクトリ構造
・MOD管理ソフトMO2を使い以下のデフォルトディレクトリとする
C:\Modding\MO2\mods
・MOD名「TEST_PACK_01」に以下の様なフォルダ構成を作る
  1. MOD直下に「meshes」フォルダを作る
  2. 「meshes」フォルダ直下に「actors」フォルダと「MoreNastyCritters」フォルダを作る
  3. 「actors」フォルダ直下に「werewolf(各種クリーチャー)」フォルダを作る
  4. werewolf(各種クリーチャー)」フォルダ直下に「animations」フォルダと「behaviors」フォルダを作る
  5. 「behaviors」フォルダ直下に「TEST_MOD(任意の名前)」フォルダを作る
  6. 「MoreNastyCritters」フォルダ直下に「werewolf(各種クリーチャー)」フォルダを作る
  7. MODの直下に「SLAnims」フォルダを作成する
  8. 「SLAnims」フォルダの直下に「json」「source」フォルダを作成する
※「animations」の下につくる「TEST_MOD(任意の名前)」は
後で作るソースの"anim_dir"で定義する名前と同じにする事

TEST_PACK_01
└─meshes
│ ├─actors
│ │  └─werewolfbeast (モンスターの場合「Character」ではなく、それぞれ対応したモンスターのフォルダを作る)
│ │      ├─animations (FNIS_***_List.txtやHKX素材を置く場所)
│ │      │  └─TEST_MOD (自分の分かりやすい名前を付ける・”anim_dir”と同じにする事)
│ │      └─behaviors (HKXファイルが出力される場所)
│ └─MoreNastyCritters (SEXLABモンスターフレームワーク専用?)
│          └─werewolf  (nifファイル・元のウェアウルフに関するnifファイルをコピーする?)
└─SLAnims (FNIS用のフォルダ)
    ├─json (FNISに必要なJSONを置く場所)
    └─source (FNIS向けJSONを作るソースを置く場所)

ソースファイルの定義

・今回「Test_Pack_1.txt」という名前のソースファイルを作る
・以下のディレクトリとなる
"C:\Modding\MO2\mods\TEST_PACK_01\SLAnims\source\Test_Pack_1.txt"

■ソースファイルの雛形
is_example = False 
mcm_name = "" 
anim_dir("") 
anim_id_prefix("") 
anim_name_prefix("") 
common_tags("")

■ゲーム内の Mod 構成メニュー (MCM) に表示されるパックの名前
・今回は「MY_TEST_PACK_01」とする
mcm_name = "MY_TEST_PACK_01"

■アニメーション ディレクトリの名前
anim_dir("MoreNastyCritters")
・素材となるHKX ファイルが含まれるフォルダー
・今回は「XXX TestPack」という名前にする
 →「MOD作者名(プレフィックス名)+半角スペース+そのアニメーションパックを表す言葉」が良い?
・今回だと以下のフォルダ構造になっている
”C:\Modding\MO2\mods\TEST_PACK_01\meshes\actors\werewolfbeast\animations\XXX TestPack”

■アニメーターの名前
anim_id_prefix("XXX_")
・ファイル用にコーディングされるアニメーションのプレフィックス名
・名前の後にアンダースコア (_) を使用することをお勧めします。
・今回は「XXX_」という名前にする

■ゲーム内の MCM に表示されるアニメーションの名前の一部
anim_name_prefix("XXX ")
アニメーターの名前 (Leito、Arrok、Rydin など) になります。
最後の引用符 (") の前にスペースを入れる必要があります。
 →そうしないと、MCM 内のアニメーションのタイトルと結合されます。
・今回は「XXX 」という名前にする

■パック内のすべてのアニメーションに共通のタグ
common_tags("XXX")
アニメーターの名前 (Leito、Arrok、Rydin など) になります。

■今回使うソースファイルの例
is_example = False 
mcm_name = "MY_TEST_PACK_01" 
anim_dir("XXX TestPack") 
anim_id_prefix("XXX_") 
anim_name_prefix("XXX ") 
common_tags("XXX")

◎is_example = True
この行は、SLAnimGenerate.pyw ダイアログに表示されないようにするために MOD 作成者によって追加されました。
これを false に変更すると、SLAnimGenerate.pyw ファイルを使用するときにオプションとして表示されます。
この行を完全に削除することも、false に変更することもできます。
将来これらのテキスト ファイルをジェネレーターから非表示にする必要がある場合に備えて、
これを false に変更し、その行を保持しておくことをお勧めします。

ソースファイル内のアニメーション定義の見方

以下はアニメーションを追加するための基本的なコードです。
Animation(
  id=" ", 
  name=" ", 
  tags="", 
  sound="”, 
  actor1=, 
  actor2=, 
)

■アニメーションID
id=" ",
anim_id_prefixで定義した単語を接頭文字として、アニメーションの完全な IDを作成します。
例)
ソースの頭で宣言したアニメIDのプレフィックスを「SLAA_」とし、
anim_id_prefix("SLAA_")
アニメーションIDを「Passionate_Kissing」をした場合
id="Passionate_Kissing"
最終的にFNISやSexLabが認識するアニメーションIDは以下になる
SLAA_Passionate_Kissing

■MCMで表示されるアニメーションの名前
name=" "、
ID と同じロジックに従い、anim_name_prefix と結合してアニメーションのフルネームを作成します。

■アニメーションの個々のタグ
tags="",
スペースを入れず、各タグをカンマ (,) で区切ってください。

■アニメーション全体の効果音
sound="",
許可される値は、Squishing、Squirting、Sucking、SexMix、および NoSound です。
後で個別のステージに個別のパラメータを追加できます。
これは俳優のうめき声や声には影響せず、効果音のみに影響します。

■アクター 1の定義
Actor1=,
アクター 1 は、ほとんどの場合、プレイヤーと女性です。

■アクター 2の定義
Actor2=、
アクター 2 は、ほとんどの場合 NPC またはクリーチャーです。

FNISでの取り込み

ソースファイルからFNIS用のJSONファイルを作る

以下のコマンドで Python 3.x がインストールされていることを確認してください。
python --version

ソース ファイルが完成すると、MOD に必要なファイルが読み取られてJSONファイルが生成されます。
SLAnims フォルダーに移動し、SLAnimsGenerate.pyw ファイルを見つけて実行します。

リストからパックを選択すると、anim_name_prefix + ソース ファイルの名前を使用して、
[アニメーション] ボックスにソース ファイルのアニメーションのリストが表示されます。

セットアップのどこかにエラーがある場合、次のメッセージで警告が表示されます。
線をクリックすると、エラーの内容が表示され、問題の内容が示されます。

JSON ファイルと FNIS ファイルを作成するには、[Build Catalog]
(複数のパックがある場合は [All]) をクリックするだけです。


FNISでビヘイビアファイルを作成する

1.FNISのMOD作成者向けツール「Generate FNIS for Modders」を起動する
2〜3.HKXファイルのあるフォルダにある「FNIS_***_list.txt」を選択する
4.エラーがなく、ビヘイビアファイルが作られた事を確認する
5.いつものFNIS「Generate FNIS for Users」を実行する

手順メモ

・事前にまとめるモーションのIDを控える
・MO2で空のMODを作る
・アニメーションのテンプレートを入れる
・「meshes\actors\Character\animations」にあるフォルダの名前をソースで定義した名前に変更する
・「SLAnims\source」のソースファイルの名前を適切な名前に変更する
・ソースファイルのヘッダーを適切に書き換える

チェックリセット

・ファイルやフォルダの名前は適切か?
 →名前にスペース等入れいないか?
 →テンプレートで使いまわしている場合、名前を変更したか?

・ソース・ファイルで指定したアニメーションフォルダまでのパスは正しいか?

・HKXファイルの名前とソースファイルで定義した名前は同じか?
 →アニメーションの作者のIDをソースファイルに追記する必要がある場合がある

・FNISで処理できるアニメーション数の限界になっていないか?

・犬種族の「FNIS_***_canine_List.txt」の場合「Dog」や「Wolf」に変更したか?

・ツール「LAnimsGenerate.pyw」で指定したファルダは、目的のMODのディレクトリフォルダか?

・Pythonは3.xになっているか?
 →「python --version」で調べる

・クリーチャー系のモンスターはHKXファイルがクリーチャーと人間に分かれているので適切に配置したか?

■エラーメッセージ


パラメータの微調整

アニメーションを Skyrim にロードすると、アクターの位置が正しくない、サウンドが間違っている、
またはその他の小さな問題に気づく場合があります。
このような単純なパラメータのほとんどは、スカイリムを終了することなく調整できます。

カテゴリのソース ファイルを変更し、SLAnimGenerate.pyw でビルドするだけです。
これは、スカイリムを実行している間に行うことができます。

次に、SLAnimLoader MCM メニューに移動し、「全般オプション」セクションで
「JSON 設定を再適用」をクリックします。
これにより、すでに Skyrim に登録されているすべての SLAnimLoader アニメーションの設定が更新されます。

※タグを変更した場合、SEXLABの「アニメーションの設定をリセット」を行う必要がある?

aaaあ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

管理人/副管理人のみ編集できます