これはブログです

3DCGとかプログラミングとか

ボーンの回転角制限の設定と保存

ボーンの回転角制限の設定と保存するスクリプトを書きました。加えて他のスクリプトも含めてウィジェット化しました。基本的には「Program Files」の中の「Shade3D」→・・・→「widgets」の中に入れてもらえば認識はすると思います。

スクリプトは下記よりDLしてください。

ウィジェット化にあたり、@cg_ftLab さんには色々とTwitter上でサンプルコードや助言を頂きました。ありがとうございます。組み込まれているコードの一部はそのまま使わせて頂いております。

話をボーンの回転角制限の設定と保存するスクリプトに戻しますと、ボーンを設置しただけだと勿論回転角制限なんてものは設定されていません。設定するにはボーンを選択し、「統合パレット」の「ボーンジョイント属性」のスライダにある白三角を移動させるか、数値を入力するテキストボックスをCtrlを押しながらクリックするとウインドウが出ますので、そこで設定することになります。

回転角制限を設けることであらぬ方向に曲げることを防ぐ事ができます。例えばヒトのボーンの関節など。ただ、これをチマチマ手打ちしていくのが面倒くさい、しかも共通のボーンを使っているならなおさら。

前置きが長くなりましたが、つまりは一つ作ってしまえば共通して使いまわしできるようにしました。

まずウィジェットを立ち上げると3つのボタンがあります。

  1. 設定する
    • 「設定する」ボタンをクリックすると、設定ファイル(JSON形式)を聞かれ、ファイルを開くと実行される
    • 対象となるボーンはブラウザ上で選択したボーンとその下層
    • 設定ファイルにないボーンは「メッセージウィンドウ」で「Skip : ~」と表示される
    • 「END」と表示されると終了
  2. 保存する
    • クリックすると、選択したボーンとその下層のボーンの回転角制限を保存する
    • 形式はJSONファイル
  3. 左右反転したJSONファイルの作成
    • この機能はオプション
    • Z軸に対して反転した回転角制限を作成
    • 「作成する」ボタンをクリックするとスクリプトが実行される

左右反転オプション機能の想定としては、ヒトの右/左半身のボーンの設定用に作りました。ただ現状、ボーン名に関係なく書かれている設定をすべて反転します。なので、反転したい回転角制限の設定ファイルは別にしておく必要があります。

注意事項として以下の3点あります。

  1. ボーン名は英数字すること
  2. ボーン名にダブリが無いようにすること
  3. JSONファイルの名前を英数字にすること

バグ等ありましたら、githubのissueを立ててもらうか、Twitterでリプなりを頂ければと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください