スポンサーリンク

Blender Pythonでモデルの頂点に変換行列を適用する

import bpy
import mathutils

msh = bpy.context.active_object

Sx = 1
Sy = 1
Sz = 2

Tx = 1
Ty = 1
Tz = 1

Tmatrix = mathutils.Matrix((
(Sx ,0  , 0  , 0),
(0  ,Sy , 0  , 0),
(0  ,0  , Sz , 0),
(0  ,0  , 0  , 1)))

Smatrix = mathutils.Matrix((
(1  ,0  ,0  ,Tx),
(0  ,1  ,0  ,Ty),
(0  ,0  ,1  ,Tz),
(0  ,0  ,0  , 1)))

Matrix = Tmatrix @ Smatrix


for vt in msh.data.vertices:
    
    src = mathutils.Vector((vt.co[0],vt.co[1],vt.co[2],1))
    
    dst = Matrix @ src
    
    vt.co[0] = dst[0]
    vt.co[1] = dst[1]
    vt.co[2] = dst[2]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: