Heilan X3D Browser

Open Sound Control Support

Heilan acts as an OSC server. Control of the attributes of any node may be made available to OSC clients by simply assigning an OSC address to the node. To do this, simply name the node with DEF - this will set the node's OSC address to '/heilan/<whatever_you_named_it>. To then control it from an OSC client, you just send messages to '/heilan/<node address>/<node attribute>'. If you are trying to control an attribute that may have multiple values (e.g. a position vector), you can control it by adding the index of the value you want to control to the end of the address, e.g. '/heilan/bob/position.0' (the first four indices can also be replaced with x, y, z, r respectively). This also extends to nodes with multiple vector values (e.g. '/heilan/bob/keyValues.0.1' refers to the Y coordinate of the first key value).

Example Usage

The box may now be moved, rotated and resized via OSC, by sending messages to '/heilan/bob/translation', '/heilan/bob/rotation' and '/heilan/bob/scale' respectively.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE X3D>
<X3D profile="Full">
	<Scene>
		<Transform DEF="bob" translation="0.0 0.0 -5.0">
			<Shape>
				<Appearance>
					<Material diffuseColor="1 0 0"/>
				</Appearance>
				<Box size="1.0 1.0 1.0"/>
			</Shape>
		</Transform>
	</Scene>
</X3D>
		

You may want to look at my MouseToOSC program for a simple way to send OSC messages to Heilan.

Controlling the Camera

You can also control Heilan's camera/listening position via OSC, by sending messages to the hard-coded addresses '/heilan/camera/position' and '/heilan/camera/rotation'.