Uncanny_Film opened this issue on Aug 21, 2023 ยท 4 posts
Uncanny_Film posted Mon, 21 August 2023 at 10:54 AM
Hi, I'm trying to learn code. And I wanted to create a poser script. I tried to make a simple zero transition script. But I got this error message:
Traceback (most recent call last):
File "C:\Users\spart\Documents\1.py", line 18, in <module>
set_rotation_axes_to_zero()
File "C:\Users\spart\Documents\1.py", line 9, in set_rotation_axes_to_zero
current_selection.SetXRotation(0)
AttributeError: 'poser.ActorType' object has no attribute 'SetXRotation'
What am I doing wrong? Thanks
Here's my code:
import poser
def set_rotation_axes_to_zero():
# Get the currently selected object in Poser
current_selection = poser.Scene().CurrentActor() or poser.Scene().CurrentProp()
if current_selection is not None:
# Set X, Y, and Z rotations to zero
current_selection.SetXRotation(0)
current_selection.SetYRotation(0)
current_selection.SetZRotation(0)
print("Rotation axes set to zero for the selected object.")
else:
print("No object selected.")
# Call the function to set rotation axes to zero
set_rotation_axes_to_zero()
Win10 - AMD 2nd Gen Ryzen Threadripper 2950X, 16-Core, 32 Thread 4.4 GHz - 128GB Ram - X2 GeForce RTX 3060 Ti - 3D-connexion
Poser 12 | Octane Render | Real-Flow | 3DCoat | Speed Tree | Adobe Premiere | Adobe After Effects | Adobe Audition | Adobe Photoshop
HartyBart posted Tue, 22 August 2023 at 1:21 PM
Here's a 'most simple' script to zero the rotations on the currently selected/active prop or figure, which may be of use.
Learn the Secrets of Poser 11 and Line-art Filters.
Uncanny_Film posted Wed, 23 August 2023 at 3:13 PM
HartyBart posted at 1:21 PM Tue, 22 August 2023 - #4473228
Thanks,Here's a 'most simple' script to zero the rotations on the currently selected/active prop or figure, which may be of use.
# Zero the rotation of the currently selected prop or figure in Poser. Works in P11 or P12.import poserscene = poser.Scene()actor = scene.CurrentActor()actor.ParameterByCode(poser.kParmCodeXROT).SetValue(0.0)actor.ParameterByCode(poser.kParmCodeYROT).SetValue(0.0)actor.ParameterByCode(poser.kParmCodeZROT).SetValue(0.0)# Redraw the OpenGL Preview viewport in Poser, so we can see what's been done.scene.DrawAll()
Also, here's a code that I came up with. To set X Tran to 1.
How can I alter this code to change the transitions +1 unit every time I activate this script?
Thanks
import poser
scene.CurrentActor().ParameterByCode(poser.kParmCodeXTRAN).SetValue(1)
scene.DrawAll()
Win10 - AMD 2nd Gen Ryzen Threadripper 2950X, 16-Core, 32 Thread 4.4 GHz - 128GB Ram - X2 GeForce RTX 3060 Ti - 3D-connexion
Poser 12 | Octane Render | Real-Flow | 3DCoat | Speed Tree | Adobe Premiere | Adobe After Effects | Adobe Audition | Adobe Photoshop
HartyBart posted Wed, 23 August 2023 at 5:20 PM
Ah, I see. Here it seems you're trying to do a 360-degree spin-around animation on the X axis? We'll there's my paid-for script in the Store, which gets you an animated 360-degree turnaround animation.
But the basic 'increment a value by one' script for Poser would be...
Learn the Secrets of Poser 11 and Line-art Filters.