MovieCube

From Platinum Arts Sandbox Free 3D Game Maker
Revision as of 09:11, 11 January 2010 by Offtools (Talk | contribs) (Tutorial on scripting commands)

Jump to: navigation, search

MovieCube is a OpenSource Machinima production tool, based on the Cube2 Engine, known from the game Sauerbraten. It is part of the Platinum Arts Sandbox project.

What is Machinima

"Machinima (pronounced /məˈʃiːnɨmə/ or /məˈʃɪnɨmə/) is the use of real-time three-dimensional (3-D) graphics rendering engines to generate computer animation." Machinima on Wikipedia

Start MovieCube

Linux: change into your PAS folder, ./bin/sandbox_client_32_movie

Quick Overview

As MovieCube is under heavy development, things are in change. So before you post support requests, consult this wiki. All recent changes will be announced here.

Tutorial on scripting commands

  • go into editmode and add some waypoints:

/newent waypoint

  • add a new character definiton, a temporary character will spawn in fron of you

/newcharacharacter mychar

  • add some actions:

/appendactionwait mychar 0 5000
/appendactionspawn mychar 0 0
/appendactionmove mychar 0 1
/appendactionwait mychar 0 5000
/appendactionmove mychar 0 2

  • leave editmode, your temp character will disapear
  • spawn a real character

/addcharacter mychar

  • and another one

/addcharacter mychar

  • The "appendaction..." commands start with the name of the character, the state (we have only state 0 at the moment) and the parameter of the command itself, e.g. waypoint id in spawn or move or the time in milliseconds in the wait command.
  • All map entities including waypoints have an unique id, use this id as last parameter in appendactionspawn and appendactionmode to choose the waypoints. You will find these id's in editmode shown on top of the waypoint entities.

Character System

Manage Characters

In MovieCube you can define characters, their appearance and the actions they will do. To make a movie or animation you can spawn different instances of an character. newcharacter name - adds a new character to your map. In editmode the new character will spawn in front of you.

Character Commands

After you created a new character you can add commands the character will execute like change model or let the character move to a waypoint.

Character States

(not implemented) All commands you add to an charater where stored in command queue. Every character can hold different commands queues (aka states) and switch between them. The first state is created automatically when you create a new character. In States you can define different types of actions, e.g. use state 0 for configuring the character, state 1 for walk actions, state 2 for talk or interact with others. Spawned characters can receive signals forces them to change their actual state. (this does not work at the moment.)

adding and changing Charactermodels

If MovieCube starts only the default charactermodel is avabiable. To add more character models load them with the preloadplayermodel command.

preloadplayermodel [path]

thirdperson 2; preloadplayermodel ogre; setplayermodel 1 This will load a new playermodel and registers the animations. You can test this by changing your playermodel:

Overwrite Animation (AO)

(not fully implemented) In MovieCube you can overwrite the exisiting standard animations of an player or charactermodel. You can test this on your playermodel. If your model has an animation 50 (depends on the model you use), you can use this animation to overwrite the standard animation for e.g. swimming by using the following animation overwrite id's:

Animation Overwrites ID's:

AO_DEAD = 0, AO_DYING = 1, AO_IDLE = 2, AO_FORWARD, = 3, AO_BACKWARD = 4, AO_LEFT =5, AO_RIGHT = 6, AO_HOLD = 7, AO_ACTION = 8, AO_GESTURE = 9, AO_PAIN = 10, AO_JUMP = 11, AO_SINK = 12, AO_SWIM = 13, AO_EDIT = 14, AO_LAG = 15

setao 13 50 - now animation 22 is used as swimming animation

Future versions of MovieCube will provide a GUI for that.

adding Attachments

MovieCube supports adding various attachments to the player or characters. Keep in mind that the model you use has to support this. The model needs special tags to attach stuff to it. For md5 models you have to define these tags with the md5tag command in the md5.cfg config file of your model.

md5tag [armature bone] [tag name] - the armature bone are the existing bones of your model, the tag names are names hardcoded in MovieCube and refers to body parts.

Sample tag configuration of an model:

md5tag Head tag_head
md5tag Arm.L tag_rarm
md5tag Arm.R tag_larm
...

complete list of body parts and their corresponding tag names:

0 "Head" - "tag_head"
1 "Neck" - "tag_neck"
2 "LeftShoulder" - "tag_lshoulder"
3 "RightShoulder", "tag_rshoulder"
4 "LeftArm", "tag_larm"
5 "RightArm", "tag_rarm"
6 "LeftForearm", "tag_lforearm"
7 "RightForearm", "tag_rforearm"
8 "LeftHand", "tag_lhand"
9 "RightHand", "tag_rhand"
10 "Belly", "tag_belly"
11 "Hip", "tag_hip"
12 "LeftThigh", "tag_lthigh"
13 "RightThigh", "tag_rthigh"
14 "LeftShin", "tag_lshin"
15 "RightShin", "tag_rshin"
16 "LeftFoot", "tag_lfoot"
17 "RightFoot", "tag_rfoot"

To attach an other model to playermodel use the following commands:

playerattach 8 "items/flag" 0

or

playerattach (getattachnum LeftHand) "items/flag" 0

this will attach the model stored in packages/models/items/flags onto your players left Hand. the last parameter controls the animation of the attached model. just leave it blank, if it dont have any animation.

Record Movies

using the engine

  • moview 320 - set the width of your video clip
  • movieh 240 - set the height of your video clip
  • movie myclip - record movie into file myclip.avi

high resolution capture with glc (linux)

Record Demos