Showing posts with label orient. Show all posts
Showing posts with label orient. Show all posts

Thursday, 9 October 2008

Gibberish Speech Integration

Hi again!

I've just integrated gibberish speech. Gibberish audio file is picked according to the minimal distance (Levenshtein edit distance) to all the available sentences in the database.

Magic-words and voices definition is done in voices.xml located in rundir\data\audio-data\voices. Inside the same directory there is an index.csv file containing the available senteces and index keys database.

The voice definition is done per character in its XML file, by setting voice-id="x", where x is the id of the voice defined in voices.xml. Please change and test the voices attribution to each character, I've only set the default values.

Exclusive Behaviour Execution

Hi everyone!

Just changed the characters' behaviours to support exclusive action execution (only one character executing certain behaviour at a time).
This definition is optional and activated by setting argument ARG_SIMULTANEOUS_STR = true in the behaviour creation.
Please see SayTo behaviour for an example of how to use the exclusive action execution.

Monday, 6 October 2008

Ritual's Social Context remake

Since there were some changes to the way Rituals are represented in FAtiMA, I just redid the way Social Context is done on Rituals.

In terms of code, now there's no longer a representation of the Context. Instead, when the ritual's XML is parsed, the social context is loaded as pre-conditions.

The social context remains the same. For Time Conditions:

<Time value="morning" /> <!-- This means that all characters must be "in the morning" -->

<Time target="[character]" operator="=" value="morning" /> <!-- [character] must be "in the morning" -->

<Time target="[char-a]" operator="=" value="[char-b]" /> <!-- [char-a] must be in the same time as [char-b] -->


For Place Conditions:

<Place value="farm" /> <!-- This means that all characters must be at the farm -->

<Place target="[character]" operator="=" value="farm" /> <!-- [character] needs to be at the farm -->

<Place target="[char-a]" operator="=" value="[char-b]" /> <!-- [char-a] must be at the same place as [char-b] -->


Both Time and Place Conditions also support the keyword "any" on the value argument, which is as if the condition didn't exist (i.e. if the character is at any place or any time).

<Time value="any" /> <!-- The characters can be on any time -->

<Place value="any" /> <!-- The characters can be at any place -->


For Social Conditions:

<Social name="power" target="[char-a]" operator="=" value="[char-b]" /> <!-- [char-a] has the same power as [char-b] -->

<Social name="power" target="[char-a]" operator="<=" value="5" /> <!-- [character] has a power of 5 or lower -->

<Social name="host" target="[character]" operator="=" value="True" /> <!-- [character] is a host -->

Saturday, 20 September 2008

Sit on chair / Get up Behaviours

Added new behaviors for sitting on chair /getting up. Character now has a property telling whether it is seated in some place.
Changed body actions to have an animation for the character to perform when it's standing and another one when it is sitting. Actions themselves where not changed.
Changed move actions so that when the character is seated, it first gets up and then moves.

The syntax for these new behaviors is:

behaviour: sit on a given chair type available in the scenario
name: "sit-on-chair"
parameters:
  • "target" - the tag representing the type of chair available in the set where to sit the character (e.g.: "arm-chair", "simple-chair")

action: get up from the chair where the character is seated
name: "get-up"
parameters: none

Thursday, 18 September 2008

SVN Commit Warning

Hi all!

Just a warning for all people that are working directly with the SVN repository.
There have been some recent commits where the newly created files were not added to the repository.
Please make sure to add all files to SVN before commiting as the code will not compile in other machines due to those missing files.

Cheers

Wednesday, 17 September 2008

Fullscreen Mode Update

Just made a simple change to fullscreen mode. Because sometimes is easier to test the application in windowed mode (as other windows are displaying), now it only goes to fullscreen if so is defined in OgreConfig file.
So run OgreConfig.exe to choose window size and fullscreen mode.

Wednesday, 3 September 2008

New Character Body XML Definition

Changed actions, phonemes and facial expressions definition. All is defined individually per character in respective XML file.
Changed also ActionEditor to edit characters actions accordingly.

Note for phoenemes and facial expressions XML definition:
key is mesh pose name, value the expression name in the application domain, so change key only.

Tuesday, 2 September 2008

Pick / Drop Item Behaviours

Added new behaviours at Orient ION level that allow a character of picking and later droping items in certain locations of the set. Character animation is adjusted to item pick/drop site.
Added a list of picked items to the characters which can be displayed in the user interface so that the user can choose to perform a certain action over the picked items.
Some other behaviours like give-object or eat can later be changed to be used in conjunction with these new ones.
The syntax for these new character behaviors is:

bahaviour: pick an item from the current scenario
name: "pick-item"
parameters:
  • "item" - the name of the item to be picked

behaviour: drop or discard an item in some location
name: "drop-item"
parameters:

  • "item" - the name of the item to be droped
  • "target" - optional, the name of a set, character or other item where to drop this item, otherwise the item is just discard in the floor (eg: "table") Note: must contain a waypoint tagged "drop-spot".
  • "spot" - optional, the tag of the item-spot where to place the item (eg: "table-drop-spot"), otherwise in any item-spot.

Notes: you can check DemoFormApp to see an example of these behaviors.

Item Placement

Added item place/unplace actions at Orient ION level. As discussed, from now on item placement is done through this layer as character placement is by the StoryFacilitator.

The syntax for these item actions is:

action: place and show an item in some spot
name: "place-item"
parameters:

  • "target" - the name of a set, character or other item where to place this item (eg: "table")
  • "spot" - optional, the tag of the spot where to place the item (eg: "top-table-spot"), otherwise in any item spot
  • "fade" - optional, if set to "false", item visibility won't change

action: unplace and hide item from current spot
name: "unplace-item"
parameters:
  • "fade" - optional, if set to "false", item visibility won't change