これはブログです。

3DCGとかWebとかカメラとか

2020/04/20

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

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

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

 

 

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

 

 

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

 

 

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

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

 

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

 

1.  設定する

「設定する」ボタンをクリックすると、設定ファイル(JSON形式)を聞いてくるのでファイルを開くと実行されます。対象となるボーンはブラウザ上で選択したボーンとその下層です。設定ファイルにないボーンは「メッセージウィンドウ」で「Skip : ~」と表示されます。「END」と表示されれば終了です。

 

2. 保存する

「保存する」ボタンをクリックすると、選択したボーンとその下層のボーンの回転角制限を保存します。最後に保存ダイアログが出ます、形式はJSONファイルです。

 

3. 左右反転したJSONファイルの作成

この機能はオプションになります。Z軸に対して反転した回転角制限を設定します。「作成する」ボタンをクリックするとスクリプトが実行されます。

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

 

※ 注意

1.  ボーン名は英数字にしてください。また、ダブリは無いようにしてください。

2. JSONファイルのファイル名も英数字にしてください。

3. 初期ウィンドウが小さいかもしれません。大きくしてもらえば次回からそのサイズで立ち上がります。

 

 

 

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

カテゴリ: プログラミング / タグ: ,

まだコメントはありません。

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

%d人のブロガーが「いいね」をつけました。