View Single Post
  #9  
Old 09-10-2011, 08:14 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

some 2003 stuff posting here for reference

Quote:
IMPORTING MODELS INTO 3DMAX

1. Start EQ Model Viewer

2. The left column, when properly configured, will display all of the *.S3D files in your /EverQuest/ directory. Select "gequip3.s3d" and click the "LOAD S3D" button on the bottom of that column.

3. You should see "gequip3.wld" show up in the upper right column under "Model Files". Make sure it is highlighted/selected and hit the "LOAD MODEL" button.

4. All of the models in gequip3.wld are now displayed in the lower right column. Make sure only show selection is checked and scroll down to *IT10025_DMSPRITEDEF" - highlight this model.

5. In the viewport window, you should now see Seru's Sword of Truth (that badass sword they gave him just for looks).

6. Above the object selection window are a set of controls (wire mode, only show selection, etc.). Click the EXPORT button. And Export Options window will appear.

7. Select MAXSCRIPT FORMAT, Export Skin, and leave scale at 1.00000

8. Press SAVE... and name your file.

9. You show now have a filename.ms and filename.dat in your saved directory.

== OPTIONAL - You currently have the raw MODEL but no textures, continue on to get those also ==

10. Using Notepad or 3dMax (I suggest Notepad), open the filename.ms and you will see something like the following:

-- START OF MODEL
fp = openFile "sword7-noskin.dat" mode:"r"
if fp != undefined then
(
-- START OF OBJECT
undo off
(
try
(
try
(
Mat = MultiMaterial()
Mat.numsubs = 4
Mat[1] = StandardMaterial name:"Slot1"
Mat[1].DiffuseMap = BitmapTexture filename:"1025BLDBLUE.DDS"
assignNewName Mat[1].DiffuseMap
ShowTextureMap Mat[1] Mat[1].DiffuseMap true
Mat[2] = StandardMaterial name:"Slot2"
Mat[2].DiffuseMap = BitmapTexture filename:"IT10025HLT.DDS"
assignNewName Mat[2].DiffuseMap
ShowTextureMap Mat[2] Mat[2].DiffuseMap true
Mat[3] = StandardMaterial name:"Slot3"
Mat[3].DiffuseMap = BitmapTexture filename:"IT10025HAFT.DDS"
assignNewName Mat[3].DiffuseMap
ShowTextureMap Mat[3] Mat[3].DiffuseMap true
Mat[4] = StandardMaterial name:"Slot4"
Mat[4].DiffuseMap = BitmapTexture filename:"IT10025POM.DDS"
assignNewName Mat[4].DiffuseMap
ShowTextureMap Mat[4] Mat[4].DiffuseMap true
)
catch
(
format "An Exception occurred during Material setup\n"
)

try
(

format "Creating object IT10025_DMSPRITEDEF\n"

Obj = mesh NumVerts:478 NumFaces:454
Obj.Name = "IT10025_DMSPRITEDEF"
Obj.Mat = Mat
SetNumTverts Obj 478 false
BuildTvFaces Obj false

local tempx,tempy,tempz
for i=1 to 478 do
(
tempx = ReadValue fp -- Vertex positions
tempy = ReadValue fp
tempz = ReadValue fp
SetVert Obj i tempx tempy tempz
tempx = ReadValue fp -- UVs
tempy = ReadValue fp
SetTVert Obj i [tempx, tempy, 1.0]
)

local index0,index1,index2
for i=1 to 454 do
(
index0 = ReadValue fp
index1 = ReadValue fp

index2 = ReadValue fp
SetFace Obj i index0 index1 index2
SetTVFace Obj i [index0, index1, index2]
)

local tmap,faceindex
for i=1 to 454 do
(
faceindex = ReadValue fp
tmap = ReadValue fp
SetFaceMatId Obj faceindex tmap
)

Update Obj
)
catch
(
format "An Exception occurred during Geometry setup\n"
)
) catch (format "An unknown exception occurred during import\n")
) -- undo off
-- END OF OBJECT

-- END OF MODEL
close fp
)
else
(
format "Error loading data file.\n"
)

11. Search for Mat[#].DiffuseMap = BitmapTexture filename:"*.DDS"

12. Each .DDS file is basically a bitmap of the material used to texture the object. To texture it in max (if you want it exactly as it is in game), you will need to extract those *.DDS files into the same directory as the .MS and .DAT files.

13. To do this, I use EQInside. Load up the SAME *.S3D file you generated the maxscript from. When the S3D is load, you will see its contents in the right column. Highlight the needed materials (in this case 1025BLDBLUE.DDS, IT10025HLT.DDS, IT10025HAFT.DDS and IT10025POM.DDS) seperately, and under the ARCHIVE menu is "SAVE DATA". Save that .DDS to the same directory as your *.MS and .DAT

14. Continue this for any remaining textures/materials.

15. Load 3D Max (I use R5)

16. In the menu (File, Edit, Tools, Group, etc) is "MAXscript". Select MAXscript >> Run Script... and load your filename.ms into 3dMax.

17. Left click-dragging your mouse inside the modeling window will now create the model (in my experience they're usually very small - so you may need to zoom). You'll know it's created when the model number appears as the object name.

18. Edit, Render, do whatever... you are done.

You can now save ANY EQ model to .max, .lwo or any other format that your version of Max will allow you to export.


** This has only worked on individual object models in Everquest. I have not seen or been able to export/render a zone into Max **
Reply With Quote