Re:車の挙動を再現したい【Blender Game Engine】

こちらの記事は「GameBlender(Blender Game Engine)とは」の質問コメントが多くなってきたので、切り取り、記事にしたものです。

最初の方は別の質問内容になってますが、次第にタイトルの内容になっていきます^^;



こんにちは、blender2.7をインストールしてみたのですが、logic editorのプロパティパネルが右側に表示されるようになっていますよね。

これを左側にもってくることは出来ないのでしょうか?
2014-05-11(16:25) : 名無しさん


こんにちは。私には左に見えるのですが・・・、まさか、鏡の中の存在・・・!?
up_201405171038297b8.jpg

2014-05-17(10:41) : TiBra :


回答ありがとうございます。
こっちの環境ではなぜか左なんです、あきらめて慣れます(´・ω・`)

あと、関係ない質問ですが、ここでさせてもらってよろしいでしょうか?
servomotionで車の挙動を再現したいのですが、ブレーキとしては何を使えばいいでしょうか?
車が+y方向に進むとすれば、-y方向へのモーションを設定すればいいと思ったのですが、これだとブレーキというよりは「バック」になってしまいます。この点はどうすればいいでしょうか(´・ω・`)
2014-05-24(03:58) : 名無しさん


UIをデフォルトにしてもそうなるんですよね? うーん、そんなこともあるんですね。


Sarvo Control初めて使いましたが、油圧ポンプみたいな面白い動きをしますねー。
ブレーキということは、摩擦ですね。
このControl自体に摩擦係数はないみたいなので、いいと思いますよ。

logicで条件分岐して「動いている時だけ逆方向にForseを与える」
でいいんじゃないでしょうか?

あるいは、
「オブジェクトの摩擦係数をスクリプト等で変更する」
なんて、手もあるかもしれませんが、多分、実装が面倒です。
よりリアルな挙動にはなるかもですけど。

参考キャプチャ
up_2014052406362308e.jpg


ちなみに、Vehicle Constraintという、車の挙動を設定できる機能もあるにはあります。
興味があれば、どぞ。

動画
http://video.fc2.com/content/20100608BAbYqUtG/


Vehicle Constraintの簡単な説明(バージョンが古い)
http://sites.google.com/site/tibracode/bge/physics_vehicle
2014-05-24(06:32) : TiBra


回答ありがとうございます。
単純に重力方向に力を加えればブレーキっぽくなるみたいでした。
リンクも参考にさせてもらいます(´・ω・`)
2014-05-24(09:56) : 名無しさん


現在、車のタイヤを作っているのですが、motionアクチュエータの角度(rotation)を制限する方法はありませんか?これを使えば車となるオブジェクトを曲げることができますが、360度回転してしまうので「90度までしか曲がらないように」といった指定をしたいのですが、、、。

limit lotationなどはmotionの制御はできないみたいです(・ω・`)
2014-05-24(22:04) : 名無しさん


角度を取得しといて、90度以上ならアクチュエータを実行しないように条件分岐すればいいじゃないですかね?
http://blog-imgs-69.fc2.com/t/i/m/timiditybraver/test-limit-rotate-blend.txt
(拡張子をblendに変えてください)
2014-05-25(15:54) : TiBra


回答ありがとうございます。
角度を取得するにはやはりパイソンが必要みたいなので、パイソンの使い方を調べてみます。

あと、旋回の方法について質問させてもらってよろしいでしょうか。
推進力として+y方向にservo motionを加えて(motion1)、曲げるためのmotionとしてrotation(motion2)を加えているのですが、rotationでは曲がるというよりも、原点を基準にその場でくるくる回転する感じです。
rotationを加えたときに舵を切ったように曲げたいのですが、どう設定したらいいでしょうか。
motion2に、rotationとあわせて+y方向に推進力となるmotionを加えるといい感じに曲がるんですが、この方法だとmotion1のスピードにかかわらず、+y方向に一定のスピードが加わることになり、不自然な挙動になるかもしれません。


http://kie.nu/1WrO
これをクリアしたらいい感じになりそうです、ローテクですが、、、(´・ω・`)

2014-05-25(18:04) : 名無しさん


ファイルをアップロードしてもらえると、分かりやすくて良いですね。

> 推進力として+y方向にservo motionを加えて(motion1)、曲げるためのmotionとしてrotation(motion2)を加えているのですが、rotationでは曲がるというよりも、原点を基準にその場でくるくる回転する感じです。
> rotationを加えたときに舵を切ったように曲げたいのですが、どう設定したらいいでしょうか。

タイヤの抵抗力によって回転する力が発生するわけですから、回転でいいと思います。
ただ、車が進まないと回転力は発生しないので、進んでるときだけに条件分岐する必要があるかと。

> motion2に、rotationとあわせて+y方向に推進力となるmotionを加えるといい感じに曲がるんですが、この方法だとmotion1のスピードにかかわらず、+y方向に一定のスピードが加わることになり、不自然な挙動になるかもしれません。

んー、rotationしたときに、タイヤの抵抗力を与えてやれば、曲がってくれると思いますが、
Logicで実装するのは、面倒そうですね。
up_20140531150149f61.jpg

ここまでしようすると、LogicでControllerやらActuatorやらをたくさん設定するより、
Pythonでプログラミングする方が、わかりやすくて、後々も楽、って感じになっちゃいます。

この辺を、自動で計算してくれるアクチュエータがあれば楽ですけどねぇ。
それについては、今の私には知識がないです。
(先のVehicle Constraintがこれに当たるかな?)


昔、Pythonで車の動きをするサンプルを作ったことがありまして、さっきver2.7でも動くように手直ししました。
下記のURLの「bge_v270_car_2.blend」がそれです。
Pythonを勉強するお気持ちがあれば、参考にどぞ。
http://goo.gl/by59JL


参考
<1-2、ハンドルを切るとなぜ車はコーナリングする?>
http://www5f.biglobe.ne.jp/~vehicle_dynamics/chapter1_2.htm
2014-05-31(15:35) : TiBra
関連記事

コメント

コメントの投稿

非公開コメント

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード