• Welcome to Dizzi's Support Forum.
 

News:

Due to spam, you need to be registered to post now.

Main Menu

Hampelmann - Figure posing tool for Poser 8

Started by Dizzi, January 07, 2010, 03:11:51 AM

Previous topic - Next topic

Dizzi

Short summary:

This Python script for Poser 8 allows to select one or multiple body parts from a visual 2D representation (layout) of the selected Poser figure and to manipulate their rotations.

Or just use it to select the current Poser actor ;-)

This script comes with layouts for the Poser 8 figures "Ryan" and "Alyson" and does not work for other figures without additional layouts.

Please check out the HTML help contained in the ZIP file on how to use the script.

Dizzi

#1
Hampelmann v1.0
Overview
This Python script for Poser 8 allows to select one or multiple actors from a visual 2D representation (layout) of the selected Poser figure, if a layout for the figure exists. Layout information for the Bodies and Hands of the Poser 8 figures "Ryan" and "Alyson" are included. Other layouts can be created and/or may become available for download.

The screenshot shows how Hampelmann may look like if you've got Poser 8's "Ryan" selected. There are two layouts available: Body and Hands, with Body being the currently used layout. The body parts (actors) Collar, Shoulder, Forearm and Hand are currently selected. Tooltip information for the Forearm shows its name, and how its rotations are setup up in Hampelmann (more detail further down).

Pressing mouse buttons and moving the mouse the selected actors will rotate according to the setup.

Selecting an actor on the layout also selects the actor in Poser, so you can use Hampelmann to just select actors in Poser, too.

The main purpose of this script in its current version is to test different ways to pose Poser figures. So if you'd like something changed, feel free to contact me. If you like this script, you should contact me, too - that increases the chance of additional layouts for other figures appearing :-)



Quick start
There are just a few steps you need to take to test drive Hampelmann:


  • Unzip the content of the ZIP file
  • Run the Python script "Hampelmann.pyc" from Poser's file menu from the location you unzipped the content of the zip file to (it's in subfolder "scripts")
  • Import the figure and layout definitions using the *Setup* tab: Click the button Import figure and layout definitions and browse to the folder you unzipped to and select all files ending with ".config" (they're in the subfolder "config_files").
  • Load one of the Poser 8 humans "Ryan" or "Alyson".
  • Change to the Body or Hands tab
  • Select an actor by clicking on it - for example an arm
  • Press the left mouse button and move the mouse (assuming you did not change the setting for Change type)
  • Press the right mouse button and move the mouse
  • Press the middle mouse button and move the mouse
  • Select multiple actors by SHIFT-clicking them
  • Press SHIFT+A
  • Select a different actor (without shift)
  • Press A

You should have seen the selected actor(s) rotate and how to store and recall selected actor groups.



How to work with Hampelmann
Working with Hampelmann is quite simple:
Run the Python script "Hampelmann.py" and place the script's window where you like it. It'll dock to Poser's layout, if you like (and should be altready there the next time you start the script). If you don't want it to dock, right click somewhere outside the layout area and uncheck "Drag-Docking Enabled".

If no figure is selected or no layout for the selected figure exists then only the *Setup* tab will be shown. This tab currently allows to choose from two different change types (how actor rotations are modified), to select which mouse movement changes the rotations and to specify if the last selected actor in Hampelmann should become the selected actor in Poser. It also provides information about the geometry file of the selected figure and allows to import figure and layout definitions.

If you selected a figure that has one or more layouts, then the layouts will be shown, like above Body and Hands. Here, the layout Body contains the shown actors from the body excluding hands, fingers, eyes, tongue, etc. The layout Hands contains the hand actors. The name and number of layouts is not limited, use the left and right arrow buttons to scroll through the layouts. Changes to the layouts are made with the Script "Hampelmann Setup.pyc" (not yet included in this ZIP).

To select an actor, just click on it using the left mouse button.
To select multiple actors hold SHIFT, CTRL/CMD, ALT while clicking. Deselecting one of multiple actors works the same.
You can store the selected actors to the keyboard keys A through Z by holding down SHIFT and one of the keys.
You can recall the stored actors by clicking the keys A through Z by pressing one of the keys (without holding down SHIFT).

Depending on the change type (see *Setup* tab) you can rotate the selected actors. Wiith change type one, you rotate the selected actors moving the mouse while keeping mouse buttons pressed. Keeping the left mouse button pressed will do the rotation type 1, pressing the middle mouse button will do the rotation type 2, right mouse button the rotation type 3 while you're moving the mouse left/right* or up/down* (*: can be changed on *Setup* tab). The rotation type is defined via the layout and can be either X-, Y- or Z-rotation. (X-, Y-, Z-rotations can be named eg. "Side-Side", "Bend", "Up-Down", etc. in Poser's User Interface).

