Pythonによるオブジェクトの角速度設定について
6件表示
すべてのコメント一覧へ
投稿ツリー
-
Pythonによるオブジェクトの角速度設定について (7ike, 2013/6/21 16:29)
«
-
Re: Pythonによるオブジェクトの角速度設定について (完全無欠猫, 2013/6/21 17:04)
-
Re: Pythonによるオブジェクトの角速度設定について (7ike, 2013/6/21 18:33)
-
Re: Pythonによるオブジェクトの角速度設定について (完全無欠猫, 2013/6/24 8:13)
-
Re: Pythonによるオブジェクトの角速度設定について (7ike, 2013/6/25 14:27)
- Re: Pythonによるオブジェクトの角速度設定について (完全無欠猫, 2013/6/26 10:11)
-
Re: Pythonによるオブジェクトの角速度設定について (7ike, 2013/6/25 14:27)
-
Re: Pythonによるオブジェクトの角速度設定について (完全無欠猫, 2013/6/24 8:13)
-
Re: Pythonによるオブジェクトの角速度設定について (7ike, 2013/6/21 18:33)
-
Re: Pythonによるオブジェクトの角速度設定について (完全無欠猫, 2013/6/21 17:04)
7ike
投稿数: 3
初歩的なことかもしれませんが,検索をしても納得のいく答えを見つけ出すことができなかったため質問させていただきました.
Blender Gameにおいて,ControllerとしてPythonを使い,あるオブジェクトを初期状態(位置:[0,0,5],姿勢:[[1,0,0],[0,1,0],[0,0,1]],速度:[0,0,0],角速度:[0,0,0])にする以下のスクリプトを書きました.
import bge
object = bge.logic.getCurrentController().owner
object.worldPosition = [0.0, 0.0, 5.0]
object.worldOrientation = [[1.0, 0.0, 0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]]
object.worldAngularVelocity = [0.0,0.0,0.0]
object.worldLinearVelocity = [0.0, 0.0, 0.0]
次いで,初期のCubeにRigid BodyのPhysical Typeを与えてz軸方向に+5だけ動かし,[0,1,0]にPlaneを追加してStaticとし,衝突するとCubeが回転しながら下方向に落ちていくような環境を作り,スペースキーを押すことでこのスクリプトを実行するようにLogic Brickを設定して試したところ,角速度以外の値は指定したとおりになるのですが,角速度はスペースキーを押す前と同じ値のままで[0,0,0]に設定することができませんでした.
また,setAngularVelocityメソッドも使って見ましたが,同様に角速度を変更することはできませんでした.
悩みながらいろいろ試して見たところ,指定する3次元ベクトルの少なくとも1つの要素に非0の値をいれる(例えば[0, 0, 0.00000001]を設定する)と角速度が変わることが分かり,やりたかったことはほぼ達成されたのですが,なぜこのようなことになったのか非常に疑問で,もしかすると根本的に何か間違っているのではないか心配になってしまいました.
今のところ,少なくともBlender2.62と2.67bの双方で起こることを確認しました.
この問題について,何かご存知の方がおられましたらご教示いただきたく思います.
長文失礼致しました.
よろしくお願いいたします.
Blender Gameにおいて,ControllerとしてPythonを使い,あるオブジェクトを初期状態(位置:[0,0,5],姿勢:[[1,0,0],[0,1,0],[0,0,1]],速度:[0,0,0],角速度:[0,0,0])にする以下のスクリプトを書きました.
import bge
object = bge.logic.getCurrentController().owner
object.worldPosition = [0.0, 0.0, 5.0]
object.worldOrientation = [[1.0, 0.0, 0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]]
object.worldAngularVelocity = [0.0,0.0,0.0]
object.worldLinearVelocity = [0.0, 0.0, 0.0]
次いで,初期のCubeにRigid BodyのPhysical Typeを与えてz軸方向に+5だけ動かし,[0,1,0]にPlaneを追加してStaticとし,衝突するとCubeが回転しながら下方向に落ちていくような環境を作り,スペースキーを押すことでこのスクリプトを実行するようにLogic Brickを設定して試したところ,角速度以外の値は指定したとおりになるのですが,角速度はスペースキーを押す前と同じ値のままで[0,0,0]に設定することができませんでした.
また,setAngularVelocityメソッドも使って見ましたが,同様に角速度を変更することはできませんでした.
悩みながらいろいろ試して見たところ,指定する3次元ベクトルの少なくとも1つの要素に非0の値をいれる(例えば[0, 0, 0.00000001]を設定する)と角速度が変わることが分かり,やりたかったことはほぼ達成されたのですが,なぜこのようなことになったのか非常に疑問で,もしかすると根本的に何か間違っているのではないか心配になってしまいました.
今のところ,少なくともBlender2.62と2.67bの双方で起こることを確認しました.
この問題について,何かご存知の方がおられましたらご教示いただきたく思います.
長文失礼致しました.
よろしくお願いいたします.
投票数:7
平均点:8.57
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki