3dsmax Exporter v1.2

View previous topic View next topic Go down

3dsmax Exporter v1.2

Post  exavi on Fri Oct 24, 2008 8:42 pm

This is an exporter I started to write today. I didn't tested it on SIO2 but the output seems to be ok.
Please take note that as I did this as fast as I could it is a bit "tricky" in some parts Razz

Instructions: Open the script from maxscript, and hit ctrl+E or execute script Wink

I will turn it into a macro/plugin soon as it will be able to export everything like the blender one.

Exports: -Objects
-Materials
tomorrow: -Cameras
-Lights

Additional notes:
-right now it will ask you for some name every time he tries to export something, it does not matter what you write, it will save your object or material with its scene name, so just tap the keyboard and press something and enter... it is tricky I know but...

-right now it does not create the sio2 file structure format, so you will need to create it manually,zip it and rename it, I hope it can do this before monday Wink

Code:

--Name: 'SIO2 Exporter V0.0.1 (.sio2)...'
--3dsmax versions: (not tested yet)
--Description: Quick & reeeeeaaally basic 3dsmax exporter
--v0.000000001 ;)

--note: in order to be able to export geometry,
--make sure everything is an "editable mesh/edit mesh"

for obj in geometry do
(
   ptrFileOut = GetSaveFilename\
   types:"sio2 Engine Resource (*.sio2) |*.sio2|"
   if (ptrFileOut != undefined) then
   (
      fileOut = createfile obj.name   
   
      format "object( object/% )" obj.name to:fileOut
      format "\n{" to:fileOut
      format "\n\tpos( % % % )" obj.pos.x obj.pos.y obj.pos.z to:fileOut
      format "\n\tscl( % % % )" obj.scale.x obj.scale.y obj.scale.z to:fileOut
   
      --rad(┐?┐?┐?)
      --bounds(┐?┐?┐?)
      --damp(?┐?┐?)
      --rotdamp(┐?┐?┐?)
      --dim(┐?┐?┐?) object dimensions I guess...
      --vbo_offset(┐?┐?┐?)
   
      for v=1 to obj.numverts do
      (
         vert= getVert obj v
         format "\n\tvert( % % % )"  vert.x vert.y vert.z to:fileOut
      )
   
      --vcol()
      --3dsmax does not support alpha channel for VertexColor
      --vertex color output should not be floats
      --this is a bit tricky, I know...
      if (obj.numCPVVerts > 0) then
      (
         for vc=1 to obj.numCPVVerts do
         (
            vertcol = getVertColor obj vc
            format "\n\tvcol( % % % 255 )" vertcol.r vertcol.g vertcol.b to:fileOut
         )
      )
      
      numtverts = meshop.getNumMapVerts obj 1
      for uv=1 to numtverts do
      (
         tvert=meshop.getMapVert obj 1 uv
         format "\n\tuv0( % % )" tvert.x tvert.y to:fileOut
      )
      --n_vgroup() ┐?┐?┐?
      --vgroup() ┐?┐?┐?
      if (obj.material != undefined) then
      (
         format "\n\tmname( material/% )" obj.material.name to:fileOut
      )
      format "\n\tn_ind( % )" (obj.numfaces*3) to:fileOut
   
      for f=1 to obj.numfaces do
      (
         face = getFace obj f
         format "\n\tind( % )" face to:fileOut
      )
      format "\n}" to:fileOut
   )
)

