忍者ブログ
サブタイトル:「mer2のマイノリティ・レポート(笑)」 --- 最近忍者ブログの仕様が変わったようで、一部の画像が見えなくなってますが、画像のURLコピペで見られます。(どうしよう困ったな) --- ご用件など、ございましたらtwitterまでどうぞ。
[1205] [1204] [1203] [1202] [1201] [1200] [1199] [1198] [1197] [1196]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



最近いろいろあってBlenderに夢中です。
Blender楽しいよBlender。

いきなりBlenderのカメラの単位ベクトルってやつが必要になりまして、そんなことよくわかんないんだけどよくわかんないながらもなんかないかなと探してみたら、こんなの見つけました。
"You could use the cameras transformation matrix to work it out.
camera_view = (Vector(0,0,-1) * ob.matrixWorld).toEuler()"

おおお、これが答かっ!と思ったのですが、かなり昔の記事で、このままだと今のBlenderでは動きません。
今のBlender(blender-2.67b-windows64.zip)だとVector()はこういう書きかたになるようで。
>>> pos = Vector((0,0,-1)) * bpy.data.objects['Camera'].matrix_world
おお、値が出た。
Vector((0,0,-1))
っていうのは、たぶんカメラの初期状態が下向きになってるからですね(たぶんね)

こいつをCameraのlocationに移動してやれば、Cameraと向きが合うはず、とBlenderの画面上で検証してみたのだけど、なんだか上手くいってないみたい。
#--- bad
import bpy
import mathutils

loc = bpy.data.objects['Camera'].location
vec = mathutils.Vector((0,0,-1)) * bpy.data.objects['Camera'].matrix_world
print(vec)
pos = vec + loc

bpy.ops.object.add(type='EMPTY',location=pos,rotation=(0, 0, 0))
#---
なんで?

matrix_worldっていうのが気になるので、見てみると、
>>> bpy.data.objects['Camera'].matrix_world
Matrix(((0.6858805418014526, -0.31737011671066284, 0.6548618674278259, 7.481131553649902),
        (0.7276337742805481, 0.31246861815452576, -0.6106656193733215, -6.5076398849487305),
        (-0.010816780850291252, 0.8953432440757751, 0.4452453553676605, 5.34366512298584),
        (0.0, 0.0, 0.0, 1.0)))

むむ、これは回転行列ってやつですね。めんどくさいな。

このへん見てみると、

rotate()っていうのがなんかいけそうな予感。引数にMatirxそのままぶちこめそうだし。

こんなんなりました。
#--- good
import bpy
import mathutils

loc = bpy.data.objects['Camera'].location

vec = mathutils.Vector((0,0,-1))
vec.rotate(bpy.data.objects['Camera'].matrix_world)
print(vec)
pos = vec + loc

bpy.ops.object.add(type='EMPTY',location=pos,rotation=(0, 0, 0))
#---

カメラの向きを変えてもぴったりセンターに来てます。


あら、いけてるみたい、やっほう。

計算結果を即画面で確認できるのって便利ですね。Blenderすばらしい。






PR


この記事にコメントする
お名前
タイトル
文字色
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
ついったやろうぜ
ブログ内検索
検索エンジンから来た人、思った結果が出なかったら再検索してちょ。
最新コメント
[08/27 BernardSr]
[08/27 BernardSr]
[08/27 BernardSr]
[12/29 GroverIcow]
[12/26 gayenKinesl]
[12/25 gayenKincfv]
[12/25 geRoesonokp]
[12/24 geRoesonmxu]
[06/30 LindsayDom]
[06/24 Ayukupim]
[06/22 francinerj2]
[06/21 Karsewis]
[06/17 Porsulik]
[06/16 Porsulik]
[06/16 Porsulik]
[06/16 Amimior]
[06/15 WilfordMof]
[06/11 lakeishatb1]
[06/04 Mathewlomi]
[05/31 tiopomWarriorvrp]
[05/31 Lasdumor]
[05/29 Aredorer]
[05/27 IMPUCKICT]
[05/26 Asosans]
[05/24 RaymondZice]
アクセス解析
カウンター
カレンダー
06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
プロフィール
HN:
mer2
性別:
男性
趣味:
野良猫の餌付け
Powered by ニンジャブログ  Designed by 穂高
Copyright © PCで立体視してみるぶろぐ All Rights Reserved
忍者ブログ / [PR]