様々なコンストレイント:::::::::::オブジェクトのプロパティを編集する機能を追加タイトルとは関係ないですが、物理オブジェクトを選択した時にもプロパティを編集できるようにしたいと思うので、まずはコチラを片づけます。コンストレイントを選択してプロパティビューを更新するというものを実装しているのでこれを参考に対応します。ダンピング、サイズ、位置、回転などオブジェクトに関わるほぼ全てのプロパティが編集できることを確認しました。ヒンジコンストレイントを追加する機能では本題の追加できるコンストレイントを増やす作業に入ります。コンストレイントの追加コマンドを実装できました。情報を書き出せないので少々面倒ですが、セーブ・ロードのコードを書いていきます。コンストレイントの書き出し、読み込みを確認しました。UseFrameOffsetちょっとハマってしまった(40分ほど)落とし穴がありました。プロパティを編集できるように機能追加を行います。機能追加を行いました。ヒンジの軸の向きを修正したり、制限角度を設定したり、トルクを与えたりと基本的なヒンジコンストレイントの編集が行えることを確認しました。引き続き、次の6自由度のコンストレイントの追加、編集、保存と復元機能を実装します。(調べたのが一年前ですから、もうすっかり忘れてしまっています。自分のことですが、まとめてくれていて本当に助かる。)<実装>うーん、6自由度コンストレイントの追加はできますがコンストレイントの描画で苦しみます。...つまり何をどうすれば良いのか...お?ひらめきました!解決できたようです。以下のコードで実現しました。(改めて見ると簡単ですね。]]>では、一通りプロパティを編集できるようにしてみます。<実装>リニアスペースの軸方向の設定、回転制限や軸方向ごとのトルクなどを編集出来ることを確認しました。様々なコンストレイントの追加と編集1つずつコンストレイントの編集機能を付けたり、セーブ・ロードを書くとストレスが大きいのでひとまずすべてのコンストレイントを追加する機能を埋めました。現在次のコンストレイントを追加することができます。Sliderのコンストレイントを設置できるようにしました。すべてのコンストレイントの設置画像。コンストレイントの表示だけの画像。選択操作ができるので、それぞれのコンストレイントの編集機能を加えていきます。<一日実装>できました。パラメータが足りていませんが、全てのコンストレイントの保存、復元が出来るようになりました。復元できるパラメータを増やします。6自由度コンストレイントの場合は次のパラメータを復元できるようにします。コンストレイントなら次のパラメータです。読み書きするだけなので、単純な作業です。フォーマットも次のように書き換わりました。中段の大きなブロックが複数あると思いますが、これらがコンストレイント用のデータブロックです。入出力テストを行なってみましょう。コンストレイントのプロパティの保存、復元が確認できました。3,4時間ほど作業して、ノーエラービルド、動作確認でバグ無しを確認すると結構嬉しいですね。はい、ということで今回の「様々なコンストレイントの編集機能」のお話のノルマは達成しました。次回は、動作テストを行う予定です。