Forum: Poser Python Scripting


Subject: How to edit a model by selecting a frame in a script

Tekitoumen opened this issue on Jul 20, 2022 ยท 7 posts


Tekitoumen posted Thu, 21 July 2022 at 10:29 PM

Thank you for your response!

Thank you for your kindness.


I'm setting a keyframe.

Then select body parts (eg chest) for each frame and

I'm trying to select that vertex coordinate and edit the chest area as I like.

First I tried it with a simple script.(The chest is greatly deformed for easy understanding)

However, even if I edit only the 6th frame as shown below, all the frames will be edited in the same way when I look at Poser.

In this case, I want to edit only a specific frame (6th).

I haven't been able to edit frame by frame.


Is this a failed frame selection?

Or is it not possible to select and edit vertices for each frame?

Sorry for the lack of understanding of Poser.






---------------------------------------------------------------------------------------------------------------------------------------------------

import poser

import time

import os


x_axis = 0

y_axis = 1

z_axis = 2


scene = poser.Scene()


for test_num in range( 0, 6):

    actors = scene.CurrentFigure()

    scene.SetFrame(test_num)

    

    actor = scene.Actor("Chest")

    actGeom = actor.Geometry()

    #verts = actGeom.Vertices()

    verts = actGeom.WorldVertices()

    vert_num = actGeom.NumVertices()

    vert_list = [[0 for k in range(3) ] for j in range(vert_num)]


    #x,y,z vertices 

    list_num = 0

    while list_num < vert_num:

        vert = actGeom.Vertices()[list_num]

        Vx = vert.X()

        Vy = vert.Y()

        Vz = vert.Z()


        vert_list[list_num][x_axis] = Vx

        vert_list[list_num][y_axis] = Vy

        vert_list[list_num][z_axis] = Vz


        list_num = list_num + 1


    j = 0


    while j < vert_num:

        if test_num == 5:

            set_z.SetZ(vert_list[j][z_axis] - 0.5)

---------------------------------------------------------------------------------------------------------------------------------------------------

Thank you.