Tuesday, 7 October 2008

MpM Session 1 Notes

Intro:

-Massive is not a modelling program. It is used to build up the logic systems for geometry created in other programs(maya, rhino, etc..)

Fuzzy Logic in Massive

-Fuzzy logic is a methodology of creating rules as a series of graphs which describe an inputs degree of truth (ie any number between 0 and 1) which is different from traditional programming languages which operate most from Boolean logic.(ie. YES or NO).


-The degree of truth is described by where the incoming number intersects the graph: see example below:


-SEE MpM reference for hotkeys/basic navigation

How to run the program

-For massive to work the license manager must be running

double-click mhost to run it

when the box opens click -start-

you should get a message about how many licenses you have available


-open Massive


Next session I show you how to set it up where mhost automatically starts when you start Windows.


Placing agents

CLICK HERE EXPLANATION

Edit -> Place

  • select what type of placement Circle, point, line, poly

  • set the parameters

  • click Place to create the agents

  • click Close



Agent #1 – moving around


1A:

-To create an agent you first need some geometry to visualize it.


1.Go to the Body section (change tab on the upper right)

2.drag a box onto the scene

3.click on the box to show its properties. In the Shape tab you can adjust the size and rest position of the box


Download working agent


Make it move


BRAIN BASICS

-Go to the Brain Page (change the drop down on the top right corner)

-Drag an OUTPUT node onto the scene


NOTE: The way an output node knows what to do is by what you write in the CHANNEL box. The output can be named anything, but the CHANNEL must be one of the specified keywords.(see MpM reference for a list of all CHANNEL names)


-make the channel tz

this specifies the translate Z channel for the agent. Massive is Y up so tz means forward


-either move the slider or give it a value (say around 3)

since tz is an agent channel it means the rate of change per frame and not an absolute value. Check here for the difference between agent and segment channels.



-add other output nodes for tx and ty to see how they combine together


-also try rotations rx , ry, rz



TIMER AGENT


DOWNLOAD Timer1



This agent uses a TIMER node to input information into the graph

INTRO TO FUZZ NODES

-drag on a FUZZ node

-connect the Timer to it: hold Ctrl – L click timer – L click fuzz

-to disconnect nodes hold Ctrl+Alt and repeat the above process

-start the simulation (spacebar)

-select the fuzz node and you should see a blue line running across it: this is the value coming from the Timer.


-We will use the shape of the function to determine how the box moves in the Y direction (up and down)


-The fuzz node is connect to an AND node which is connected to a DEFUZZ node;


-DEFUZZ nodes determine the output value range. Fuzzy logic rules only operate on the values 0 -> 1 so defuzz nodes allow you to relate the degree of truth to a specific value.


-NOTE: by setting the range of the output node before connecting the DEFUZZ nodes it determines the range of the DEFUZZ sliders


  • by pressing the Else button on a defuzz node it makes calculate its output based on what the other DEFUZZ is not doing, therefore balancing the system



Extended:


Download Timer 2 – an introduction to Alt connections

Download Timer 3 – alt connections and variables- randomized heights.

Place 1000+ and watch results



Basic crowd: Using Sound to avoid.


DOWNLOAD Basic Avoid Agent


-In Massive, sound is used like sonar (bats, dolphins, submarines) as a means of determining the environment around an agent.


-To use sound an agent must emit sound: this is done by making 2 OUTPUT nodes setting one’s channels to:


sound.f the frequency it is broadcasting on

sound.a how far it is sending the sound

-The information used here is through the channels:

(drag on 2 INPUTs and set the source attribute to.


sound.x the angel between the agent and the other agents around



sound.d the distance to the agents



Extended:



Sound Agent2: Avoids and interprets distance in other ways
























No comments: