| 1) There is a file named "entities.def" under 3D World Studio folder. Open it with notepad and add custom entites. Like; 
 
 
@pointclass enemy : "sprites\enemy"
[
	
]
 
 2) Select the brush or mesh you want to and press ALT+Enter or open it's properties window. Change it's name (e.g. Wall_Col) and use the sample code below. (It's my world loading code in one of my projects)
 
 
 
	Function LoadWorld( file$ )
		map=LoadAnimMesh( file )
	
		If Not map Return
		
		world = CreatePivot()
		meshes = CreatePivot( world )
		renderbrushes = CreateMesh( world )
		collisionbrushes = CreatePivot( world )
		pointentities = CreatePivot( world )
		solidentities = CreatePivot( world )
		EntityType collisionbrushes, COLLISIONTYPE_BRUSH
	
		For c = 1 To CountChildren( map )
	
			node = GetChild( map, c )	
			classname$ = Lower( KeyValue ( node, "classname" ) )
			DebugLog "Loading " + Chr( 34 ) + classname + Chr( 34 ) + "..."
			
			Select classname
			
			;===============================================================================
			;Map Geometry
			;===============================================================================
			
				Case "mesh"
					EntityParent node, meshes
					c = c - 1
					EntityType node, COLLISIONTYPE_MESH
					
				Case "terrain"
					EntityType node, COLLISIONTYPE_BRUSH
					EntityParent node, collisionbrushes
					c = c - 1
	
				Case "brush"
					RotateMesh node, EntityPitch( node ), EntityYaw( node ), EntityRoll( node )
					PositionMesh node, EntityX( node ), EntityY( node ), EntityZ( node )
					AddMesh node, renderbrushes
					EntityAlpha node, 0
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 0
					EntityParent node, collisionbrushes
					c = c - 1
			
			;===============================================================================
			;Solid Entities
			;===============================================================================
			
			;Invisible collision brush
				Case "field_hit"
					EntityParent node, collisionbrushes
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 0
					c = c - 1
					
			;Border Brush 1
				Case "border1"
					EntityParent node, collisionbrushes
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 1
					
					EntityBlend node, 3
					
					borderAnimTexture1.tAnimTexture = AnimTextureNew( "..\Media\Model\border.png", node, 256, 0, 15, 1.4 )
					
					c = c - 1
					
			;Border Brush 2
				Case "border2"
					EntityParent node, collisionbrushes
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 1
					
					EntityBlend node, 3
					
					borderAnimTexture2.tAnimTexture = AnimTextureNew( "..\Media\Model\border.png", node, 256, 0, 15, 1.4 )
					
					c = c - 1
			;Border Brush 3
				Case "border3"
					EntityParent node, collisionbrushes
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 1
					
					EntityBlend node, 3
					
					borderAnimTexture3.tAnimTexture = AnimTextureNew( "..\Media\Model\border.png", node, 256, 0, 15, 1.4 )
					
					c = c - 1
					
			;Border Brush 4
				Case "border4"
					EntityParent node, collisionbrushes
					EntityType node, COLLISIONTYPE_BRUSH
					EntityAlpha node, 1
					
					EntityBlend node, 3
					
					borderAnimTexture4.tAnimTexture = AnimTextureNew( "..\Media\Model\border.png", node, 256, 0, 15, 1.4 )
					
					c = c - 1
					
			;Nebula brush
				Case "nebula"
					EntityParent node, collisionbrushes
					EntityBlend node, 3
					EntityFX node, 1
					
					c = c - 1
					
			;===============================================================================
			;Point Entities
			;===============================================================================
			
				Case "playerstart"
					angles$ = KeyValue( node, "angles", "0 0 0" )
					pitch# = Piece( angles, 1, " " )
					yaw# = Piece( angles, 2, " ")
					roll# = Piece( angles, 3, " ")
						
					spawnX = EntityX( node )
					spawnY = EntityY( node )
					spawnZ = EntityZ( node )
					
			;===============================================================================
			;Custom Entities
			;===============================================================================
				Case "planet1" 
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet1.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
				Case "planet2"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet2.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
					
				Case "planet3"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet3.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
				
				Case "planet4"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet4.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
				
				Case "planet5"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet5.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
				Case "planet6"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet6.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
		
				Case "planet7"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Planet.tPlanet = PlanetNew( CreateQuad(), "..\Media\Model\planet7.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, .02 )
		
				Case "asteroid1"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Asteroid.tAsteroid = AsteroidNew( CreateQuad(), "..\Media\Model\asteroid1.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, Rnd(-1, 1), .2 )
				
				Case "asteroid2"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Asteroid.tAsteroid = AsteroidNew( CreateQuad(), "..\Media\Model\asteroid2.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, Rnd(-1, 1), .2 )
				
				Case "asteroid3"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Asteroid.tAsteroid = AsteroidNew( CreateQuad(), "..\Media\Model\asteroid3.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, Rnd(-1, 1), .2 )
				
				Case "convoy"
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Convoy.tConvoy = ConvoyNew( CreateQuad(), "..\Media\Model\convoy.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ, 1 )
				
				Case "debris"
				
					scale$ = KeyValue( node, "scale", "0 0 0" )
					scaleX# = Piece( scale, 1, " " )
					scaleY# = Piece( scale, 2, " " )
					scaleZ# = Piece( scale, 3, " " )
				
					Debris.tDebris = DebrisNew( LoadMesh( "..\Media\Model\Debris.b3d" ), "..\Media\Model\debristex.dds", EntityX(node), EntityY(node), EntityZ(node), scaleX, scaleY, scaleZ )
				
			;===============================================================================
			;Enemy Entities
			;===============================================================================
				End Select
			Next
	
		FreeEntity map
		Return world
	End Function
 
 
 |