for m in sceneMaterials do
(
   ptrFileOut = GetSaveFilename\
   types:"sio2 Engine Resource (*.sio2) |*.sio2|"
   if (ptrFileOut != undefined) then
   (
      fileOut = createfile m.name
      format "material( material/% )" m.name to:fileOut
      format "\n{" to:fileOut
   
      --tflags0 ┐?┐?┐?
      --tflags1 ┐?┐?┐?
   
      if (m.diffuseMap != undefined) then
      (
         format "\n\ttex0( image/% )" m.diffuseMap.name to:fileOut
      )
      --tex1
      --I know this is not completely true, but in case someone
      --does the necessary magic to get that magnificient GL_ARB_tex_env_dot3
      --extension work in the iPhone...
      --Anyways you can still use this map channel for whatever you want ;)
      if(m.bumpMap != undefined) then
      (
         format "\n\ttex1( image/% )" m.bumpMap.name to:fileOut
      )
      format "\n\tdiffuse( % % % )" m.diffuse.r m.diffuse.g m.diffuse.b to:fileOut
      format "\n\tspecular( % % % )" m.specular.r m.specular.g m.specular.b to:fileOut
      format "\n\talpha( % )" (m.opacity/100) to:fileOut
      format "\n\tshininess( % )" m.glossiness to:fileOut
      --friction┐?
      --uncomment this in case that friction the
      --same as the 3dsmax std material soften value
      --format "\n\tsoften( % )" m.soften
   
      format "\n}" to:fileOut --end of material
      close fileOut
   )
)

--Cameras Export not supported yet
--for c in cameras do
--(
   --format "camera( camera/% )" c.name to:fileOut
   --format "\n{" to:fileOut
   --format "\n\tpos( % % % )" c.pos.x c.pos.y c.pos.z to:fileOut
   --format "\n\ttar( % % % )" c.target.pos.x c.target.pos.y c.target.pos.z to:fileOut
   --format "\n\tfov( % )" c.fov to:fileOut
   --format "\n\tcstart( % )" c.nearclip to:fileOut
   --format " \n\tcend( % )" c.farclip to:fileOut
   --format "\n}" to:fileOut
--)


(wheres the attach button here???)


ps: I need to get some sleep, tomorrow I will continue with this... its 4:30 AM here... Sad
ps2: @mr.sio2: would be cool if you can send me by email or pm the sio2 objects format specifications Wink I have doubts in all of those that have ┐?┐?┐? next to them. thanks for making this free Wink

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  sio2interactive on Sat Oct 25, 2008 8:52 am

Allright, will do, I'll write you a PDF with the exact specs + comments/hints... but looking good so far continue the good work! Im having a new revision in about a week from now do you think you can stabilize it and test it to make it on time for the new revision? Also are you willing to continue to maintain it? I yes I will create a new topic on this forum and put you mod, and can you please provide on a contact address in the script for question/comments & bug report...

Cheers,


ps: add me on MSN or Skype, that might make communications more easy Wink
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

3dsmax Exporter v1.2 and up (v.0.0.2 alpha)

Post  exavi on Sat Oct 25, 2008 11:38 am

Here's the promised update.

Now it creates the file format structure (folders) but it still does not automatically zip it.

Like I said yesterday I will turn it into a macro/plugin soon as it will be able to export everything like the blender version, but at least now it has some dialog, and it does not ask a zillion times for nonsense names... Razz

Description: Quick & reeeeeaaally basic 3dsmax exporter
Instructions: Go to "MAXScript > Run Script..." write your desired file name and hit export Wink

Now exports:

  • Objects (geometry)
  • Materials
  • Cameras
    • Target Camera

  • Lights (lamps)
    • Free Spot (lamp)



note: in order to be able to export geometry, make sure everything is an "editable mesh/edit mesh" as I am using meshop methods

Code:

--Name: 'SIO2 Exporter V0.0.2 (.sio2)...'
--3dsmax versions: (not tested yet)

--created by Javier Edo Meseguer
--http://www.javieredo.com
--CG Artist
--contact: javier@javieredo.com

--note: in order to be able to export geometry, make sure everything is an "editable mesh/edit mesh"

--Description: Quick & reeeeeaaally basic 3dsmax exporter
--Instructions: Go to "MAXScript > Run Script..." write your desired file name and hit export ;)

-----------------------------------------------------------------------------------------------------------------

