Author Topic: 3Ds max options  (Read 3196 times)

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
3Ds max options
« on: December 22, 2010, 08:13:11 pm »
What all can I use in 3Ds max for correct displayed in render scene? (UVW mapping, opacity, specular, diffuse color or bitmap,...). Thanks :)

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 11748
    • View Profile
    • http://www.jpct.net
Re: 3Ds max options
« Reply #1 on: December 22, 2010, 08:56:46 pm »
jPCT loads polygonal meshes, their texture information and -mapping as well as diffuse colors. It's not loading any camera, scene or lighting information.

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #2 on: December 22, 2010, 09:24:39 pm »
And can I load from one 3ds more then one object?

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 11748
    • View Profile
    • http://www.jpct.net
Re: 3Ds max options
« Reply #3 on: December 22, 2010, 09:51:24 pm »
Yes. jPCT will return you an array with the objects in the file.

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #4 on: December 22, 2010, 10:07:01 pm »
Ok, but if I load 3ds file with complete scene (buildings, lamp, trees,...), how I find position of individual objects? And how can I use texture to specific object in scene? Some example would be very useful :)

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #5 on: December 26, 2010, 10:17:07 pm »
If I load objects from one 3ds file and every one add into world, everything have a bad position... How can I translate objects to position, where should be?
And my next issue is, that I can not load 3ds objects from SD...
If I use this, all are ok
Code: [Select]
int numbOfObjects = Loader.load3DS(res.openRawResource(R.raw.map01), 1).length; but this not working
Code: [Select]
InputStream map = new FileInputStream(MAPS_PATH + "map01" + ".3ds");
int numbOfObjects1 = Loader.load3DS(map, 1).length;
and this working, but load only first object
Code: [Select]
levelObj[0] = Loader.load3DS(map, 1)[0];
and here is log
Code: [Select]
12-26 15:52:56.259: INFO/jPCT-AE(1955): Processing object from 3DS-file: =monitor01
12-26 15:52:56.263: INFO/jPCT-AE(1955): Object '=monitor01_jPCT9' created using 12 polygons and 8 vertices.
12-26 15:52:56.263: INFO/jPCT-AE(1955): Loading file from InputStream
12-26 15:52:56.263: INFO/jPCT-AE(1955): [ 1293375176265 ] - ERROR: Couldn't read file from InputStream
12-26 15:52:56.310: WARN/dalvikvm(1955): threadid=8: thread exiting with uncaught exception (group=0x4001d7d0)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955): FATAL EXCEPTION: GLThread 9
12-26 15:52:56.310: ERROR/AndroidRuntime(1955): java.lang.RuntimeException: [ 1293375176265 ] - ERROR: Couldn't read file from InputStream
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at com.threed.jpct.Logger.log(Logger.java:159)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at com.threed.jpct.Loader.loadBinaryFile(Loader.java:1083)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at com.threed.jpct.Loader.loadBinaryFile(Loader.java:1024)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at com.threed.jpct.Loader.load3DS(Loader.java:1409)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at com.threed.jpct.Loader.load3DS(Loader.java:143)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at cz.game.main.Demo$MyRenderer.onSurfaceChanged(Demo.java:701)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1325)
12-26 15:52:56.310: ERROR/AndroidRuntime(1955):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
12-26 15:52:56.310: WARN/ActivityManager(3166):   Force finishing activity com.main/cz.game.main.Demo
« Last Edit: December 26, 2010, 10:18:55 pm by Thomas. »

Offline raft

  • quad
  • ******
  • Posts: 1966
    • View Profile
    • http://www.aptalkarga.com
Re: 3Ds max options
« Reply #6 on: December 26, 2010, 10:19:09 pm »
this may be related to your position problem:
http://www.jpct.net/forum2/index.php/topic,617.0.html

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #7 on: December 26, 2010, 11:26:40 pm »
Many thanks... problem with position is gone :)

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #8 on: December 28, 2010, 04:23:35 pm »
I loaded object from 3ds file and now I need translate other object to same position in worldspace, but method getTranslation and getWorldTranslation every return 0 as position, even method align does not working... any advice?

Offline raft

  • quad
  • ******
  • Posts: 1966
    • View Profile
    • http://www.aptalkarga.com
Re: 3Ds max options
« Reply #9 on: December 28, 2010, 04:37:30 pm »
try Object3D.getTransformedCenter()

getTranslation() does not help in this case, since your object isnt translated in world space. it's just an object with distant-to-origin polygons.


Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #10 on: December 28, 2010, 04:51:30 pm »
I used this and it not working  :(
Code: [Select]
levelObj[i] = Loader.load3DS(res.openRawResource(R.raw.map01), 1)[i];
InputStream part = new FileInputStream(PARTS_PATH + partName + ".3ds");
SimpleVector pos = new SimpleVector(levelObj[i].getTransformedCenter());
levelObj[i] = Loader.load3DS(part, 1)[0];
levelObj[i].translate(pos);

Offline raft

  • quad
  • ******
  • Posts: 1966
    • View Profile
    • http://www.aptalkarga.com
Re: 3Ds max options
« Reply #11 on: December 28, 2010, 04:53:29 pm »
first you should call build(). besides other things, build calculates center of object. also have a look at calcCenter method

Offline Thomas.

  • double
  • *****
  • Posts: 833
    • View Profile
Re: 3Ds max options
« Reply #12 on: December 28, 2010, 04:57:36 pm »
now its ok, thanks :)