21
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HoudiniAdvent Calendar 2019

Day 12

HDKでアニメーションをSOPに取り込む

Last updated at Posted at 2019-12-11

SOP でなんでも処理したいマンの最大の悩み「SOPでアニメーションを扱いたい!」を解決すかもしれない、FBX アニメーションを取り込む SOPノードを開発しました、という話をしたいと思います。

#モチベーション

Houdini 18ベータテスト中のある日、BoneDeform のマニュアルに以下の記載をみつけました。
https://www.sidefx.com/docs/houdini/nodes/sop/bonedeform.html

Since Houdini 18.0, Bone Deform can also be used with point attributes in its second and third inputs.
The capture paths in the boneCapture attribute in its first input are matched with the point name attribute in the second and third inputs. Instead of using the rest transform within boneCapture, it is taken from the second input’s P and transform (matrix3) point attribute values. Instead of using the transforms from bone objects, they are instead taken from the third input’s P and transform (matrix3) point attribute values.

解説すると、Houdini 18 の Bone Deformer はインプット2 及び 3 にポイントアトリビュートを使用できるようになりました。bone object の代わりに、ポイントアトリビュートの name は boneCapture にマッチした名称、P、transform(matrix3) へ姿勢を与えることでボーン変形を解けるようになりました。インプット2 はバインドポーズ、インプット3 はカレントポーズになります。

と、これを発見した時に、あとはアニメーションさえ取り込めればいいのでは? という思いに至りました。

#FbxAnimationSOP
前置きはこれくらいにして、FBXアニメーションを読み込み SOP を開発しました。Houdini をゲーム開発で活用している、活用していきたいと奮闘されている同志の助けになればと思いソースコードを公開しました。
https://bitbucket.org/hideki/houdinifbxanimation

ビルド方法を解説します。

#準備
事前に用意するものは以下です

  • Houdini 18
  • Visual Studio 2017
  • cmake
    • 恐らくv3.6以上

#ビルド
ビルドはcmakeでプロジェクトファイルを生成する必要があります。プロジェクトファイルは以下の手順で作成できます。 ※フォルダは例ですので、環境に合わせて変更してください。

>mkdir d:\work
>cd d:\work
>git clone https://bitbucket.org/hideki/houdinifbxanimation.git 
>cd houdinifbxanimation
>mkdir build
>cd build
>cmake -G "Visual Studio 15 2017 Win64" ..

Houdiniのプラグイン開発に慣れていない方は以下の手順でコマンドプロンプトを開いてください。

  1. Houdini 18を起動
  2. WindowsメニューからShellを選択
    image.png

無事プロジェクトファイル (SOP_FbxAnimation.sln) が生成されたら、Visual Studioでプロジェクトを開いてビルドします。
ビルドが成功したら
%USERPROFILE%/Documents/houdini18.0/otls
に SOP_FbxAnimation.dll が追加されます。

fbxanim.gif

BoneDeformと併用すると
fbxanim2.gif

#最後に
コードの解説をと考えていましたが締め切りを死守するために割愛しました… 公開したコードはこれから Houdiniでプラグインを実装したいと考えられている方に向けて、出来るだけコンパクトに実装しています。Houdini で FBXSDK を扱う方法や SOPノードでジオメトリを生成する方法を理解するためのサンプルコードとしても活用してもらえれば幸いです。

21
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?