Blender、python上での3Dオブジェクトの操作についての質問です。
キューブ(オレンジ)のXZ軸を逆T字のフレーム(赤)に合わせたいです
逆T字は、変形するオブジェクトからガイド用に切り出した物のなので
明確に90度ではありません
X軸を合わせる所まではできたのですが
Z軸をあわせる方法がどうしても分かりませんでした
図中水色の点が実現したい事になります
合わせ具合は厳密ではなくても良いです
詳しい方、どうか教えて頂けないでしょうか
よろしくお願いいたします
以下は上記画像のコードです
python
1import bpy 2import bmesh 3from mathutils import * 4 5#逆T図形 6obj_target=bpy.context.scene.collection.objects["target_line.004"] 7 8"""逆T図形の頂点番号は正面(Y方向)から見るとこんな感じ 9 0 10 │ 11 1──3──2 12""" 13 14bm = bmesh.new() 15bm.from_mesh(obj_target.data) 16 17vert_local = [ 18 Vector((v.co[0], v.co[1], v.co[2])) 19 for v in bm.verts 20] 21 22#ワールド座標への変換 23vert_global = [ 24 obj_target.matrix_world @ v 25 for v in vert_local 26] 27 28#逆T図形(水平)のベクトル 29v1 = (vert_global[1]) - (vert_global[2]) 30#逆T図形(垂直)のベクトル(未使用) 31v2 = (vert_global[0]) - (vert_global[3]) 32 33#シーン内から回転するオブジェクトを探す 34obj_to=bpy.context.scene.collection.objects["Cube_to.004"] 35 36#回転を適用 37obj_to.rotation_mode = 'QUATERNION' 38obj_to.rotation_quaternion = v1.to_track_quat('-X',"Z") 39

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。