The screenshot shows that Forearm has no rotation type 1 assigned . So it will not move when rotation type 1 is applied to the actors. The other actors (not shown) do have a rotation set up, so they will move. The other rotation types are assigned: 2 is Twist, 3 is Bend.

Mirror will mirror left and right side.
Pressing Undo will undo the last action you made with Hampelmann, pressing it again will undo the action before. As the actions done by Hampelmann are not saved to Poser's undo history, you'll have to work with this... An Undo is saved when you stop pressing a mouse button. If you want to reset the Undo history, ALT-click the button. If you delete a figure and replace it by another you should reset the Undo history otherwise the wrong actor may be affected by Undo.
Press Redo if you used Undo a bit to often.
Sensitivity can be changed via the slider. The higher the sensitivity, the lower the rotation change. To be precise, the change is 1/sensitivity - so sensitivity at 100 will change the rotation by 0.01 for each pixel you move the mouse, sensitivity at 1 will rotate by 1 for each pixel you move the mouse.

The different change types
Currently there are two change types to choose from (see *Setup* tab):

     
  • Move with left/middle/right mouse buttons:

             
    • move the mouse while pressing the left button: rotation type 1 is applied
    • move the mouse while pressing the middle button: rotation type 2 is applied
    • move the mouse while pressing the right button: rotation type 3 is applied
     
  • Move with right MB + Shift/Ctrl/Alt:

         
    • select actors with left mouse button
    • press right mouse button and move the mouse while pressing...

               
      • Shift key: rotation type 1 is applied
      • Controll/Command key: rotation type 2 is applied
      • Alt key: rotation type 3 is applied
    • click an actor with middle mouse button while pressing...

                   
      • Shift key: set rotation type 1 to 0
      • Control/Command key: set rotation type 2 to 0
      • Alt key: set rotation type 3 to 0
           
     

Setup
Here's just some information on the not yet described options:

Mouse X change and Mouse Y change define if mouse movement along X or Y axis will change the rotation or not according to the change type. If you have "None" selected for both Mouse X and Mouse Y change then the change types won't do any rotations at all. Selecting "Normal" will add to the rotation if you move right or down and substract from the rotation if you move left or up. Selecting "Inverted" will just do the opposite of "Normal".

Installation
You can either run the scripts (that are the file with the .py or .pyc extension) from Poser's File menu Run Python Script (how complicated!) or put it in Poser's Scripts menu. To do the later just save the script into (or in a subfolder of) Runtime\Python\poserScripts\ScriptsMenu beneath Poser 8's installation folder. You'll have to restart Poser before you can find the entry in the Scripts menu, though. You can also assign a shortcut to the script if it's placed there (click here for more info). There are other options, but these should be sufficient :-)

The configuration files for the layouts are stored in a subfolder (acb/figurePosing) of the folder Poser stores its configuration data. To find out where that is, just run the script "show_config_location.py" and then place all the files ending with ".config" there or use Import figure and layout definitions from the *Setup* tab - it'll copy the configuration files into the correct location.

About the config files - adding new figures with same actors
There are three types of config files:

     
  • layout definitions: these contain the different displayed actors (layout elements) and their position in the layout
  • figure definitions for layouts: these assign the figure actors to the layout elements, and which rotations are used for rotation type 1, 2 and 3.
  • key definitions for layouts: these store which actors are assigned to which keyboard key

