アストラルプリズム

PC、スマホ、ゲームなどの備忘録と日記

normalをグローバル座標に変換する

matrix_world を掛ければいいかと思ってたらそうでもなかった。

import bpy
obj = bpy.context.object
mat = obj.matrix_world
msh = obj.data
norm = msh.polygons[0].normal

mx_inv = mat.inverted()
mx_norm = mx_inv.transposed().to_3x3()
world_norm = mx_norm @ norm
world_norm.normalize()

↓参考サイト
ドンピシャな内容だったので超ありがたい
blender.stackexchange.com