Creating cloth

From XStoryPlayer Wiki
Jump to: navigation, search

In this tutorial you will learn how to create/change cloth. You will also learn how to use XStoryPlayer for creating cloth states.

Steps

  1. Copy the /sources/scenes files for this tutorial from the 'Tutorial resource pack' to the /pack/pack_adbucted/sources directory.
    The files contains the textures and maya cloth meshes for the Saiko (Alien) character.
    Open the body.ma file in Maya. Also open the body.ini file in a text editor.
    Cloth2.jpg
  2. A cloth needs two meshes to work. A bind-mesh that contains the actual pattern of the cloth. If we change this mesh the shape of the cloth is changed.
    Then there is also a render-mesh that is used for rendering the cloth. It has a higher sub-division level for more detail.
    (Creating a render-mesh can be done by using Edit Mesh->Add Divisions command on a bind-mesh (Exponentially, Div. level = 1))
    The dress for example has bind-mesh "dressBindShape" and render-mesh "dressShape".
    The render-mesh needs to be positioned around the character so it does not intersect.
  3. In this tutorial we want to change the shape of the dress a bit. We can use the bind-mesh for that.
    Change the "dressBindShape" so it looks somewhat like this:
    Cloth3.jpg
    Save the body.ma file. Add this maya convert script to the start.ini used by the filemaker:
    Maya scene
    {
      src_path = "[SOURCES]";
      run_path = "[RUNTIME]";
     
      in_file  = "[SOURCES]scenes/character6_cloth/body.ma";
    }

    Run the filemaker and the new cloth objects should be created in the ./pack/pack_adbucted/scenes/character6 directory.

  4. We can use XStoryPlayer to view and re-position the newly created dress.
    Edit the settings.ini like this:
    runtime
    {
      start_mode   = TEST; // Start test mode of XStoryPlayer
     
      debug_sys    = BASIC;
      debug_render = NONE;
      debug_phys   = NONE;
      debug_brain  = ENABLED;
     
      pack2        = "pack/pack_abducted"; // Use this directory as source as well
     
      save_key     = "";
    }

    Now edit the ./testini/run.ini to this:

    settings
    {
      mode      = CLOTH; // Start cloth position mode
     
      name      = "alien";             // Name of character
      name_obj  = "scenes/character6"; // File location of character
     
      waypoint  = "wpIdentity"; // Location in scene where to place character
     
      offset_y  = 0.0; // Offset in scene
      move_y    = 0.0; // Move amount during cloth fitting
     
      //cloth_movie = "stand_0"; // Cloth state used to init cloth
      pose_type   = STAND;       // Pose we like to end with
     
      //cloth0    = "bra";     // Cloth object 0
      //cloth1    = "panty";   // Cloth object 1
      cloth2    = "dress";   // Cloth object 2
     
      scene_file     = "scenes/test/scene.scn"; // The scene we use for testing
      scene_waypoint = "waypoint"; // The waypoint we want to start at
    }

    Now run XStoryPlayer again. You should see the character taking on the stand pose. After a while the cloth is fitted like this:
    Cloth4.jpg
    Walk around (or fly using F6) the character and pull the cloth until it nicely fits around the character.
    Press [CTRL+Q] to save the cloth state. A file is created here: ./state/dress.dat, it contains the dress state.

  5. Copy the ./state/dress.dat file to the /pack/pack_abducted/state/alien/dressstand_0.dat file (overwrite it).
    Now we want to test the new dress in our story. Because we want to start XStoryPlayer in story mode, we have to change the 'settings.ini' again.
    In order to not have to do this every time, create a shortcut in the XStoryPlayer directory for XStoryPlayer64.exe. Name this shortcut XStoryTest
    Set the shortcut target to: "C:\Users\[Your Name]\AppData\Local\X Moon Productions\XStoryPlayer 3\x64\XStoryPlayer64.exe" -settings "settings2.ini"
    Now create a copy of the settings.ini named settings2.ini. Edit the settings.ini back to:
    runtime
    {
      start_mode   = SCENE;
     
      debug_sys    = BASIC;
      debug_render = NONE;
      debug_phys   = NONE;
      debug_brain  = ENABLED;
     
      save_key     = "";
    }

    Now we can use the shortcut to start XStoryPlayer in test mode, next time we are fitting the cloth again on the character.

  6. Start XStoryPlayer, it should be in story mode because it still uses the settings.ini file.
    If all went well you should see the alien girl in her newly changed dress. like this:
    Cloth5.jpg
  7. Now let us add an object to the scene. Proceed with the next tutorial 'Adding object to scene'.