"Body.p8_fem.layout.config" is a layout definition. Only the part up to the first dot is displayed as layout name. This allows to have multiple layouts named "Body". So a fish can also have a "Body" layout, but lacking arms it shouldn't use that of the Poser 8 characters ;-). These are created with "Hampelmann_Setup.pyc".
"Body.p8_fem.P8Alyson_HR.figure.config" is a figure definition. Its name starts like the layout definition followed by the name of the geometry file for the figure. So if you have another Poser character with the same layout as the Poser 8 guys, check the "*Setup*" tab for the name of the geometry file and then copy the figure definition and change the bold highlit part to the geometry name. These
files are usually also created with "Hampelmann_Setup.pyc".
"Body.p8_fem.keys.config" is a key definition and created/changed when you assign actors to a keyboard key.

Setting up new layouts
Layouts are created and changed with "Hampelmann_Setup.pyc". Figures and rotations are also setup with it.


Other
Please do not redistribute this script, you can tell your friends, where they can download it, though.
Layout and figure definitions for this product may not be sold without my permission, they may be provided for free or with a figure you got hold the copyright for though.

If you have any proplems or improvement suggestions please send me a PM or post to this board.


Happy posing

Dizzi

Dizzi


     
  • You can now change the selected actors with the keyboard, too:
     

         
    • The following keys change rotations:
           

               
      • NumPad 1 and NumPad 4 change rotation type 1
      • NumPad 2 and NumPad 5 change rotation type 2
      • NumPad 3 and NumPad 6 change rotation type 3
         
    • You can modify the amount of the change by pressing
           

               
      • No Key: rotation changes by 1 degree
      • ALT key: rotation changes by 10 degrees
      • CTRL/COMMAND key: rotation changes by 0.1 degree
      • ALT key + CTRL/COMMAND key: rotation changes by 0.01 degree
         
  • checkbox "stay with selected figure": click the checkbox, to stop Hampelmann to switch to the selected figure in Poser. That allows for example to open two Hampelmann panels and pose a different figure on each panel, without having to switch the figure using Poser's tools
  • Hampelmann can work with more than one config file. Just copy the script and put .[xyz] in front of the .pyc extension, with [xyz] being what you want, like "1" (without the quotes) ;-). That new script will store its setting to a different settings file. That way you can save the layouts of different Hampelmann panels, so they don't open on top of each other, but eg. side by side.
  • Regular selection background color changed
  • Inverse selection mode added: an inverse selection means that the inverse selected actor will change the rotation values the in the opposite direction of the regular selection. Eg. regular selection will add 1.0 to X-Rotation, then inverse selection will substract 1.0. This allows to bend body parts in opposite directions at the same time.
  • For regular selection click an actor or SHIFT-click an actor, for inverse selection CONTROL/COMMAND-click
  • SHIFT-clicking a regular selection will deselect - same for inverse selection and CONTROL/COMMAND
  • SHIFT+CONTROL/COMMAND-clicking will toggle between regular and inverse selection
  • Keyboard shortcuts changed, so much more can be stored and restoring offers more options:
       

           
    • ALT+key will now store the current selected actor
    • ALT+SHIFT+key will store to a different location than ALT+key, thus SHIFT+key restores different selection than key.
    • pressing a key with stored selection will ADD the selection
    • press SPACE to clear the selection
     
  • If a figure has IK chains, the IK chains will be shown with checkboxes, so you can switch IK on and off (IK is saved to Undo). If you change the IK in Poser, IK data in Hampelmann will not be updated (that's just unneccessary processor load)
  • Undo changed, so it can deal with Victoria 4's fucked up Chest-Rotation (twist) that cannot be called by its parameter name, because there's an empty dial with the same name...
  • geometry names are now case insensitive and thus figure definitions do not make a difference between a layout for "Ben" and "ben"
  • Fighing the poor Z-Index handling of WxWidgets, so one could put eyes inside the head on a layout
  • Bugfixes - mainly for 1.1 changes

Dizzi


Dizzi

Updated Script for Poser 9 / Pro 2012