--create Directories
function SIO2Export outputfile =
(
   destinationDir = ((getDir #export)+@"\"+outputfile+@"\")
   makeDir destinationDir
   if (destinationDir != undefined) then
   (
      camDir = ((getDir #export)+@"\"+outputfile+@"\camera\")
      imgDir = ((getDir #export)+@"\"+outputfile+@"\image\")
      lmpDir = ((getDir #export)+@"\"+outputfile+@"\lamp\")
      mtlDir = ((getDir #export)+@"\"+outputfile+@"\material\")
      objDir = ((getDir #export)+@"\"+outputfile+@"\object\")
      sptDir = ((getDir #export)+@"\"+outputfile+@"\script\")
      sndDir = ((getDir #export)+@"\"+outputfile+@"\sound\")
   
      makeDir camDir
      makeDir imgDir
      makeDir lmpDir
      makeDir mtlDir
      makeDir objDir
      makeDir sptDir
      makeDir sndDir
   )
   print "Directories created OK."


--if ((camDir != undefined) and (imgDir != undefined) and (lmpDir != undefined) and (mtlDir != undefined) and (objDir != undefined) and (sptDir != undefined) and (sndDir != undefined)) then
--(

--export Objects
   for obj in geometry do
   (
      fileOut = createfile (objDir+obj.name)   
   
      format "object( object/% )" obj.name to:fileOut
      format "\n{" to:fileOut
      format "\n\tpos( % % % )" obj.pos.x obj.pos.y obj.pos.z to:fileOut
      format "\n\tscl( % % % )" obj.scale.x obj.scale.y obj.scale.z to:fileOut
   
      --rad(┐?┐?┐?)
      --bounds(┐?┐?┐?)
      --damp(?┐?┐?)
      --rotdamp(┐?┐?┐?)
      --dim┐?
      xmax =abs obj.max.x
      xmin = abs obj.min.x
      ymax = abs obj.max.y
      ymin = abs obj.min.y
      zmax = abs obj.max.z
      zmin = abs obj.min.z
      xmax + xmin
      ymax + ymin
      zmax + zmin
      format "\n\tdim( % % % )" (xmax+xmin) (ymax+ymin) (zmax+zmin) to:fileOut
      --vbo_offset(┐?┐?┐?)

      for v=1 to obj.numverts do
      (
         vert= getVert obj v
         format "\n\tvert( % % % )"  vert.x vert.y vert.z to:fileOut
      )

      --vcol()
      --3dsmax does not support alpha channel for VertexColor
      --vertex color output should not be floats
      --this is a bit tricky, I know...
      if (obj.numCPVVerts > 0) then
      (
         for vc=1 to obj.numCPVVerts do
         (
            vertcol = getVertColor obj vc
            format "\n\tvcol( % % % 255 )" vertcol.r vertcol.g vertcol.b to:fileOut
         )
      )
      
      numtverts = meshop.getNumMapVerts obj 1
      for uv=1 to numtverts do
      (
         tvert=meshop.getMapVert obj 1 uv
         format "\n\tuv0( % % )" tvert.x tvert.y to:fileOut
      )
      --n_vgroup() ┐?┐?┐?
      --vgroup() ┐?┐?┐?
      if (obj.material != undefined) then
      (
         format "\n\tmname( material/% )" obj.material.name to:fileOut
      )
      format "\n\tn_ind( % )" (obj.numfaces*3) to:fileOut

      for f=1 to obj.numfaces do
      (
         face = getFace obj f
         --format "\n\tind( % % %)" face.x face.y face.z to:fileOut --this one adds xx.0 for some reason to the end
         format "\n\tind( % )" face to:fileOut --this one adds [] before face point3 coordinates
      )
      format "\n}" to:fileOut
      close fileOut
   )
   print "--->Objects Created OK."


--export Materials
   for m in sceneMaterials do
   (
      fileOut = createfile (mtlDir+m.name)
      format "material( material/% )" m.name to:fileOut
      format "\n{" to:fileOut
   
      --tflags0 ┐?┐?┐?
      --tflags1 ┐?┐?┐?
   
      if (m.diffuseMap != undefined) then
      (
         format "\n\ttex0( image/% )" m.diffuseMap.name to:fileOut
      )
      --tex1
      --I know this is not completely true, but in case someone
      --does the necessary magic to get that magnificient GL_ARB_tex_env_dot3
      --extension work in the iPhone...
      --Anyways you can still use this map channel for whatever you want ;)
      if(m.bumpMap != undefined) then
      (
         format "\n\ttex1( image/% )" m.bumpMap.name to:fileOut
      )
      format "\n\tdiffuse( % % % )" m.diffuse.r m.diffuse.g m.diffuse.b to:fileOut
      format "\n\tspecular( % % % )" m.specular.r m.specular.g m.specular.b to:fileOut
      format "\n\talpha( % )" (m.opacity/100) to:fileOut
      format "\n\tshininess( % )" m.glossiness to:fileOut
      --friction┐?
      --uncomment this in case that friction the
      --same as the 3dsmax std material soften value
      --format "\n\tsoften( % )" m.soften
   
      format "\n}" to:fileOut --end of material
      close fileOut
   )
   print "--->Materials Created OK."


--export Cameras
   for c in cameras do
   (
      if (c.target != undefined) then
      (
         fileOut = createfile (camDir+c.name)   
         format "camera( camera/% )" c.name to:fileOut
         format "\n{" to:fileOut
         format "\n\tpos( % % % )" c.pos.x c.pos.y c.pos.z to:fileOut
         format "\n\ttar( % % % )" c.target.pos.x c.target.pos.y c.target.pos.z to:fileOut
         format "\n\tfov( % )" c.fov to:fileOut
         format "\n\tcstart( % )" c.nearclip to:fileOut
         format " \n\tcend( % )" c.farclip to:fileOut
         format "\n}\n" to:fileOut
         close fileOut
      )
   )
   print "--->Cameras Created OK."


--export Lamps
   for l in lights do
   (
      if(l.type == #freeSpot) then --fake-ish "Blender's lamp" maybe? :S
      (
         fileOut =createfile (lmpDir+l.name)
         format "lamp( lamp/% )" l.name  to:fileOut
         format "\n{"  to:fileOut
         format "\n\tpos( % % % )" l.pos.x l.pos.y l.pos.z  to:fileOut
         --format "\n\ttar( % % % )" l.target.pos.x l.target.pos.y l.target.pos.z
         format "\n\tcol( % % % )" l.rgb.r l.rgb.g l.rgb.b  to:fileOut
         format "\n\tnrg( % )" l.multiplier  to:fileOut
         format "\n\tdst( % )" l.DecayRadius  to:fileOut
         --fov ┐?┐?┐?
         --sblend ┐?┐?┐?
         --att1 ┐?┐?┐?
         --att2 ┐?┐?┐?
         format "\n}\n"  to:fileOut
         close fileOut
      )
   )
   print "--->Lamps Created OK."
   print "Remember that you will find your export in your 3dsmax export folder, Zip it, rename it, and rock your iPhone ;)"
--)
)


rollout rollsio2exp "SIO2 Exporter"
(
   edittext nameExport "Output Name:"
   button btnExport "Export"
   on btnExport pressed do
   (
      if nameExport != "" then
      (
         SIO2Export nameExport.text
         messagebox "Export successfull, now remember to zip it and rename it ;) "
         DestroyDialog rollsio2exp
      )
      else
      (
         messagebox "write something for the output name"
      )
   )
)
CreateDialog rollsio2exp

ps: I have added contact stuff on the script.
ps2: why theres no attach button┐?
ps3: copy the entire script code, and save it to whatever.ms

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

About the 3dsmax Exporter...

Post  exavi on Sat Oct 25, 2008 1:04 pm

Just in case someone thinks that this is working now, it is not, at least in the current version (v.0.0.2) and its not intended to be. The only reason why I am posting the code here as I write it, is just in case someone wants to try it and see what differences he/she sees between the blender Exporter Output and this one.

There are some things that are not like in the original one. These are also commented in the script.
For example: (this can also be named a bug list...Razz )

  • I do not include " " before and after the type and the name of the object/camera/light/material, and I don't know if this is necessary
  • 3dsmax output indexes look like this ([1,3,4]) instead of (1 3 4), if I change this to separate the values for some unknown reason it gives me those values but with .0 added so it will look like (1.0 3.0 4.0) its nonsense, I know...
  • 3dsmax vertexColor rgb values are float, but vertexcolor is deprecated as of today so I guess that this wont be any big problem...
  • There are several things that I do not export as I don't know what they are, or what they mean. All of these are commented on the exporter with "-- " (this is what starts a comment line in maxscript) but I will add them as soon as I know what they mean Wink
  • Non-automatic zip file creation

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

Some doubts after some fixes

Post  exavi on Tue Oct 28, 2008 1:29 pm

I continued working on the 3dsmax exporter and after reading the file format specifications and the blender's python exporter I have some doubts:

1) could you explain a bit more the camera target or light target position what is actually doing? because I've seen that in your blender exporter you multiply (0,0,-1) by world axis matrix or something, and I as far as I know, that does not exist in maxscript so I have to figure out how to archieve the same effect... what I'm doing now is just getting the position of the target, not the direction like yours...

2) Could you please tell me which values are COMPLETELY NECESSARY to make the sio2 file work on the iPhone? I'm saying this because I've exported several scenes with blender and there are some values that appear sometimes, and others than I would not seen ever If I didn't read the whole python exporter... so I'm guessing that some values are not necessary to make something work...

3) I've been watching that there is some stuff that exists in the exporter but the iPhone can not support any way (area lights, for example) and others that are not supported right not but the iPhone could support, is this because you are working on this stuff or you have plans to add these things? is there any kind of "roadmap" for SIO2 available for us? (just the users) would be cool to watch it, so we can wait for next releases without sleeeping Wink

4) here is the list with what is supported right now, what its not, and what can not be supported, some of them have comments next to them:

SUPPORTED:
camera:
type
-but sun does not exist as a default/std 3dsmax light
-but hemi does not exist as a default/std 3dsmax light
-but area does not exist as a default/std 3dsmax light
pos
fov
cstart
cend

material:
*tflags0
*tflags1
--but there's no such clipping stuff on the bitmap map in 3dsmax
tex0
tex1
diffuse
specular
alpha
shininess

lamp:
*flags
pos
col
nrg
dst
fov
sblend
*att1 --in max we have near and far attenuation, and two values, one for the starting point and one for the end
*att2 --in max we have near and far attenuation, and two values, one for the starting point and one for the end

object:
pos
scl
dim
vert
vcol
uv0
uv1
mname
n_ind
ind

========================

NOT SUPPORTED YET
camera:

tar --searching how can I access to the 3dsmax's world matrix

material:

alvl --translucency just exists in the std material in combination with translucent shader
blend --didn't find this blend tex thing on blender

lamp:

dir --searching how can I access to the 3dsmax's world matrix

object:

*rad
vbo_offset
*n_vgroup --vertex groups do not exist in 3dsmax. change this for 3dsmax's selection set?
*vgroup --vertex groups do not exist in 3dsmax. change this for 3dsmax's selection set?

==============

CAN NOT SUPPORT

material:

sound --sound in max? as a material?
sflags --sound in max? as a material?
sbname --sound in max? as a material?
friction --no physics in max
restitution --no physics in max

object:

flags --flags for logic or physics stuff, not in 3dsmax
bounds --logic or physics stuff, not in 3dsmax
mass --physics stuff, no mass in 3dsmax
damp --logic or physics stuff, not in 3dsmax
rotdamp --logic or physics stuff, not in 3dsmax
user properties --user defined properties?
instance --logic stuff? not in 3dsmax

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  sio2interactive on Tue Oct 28, 2008 4:57 pm

1) could you explain a bit more the camera target or light target position what is actually doing? because I've seen that in your blender exporter you multiply (0,0,-1) by world axis matrix or something, and I as far as I know, that does not exist in maxscript so I have to figure out how to archieve the same effect... what I'm doing now is just getting the position of the target, not the direction like yours...

>> This is the target position of the camera/lamp in 3D space

ex:
pos = 0.0, -15.0, 5.0
tar = 0.0, -14.0, 5.0

In this example the lets say camera is looking straight at the Y axis, by multiplying the transformation with a vector (the direction vector) you can get the target position.


For the rest I would say that EVERY properties HAVE to be supported, try to create some custom materials (so you can code your own properties and have access to them from maxscript) for the users or use current available variables to provide an easy way for the users to setup everything. Things that you really cannot fit in, you can always put them in user properties and specify the good syntax to use, and happen then to the file at export time.

Im sure there's a way to make everything fit without penalizing the users.

Tks in advance,

Cheers
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

MAX's physics

Post  ingoStudio on Sun Nov 16, 2008 9:07 pm

material:

sound --sound in max? as a material?
sflags --sound in max? as a material?
sbname --sound in max? as a material?
friction --no physics in max
restitution --no physics in max

object:

flags --flags for logic or physics stuff, not in 3dsmax
bounds --logic or physics stuff, not in 3dsmax
mass --physics stuff, no mass in 3dsmax
damp --logic or physics stuff, not in 3dsmax
rotdamp --logic or physics stuff, not in 3dsmax
user properties --user defined properties?
instance --logic stuff? not in 3dsmax

There are physics in MAX a long time ago. You can access all these properties here ... Utilities > reactor > Properties
If need more help with MAX I can help (maybe not with maxscript but it's a help ;] )
Good Luck

ingoStudio

Posts : 1
Join date : 2008-11-16

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  exavi on Mon Nov 17, 2008 1:20 pm

I know that 3dsmax has physics, but this is far different from blender, in blender you have physics by material, not inside a rigidbody collection and stuff like that.

Actually in 3dsmax standard materials there are values for some physics stuff (under dynamics properties), but as these values are not enough to fill in all the values needed to match the sio2 ones, it will be a total time loss using them.

This is the main reason why I am working on a 3dsmax "SIO2 Material". To be able to put all these values.


PS: the script is more updated, with almost everything done, just the some material stuff is left.

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  exavi on Sat Nov 29, 2008 4:14 pm

Just a quick update on the 3dsmax exporter.

Now I have a custom material named "SIO2 Material" that has every single value needed for SIO2.
I'm working on a custom "SIO2 Properties" modifier that will allow you to put every object property that 3dsmax doesnt have.

I'm so slow because I have no time to work on it, if someone can help me out I would be very happy Smile

@sio2interactive: I've noticed that you reinitialize flags value to zero when exporting materials before tex0 and tex1, but you don't reinitialize it before sound export, is there any reason?



ps: Btw, if someone has tried the scripts above, I was just exporting vertexes, normals and indexes once, now it is working like the blender exporter, exporting repeated vertexes, for example, a cube would have 24v and so on.

exavi

Posts : 37
Join date : 2008-10-21

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  sio2interactive on Sat Nov 29, 2008 5:51 pm

exavi: No reason for the sound flag... my mistake... I should logically be reseted to 0... tks for pointing me that one out Wink

Cheers, dude, continue the good work...

By the way if you want I can provide you the latest "dev exporter", so you can integrate the new stuff that Im working on for the 1.2.2 release... lemme know Wink
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

Exporter

Post  L0lo on Fri Mar 27, 2009 1:37 pm

Hi!
I am a 3dsmax user and I think your exporter could be very usefull for me. As I can see the last posts are a few month old and I would like to know if you plan to go further with the exporter and if it is compatible with the last versions of SIO2 / 3DS max. Please let me know and thank you for this usefull script Wink

L0lo

Posts : 1
Join date : 2009-03-27

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  mrittman on Tue Apr 14, 2009 11:15 pm

Same here...I think this could be very useful for me as well! Let us know if you have worked on this any further!

mrittman

Posts : 9
Join date : 2009-04-10

View user profile

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  sio2interactive on Tue Apr 14, 2009 11:24 pm

I think someone else have to take over the task, I do not have neither windows or 3Dmax... I already ask the community to get me a Maya License but Im still waiting for it... sorry

_________________
SIO2 Interactive
Free Open Source 3D Game Engine for iPhone and iPod Touch
http://sio2interactive.com
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

Re: 3dsmax Exporter v1.2

Post  Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum