View Single Post
  #5  
Old 05-23-2005, 09:53 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

Okay, here is the syntax of importing .3DS objects via an ASCII file:

Code:
Mesh
  Name    meshname
  Loc     x,y,z
  Heading rx,ry,rz
  Size    sx,sy,sz
  3DSFileName fully-qualified path and file name
End
It's basically just an extension of OpenZone's .SCN file format where it recognizes a new token: 3DSFILENAME. Here is an example that I used to test it (meshimport.scn):
Code:
LongName 3DS Max Import Test
ShortName importtest
ZoneType Outdoor
Mesh
  Name    Mesh1
  Loc     0, 0, 0
  Heading 0, 0, 0
  Size    1, 1, 1
  3DSFileName D:\Borland\Delphi6\Projects\OpenZone\3ds\knot.3ds
End
Mesh
  Name    Mesh2
  Loc     2000, 0, 0
  Heading 0, 0, 0
  Size    1, 1, 1
  3DSFileName D:\Borland\Delphi6\Projects\OpenZone\3ds\knot.3ds
End
Mesh
  Name    Mesh3
  Loc     4000, 0, 0
  Heading 0, 0, 0
  Size    1, 1, 1
  3DSFileName D:\Borland\Delphi6\Projects\OpenZone\3ds\knot.3ds
End
Mesh
  Name    Mesh4
  Loc     6000, 0, 0
  Heading 0, 0, 0
  Size    5, 5, 5
  3DSFileName D:\Borland\Delphi6\Projects\OpenZone\3ds\knot.3ds
End
.SCN files are case IN-sensitive. The NAME, LOC, HEADING, and SIZE tokens have to come first in the MESH object. You would import the objects to an existing zone by clicking Edit...Insert scene... rather than opening the scene as you normally would ("Insert Scene..." opens an .SCN file and adds its contents to your zone).

The HEADING token rotates an object around the X, Y, or Z axes, where X points north-south, Y points east-west, and Z points up-down. It always rotates around Z first, then around X and Y. To yaw an object 5 degrees about the Z axis, for example, you would specify it as HEADING 0,0,5 (all angle units are in degrees, not radians).

The import code is smart in that it caches any meshes you import in this manner, so importing the same object hundreds of times should be fairly efficient. Unless there are any more requests, I'll package it and put out a release this week.
Reply With Quote