{"width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkatsumi3.hatenablog.com%2Fentry%2F2020%2F03%2F10%2F011138\" title=\"normal\u3092\u30b0\u30ed\u30fc\u30d0\u30eb\u5ea7\u6a19\u306b\u5909\u63db\u3059\u308b - \u30a2\u30b9\u30c8\u30e9\u30eb\u30d7\u30ea\u30ba\u30e0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","title":"normal\u3092\u30b0\u30ed\u30fc\u30d0\u30eb\u5ea7\u6a19\u306b\u5909\u63db\u3059\u308b","blog_url":"https://katsumi3.hatenablog.com/","height":"190","provider_name":"Hatena Blog","published":"2020-03-10 01:11:38","description":"matrix_world \u3092\u639b\u3051\u308c\u3070\u3044\u3044\u304b\u3068\u601d\u3063\u3066\u305f\u3089\u305d\u3046\u3067\u3082\u306a\u304b\u3063\u305f\u3002 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() \u2193\u53c2\u8003\u30b5\u30a4\u30c8 \u30c9\u30f3\u30d4\u30b7\u30e3\u306a\u5185\u5bb9\u3060\u3063\u305f\u306e\u3067\u8d85\u3042\u308a\u304c\u305f\u3044 blender.stackexcha\u2026","categories":["blender-bpy","blender"],"provider_url":"https://hatena.blog","url":"https://katsumi3.hatenablog.com/entry/2020/03/10/011138","type":"rich","blog_title":"\u30a2\u30b9\u30c8\u30e9\u30eb\u30d7\u30ea\u30ba\u30e0","version":"1.0","author_name":"katsumi3","author_url":"https://blog.hatena.ne.jp/katsumi3/","image_url":null}