久しぶりにblender弄りましたよ。もう完全に操作忘れてた……
最初は何か適当なモーションをよそから借りてきて追加してみようかと思ったんですが、一人用のモーションならなんとか私でも作れるかなあ、と思って久しぶりにblenderと格闘してみることに。そういえば男性用のオナニーモーションって、デフォルトだと一種類しかなくて物足りないよなあ、と思っていたので、寝転がった体勢で自慰しているモーションを作ってみることにしました。
それにしてもあれですね、エッチなモーションを作る時は、裸の素体でちゃんとアレが戦闘状態になったものをアタリのモデルとして用意しておかないと難しいですね。
実際にゲーム上で確認したら股間と手の位置が全然合ってなくて、調整に手こずってしまいました。
そんなわけで何十回とblenderとスカイリムを行き来して大事な物をしっかり握り締めることに成功。
テストしてる最中、リディアさんの視線がものすごく痛かったです。
ちなみにSSLにアニメーションを登録するスクリプトは下記のような感じでOKでした。テストしてる最中、リディアさんの視線がものすごく痛かったです。
意外にシンプルでしょう?(そうでもない?)
正確に言うと、すでに同じレジスト名のアニメーションが登録されてた場合のみ、それが返ってくる感じです。
しかし新規登録に成功した場合はなぜか何も返ってこない。
その辺、1.6では修正されてたんで、たぶん見落としてたんじゃないかなって思ってるんですが……まあそんな現状なので、戻り値には期待せずに、アニメーションの詳細の登録はコールバックのMod Event内で行ってます。
ちなみに「RegisterAnimation(レジスト名, コールバックを受け取るForm)」と引数を指定すると、アニメーション枠の確保が完了した際に、コールバックを受け取るFormで登録したレジスト名のModEventを受け取ることができます。
その際、確保されたアニメーション枠が何番目のスロットか、という情報(id)が取得できるので、それを使って実際に登録されたアニメーション枠(実体はエイリアス)を特定して、アニメーションの名前やステージのモーション、タグや効果音といった詳細を保存する……という流れです。
私は最初、ModEventってのは「Event イベント名~EndEvent」という書き方じゃないとイベントを受け取れないと思ってたんですが(CK Wikiにもそれしか載ってないし)、イベント名の関数が設定されてるだけで実行されるんですね(知ってました?)
SexLab様のデフォルトのアニメーション登録の部分を見ていて、どこぞで呼んでる気配もないのに何ゆえレジスト名の関数が実行されるんだろう、とずっと不思議に思ってたんですが、まさかModEventにそういう書き方があったとは思いもしませんでした。
なんだか英語名の中に日本語があると思いっきり目立ちますね。
ちなみにblenderなどで作った自作モーションをSexLabで使うためには、そのモーションをスクリプトから呼べるようにFNISでAnimEventを登録する必要があります。以下はその下準備の手順のメモです(忘れちゃうので書いておきます)
まずモーションファイル(hkxファイル)の用意が出来たら、FNISを使ってBehaviorのhkxファイルを作成します。
これは新規モーションをFNIS様に読み込んでもらうための定義ファイル?なので、いつも使う赤いFNIS様の方じゃなくて、青いアイコンの「GenerateFNIS_for_Modders」の方を使って作成します。。
ファイルの構成、置き場などはこんな感じ。
「Data/Meshes/Actors/Character/animations」の中に自分のMod名のフォルダを作って、そこに作ったアニメーションのファイル(hkxファイル)とFNISのリスト(FNIS_Mod名_List.txt)ファイルを入れます。FNISのリストはメモ帳などのエディタを使って作成します。中身はこんな感じ↓です。
ちなみに今回はアニメーションを1種類しか作らなかったので1グループしか記述していませんが、リストファイル1個の中にアニメーションをいくつでも設定することができます。
「GenerateFNIS_for_Modders」で作成したリストファイルを読み込むと 「Data/Meshes/Actors/Character/behavious」の中に、「FNIS_Mod名_Behavior.hkx」というファイルが作成されます。
あとは赤いFNIS様で、いつもやってるように他のModのモーション達と一緒にジェネレートしておきます。
これでFNIS様の下準備は終了です。
# # # # #
1.6ではどーんとアニメーション枠が増えるので、皆様もぜひお試しいただきたいなと思います。
まあモーション作成自体が至難のワザなんですけどね……