Inside Sabertooth
Learn how Sabertooth uses 3ds Max to create 3D interactive projects, including HBO Go’s Game of Thrones interactive experience
  • 1/3
You are here: Forum Home / Autodesk 3ds® Max® / MaxScript / Assume Skin Pose Questions
  RSS 2.0 ATOM  

Assume Skin Pose Questions
Rate this thread
 
26303
 
Permlink of this thread  
avatar
  • Total Posts: 2
  • Joined: 28 April 2009 09:41 AM

Hi guys!

I need help with Assume skin pose parameter of 3dMax. I know use this commander with Maxscript but I need to know how max detect if an object has Assume skin pose used, or if you have pressed asume skin pose button. I know that skin pose it´s a parameters of an object an by default the $.skinpos is [0,0,0] before to assume it.

I´ve got other issue, I can equal the pos of an object to skinPos of this object, but i don´t know how i can equal the rotation.

I´m novice in MaxScript but if somebody could help me I´ll be very gratefull

Thanks in advance!!



Replies: 0
avatar

I’m not sure how to detect when someone presses the assume skinPose button in the max UI but I never use that.  I have my own tools or functions to do precisely what I need them to do regarding SkinPose.

Below is the basics of what you can do to set the properties for SkinPose.  This is just how I use it.  Doing this within the coordsys parent scope will usually get you what you want.

-- First I want to store the SkinPose of the object in its current positionorientation, and scale.
-- 
Set the SkinPos on the object
in coordsys parent 
(
  
myRot quatToEuler obj.rotation
  obj
.skinRot [myRot.xmyRot.ymyRot.z]
  obj
.skinPos obj.pos
  obj
.skinScale obj.scale
)
-- 
When I want to get back to my SkinPose I will use the following code.
-- 
Assume the SkinPos on the object
if coordsys parent (
  
obj.rotation eulerAngles obj.skinRot.x obj.skinRot.y obj.skinRot.z
  obj
.pos obj.skinPos
  obj
.scale obj.skinScale
)


Randall Hess
Senior Technical Animator
THQ, Volition Inc.

Replies: 0
avatar

Ouu Man Thanks!

Yeah, I have create a own tool too and finally I used that “logic” to save the position and recover the position. I put the property enabled in false
for check and detect after if the object has got save the pose or no.

fn freezePose obj transformType =
(
if transformType == #position or transformType == #all then
(
obj.skinPosEnabled = false
obj.skinPos = obj.pos
)

if transformType == #rotation or transformType == #all then
(
obj.skinRotEnabled = false
eu = in coordsys gimbal (obj.rotation as eulerangles)
obj.skinRot = [eu.x, eu.y, eu.z]
)

if transformType == #scale or transformType == #all then
(
obj.skinScaleEnabled = false
obj.skinScale = obj.scale
)
)

Thanks very much man!



Replies: 0