![]() | とりあえず画面上のレイアウトをスクリプト作成のモードにします。 | |
![]() | スクリプトを実行したときのメッセージやエラーは、基本的に上部のインフォ画面に出てくるのですが、 中にはシステムコンソールに出てくるエラーメッセージがあります。 ウィンドウズ版は、システムコンソールは最初は隠れているので、必要に応じて表示させておきます。 (DOS窓のような別ウィンドウが出てきます) | |
![]() | ||
| テキストエディタ上で新規テキストを作成します。 スクリプトを組んで、右下の Run Script ボタンを押すとスクリプトが実行されます。 import bpy によって、blenderを制御するために必要な一連のコマンドが読み込まれます。 左のスクリプトは、通常のオブジェクトを全部クリアするためのスクリプトです。 「スクリプトを実行するたびに、どんどんオブジェクトが追加で増えていく」 という事態を防ぐために、少なくとも練習中は最初にコピーしておいておくと良いでしょう。 |
![]() | オブジェクト(球)を2つ配置するスクリプトを組んでみます。 基本は球を配置するコマンドを2行です。 | |
| 後で便利なように、最初に obj という空のリストを作成して 球を作るたびに、append で obj に追加しています。 (appendでは作成直後は球がアクティブ状態になることを利用しています) | |
| 発展としてループを使い複数の球を配置してみます。 最初の球に対して、剛体シミュレーションを ON にする操作を適用します。 今のところオブジェククトに対して直接操作するコマンドは存在せず、 対象のオブジェクトをアクティブにして、アクティブなオブジェクトに対して剛体を適用する bpy.ops.rigidbody.object_add() を使うしかないそうです。 | |
![]() | アニメーションを再生(alt+A)すると、球がひとつ落下してゆくようになりました。 |
|
すべての球に対して、剛体を設定しました。 bpy.context.scene.frame_set() で時間を設定して、 位置や kinematicの値を設定します。 そして、キーフレームを打ちたい要素に対して、keyframe_insertを実行することで、キーフレームが打たれます。 | |
![]() |
床を設定して動かしてみます。 いったん元になるスクリプトさえ作ってしまえば、こういった式で書きやすい配置は、手動でオブジェクトを配置するよりずっと楽に配置することができます。 (初期速度の設定の仕方が、今一つ直感的ではないのが残念ですが…) |