ANDROID 3D<br />By<br />Ivan Trajkovic<br />and<br />Dotti Colvin<br />
WHY ALL THIS<br /><ul><li>Bridge the gapbetween animators and developers
Have us recognize the importance of mutual initiative
Inspire new partnershipsand ideas</li></ul>INSIPIRE EACH OTHER!<br />
INDEX<br /><ul><li>Android Platform
Open GL
Android 3D Game Engines
3D Workshop</li></li></ul><li>ANDROID HISTORY<br /><ul><li>What is Android ?
Brief History
Android Inc. founded in 2003 in Palo Alto, CA, USA
Andy Rubin (co-founder of Danger)
 Rich Miner (co-founder of Wildfire Communications, Inc.)
Nick Sears (once VP at T-Mobile)
 Chris White (headed design and interface development at WebTV)</li></li></ul><li>ANDROID HISTORY<br /><ul><li>Google acqu...
Open Handset Alliance on November 5, 2007
The Goal is to develop open standards for mobile devices.
Android was BORN	</li></li></ul><li>ANDROID ARHITECTURE<br />
OPEN GL<br /><ul><li>What is Open GL?
Brief History
developed by Silicon Graphics Inc. (SGI) in 1992
managed by the non-profit technology consortium Khronos Group</li></li></ul><li>OPEN GL ES<br /><ul><li>OpenGL ES is a sub...
Brief History
Open GL ES 1.0 is drawn up against the OpenGL 1.3 specification
Open GL ES 1.1 is defined relative to the OpenGL 1.5 specification
Open GL ES 2.0 is defined relative to the OpenGL 2.0 specification</li></li></ul><li>OPEN GL ES<br /><ul><li>OpenGL 1.0 – ...
Large and impractical for embedded devices
Customers are porting apps from these versions to OMAP
OpenGL ES 1.1
Embedded version for fixed-function shading hardware
Subset of desktop OpenGL
Standard created by the Khronos Group Industry consortium in 2003
Rapidly became the dominant standard for embedded 3D
Also popular for scalable 2D applications
OpenGL ES 2.0
Replaces 2 major sections of the 3D pipeline with shader programs
Vertex Shader – Distort, morph and/or animate vertex positions
Fragment Shader – Calculate pixel colors for shadows and/or reflections
Smaller, more memory efficient OpenGL library and less texture maps
Shaders are programmed with new GLSL ES Language
Programmable cores already dominate 3D graphics on the desktop
Will become dominate in embedded devices as well</li></li></ul><li>OPEN GL ES<br />
ANDROID 3D GAME ENGINES<br /><ul><li>jMonkey
jPCT-AE port of jPCT to Android
Unity3D</li></li></ul><li>JMONKEY HISTORY<br /><ul><li>jMonkeyEngine 0.1 - 2.0
2003 Initial work Mark Powell (aka MojoMonkey)
2004 January, Mark was joined by Joshua Slack
2008 August 15, Joshua Slack announces to step back from active development of the jMonkeyEngine.
jMonkeyEngine 3.0
2009, June 24 The project sees a new beginning
2010, May 17 The first Alpha of jME3 is released
2011, February 14 Android Support Confirmed for jME3</li></li></ul><li>JMONKEY GAMES<br /><ul><li>Nord, a browser-based MM...
http://www.nordgame.com/
Grappling Hook, a first-person action & puzzle
http://ghook.speedrungames.com/
Open Wonderland, a toolkit for creating collaborative 3D virtual worlds
Upcoming SlideShare
Loading in …5
×

Android 3D by Ivan Trajkovic and Dotti Colvin

2,434 views

Published on

Published in: Technology, Art & Photos
  • Be the first to like this

Android 3D by Ivan Trajkovic and Dotti Colvin

  1. 1. ANDROID 3D<br />By<br />Ivan Trajkovic<br />and<br />Dotti Colvin<br />
  2. 2. WHY ALL THIS<br /><ul><li>Bridge the gapbetween animators and developers
  3. 3. Have us recognize the importance of mutual initiative
  4. 4. Inspire new partnershipsand ideas</li></ul>INSIPIRE EACH OTHER!<br />
  5. 5. INDEX<br /><ul><li>Android Platform
  6. 6. Open GL
  7. 7. Android 3D Game Engines
  8. 8. 3D Workshop</li></li></ul><li>ANDROID HISTORY<br /><ul><li>What is Android ?
  9. 9. Brief History
  10. 10. Android Inc. founded in 2003 in Palo Alto, CA, USA
  11. 11. Andy Rubin (co-founder of Danger)
  12. 12. Rich Miner (co-founder of Wildfire Communications, Inc.)
  13. 13. Nick Sears (once VP at T-Mobile)
  14. 14. Chris White (headed design and interface development at WebTV)</li></li></ul><li>ANDROID HISTORY<br /><ul><li>Google acquired Android Inc. in August 2005
  15. 15. Open Handset Alliance on November 5, 2007
  16. 16. The Goal is to develop open standards for mobile devices.
  17. 17. Android was BORN </li></li></ul><li>ANDROID ARHITECTURE<br />
  18. 18. OPEN GL<br /><ul><li>What is Open GL?
  19. 19. Brief History
  20. 20. developed by Silicon Graphics Inc. (SGI) in 1992
  21. 21. managed by the non-profit technology consortium Khronos Group</li></li></ul><li>OPEN GL ES<br /><ul><li>OpenGL ES is a subset of the OpenGL
  22. 22. Brief History
  23. 23. Open GL ES 1.0 is drawn up against the OpenGL 1.3 specification
  24. 24. Open GL ES 1.1 is defined relative to the OpenGL 1.5 specification
  25. 25. Open GL ES 2.0 is defined relative to the OpenGL 2.0 specification</li></li></ul><li>OPEN GL ES<br /><ul><li>OpenGL 1.0 – 2.0 (Desktop)
  26. 26. Large and impractical for embedded devices
  27. 27. Customers are porting apps from these versions to OMAP
  28. 28. OpenGL ES 1.1
  29. 29. Embedded version for fixed-function shading hardware
  30. 30. Subset of desktop OpenGL
  31. 31. Standard created by the Khronos Group Industry consortium in 2003
  32. 32. Rapidly became the dominant standard for embedded 3D
  33. 33. Also popular for scalable 2D applications
  34. 34. OpenGL ES 2.0
  35. 35. Replaces 2 major sections of the 3D pipeline with shader programs
  36. 36. Vertex Shader – Distort, morph and/or animate vertex positions
  37. 37. Fragment Shader – Calculate pixel colors for shadows and/or reflections
  38. 38. Smaller, more memory efficient OpenGL library and less texture maps
  39. 39. Shaders are programmed with new GLSL ES Language
  40. 40. Programmable cores already dominate 3D graphics on the desktop
  41. 41. Will become dominate in embedded devices as well</li></li></ul><li>OPEN GL ES<br />
  42. 42. ANDROID 3D GAME ENGINES<br /><ul><li>jMonkey
  43. 43. jPCT-AE port of jPCT to Android
  44. 44. Unity3D</li></li></ul><li>JMONKEY HISTORY<br /><ul><li>jMonkeyEngine 0.1 - 2.0
  45. 45. 2003 Initial work Mark Powell (aka MojoMonkey)
  46. 46. 2004 January, Mark was joined by Joshua Slack
  47. 47. 2008 August 15, Joshua Slack announces to step back from active development of the jMonkeyEngine.
  48. 48. jMonkeyEngine 3.0
  49. 49. 2009, June 24 The project sees a new beginning
  50. 50. 2010, May 17 The first Alpha of jME3 is released
  51. 51. 2011, February 14 Android Support Confirmed for jME3</li></li></ul><li>JMONKEY GAMES<br /><ul><li>Nord, a browser-based MMO on Facebook
  52. 52. http://www.nordgame.com/
  53. 53. Grappling Hook, a first-person action & puzzle
  54. 54. http://ghook.speedrungames.com/
  55. 55. Open Wonderland, a toolkit for creating collaborative 3D virtual worlds
  56. 56. http://en.wikipedia.org/wiki/Open_Wonderland</li></li></ul><li>PREPARING THE ENVIRONMENT<br />Download and install Java JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html<br />Download Eclipsehttp://www.eclipse.org/downloads/<br />Download Subclipse (SVN client for Eclipse)<br />Eclipse  Help  Install new softwarehttp://subclipse.tigris.org/update_1.6.x<br />Download jMonkeySDK via Eclipse<br />Eclipse  New project Svnhttp://jmonkeyengine.googlecode.com/svn/trunk/<br />Download Apache-Ant and install ithttp://ant.apache.org/bindownload.cgi<br />Installation instructions: http://ant.apache.org/manual/index.html<br />Download and install Android SDKhttp://developer.android.com/sdk/index.html<br />Download and install jMonkey development environmenthttp://jmonkeyengine.org/downloads/<br />Run “ant” in the folder where jME is located<br />
  57. 57. JMONKEY ENGINE<br />
  58. 58. JMONKEY ENGINE – 3D WORKFLOW<br />
  59. 59. JMONKEY ENGINE – 3D WORKFLOW<br />
  60. 60. JMONKEY ENGINE – 3D WORKFLOW<br />Low Poly Quad model - 686 quads / 1372 tris<br />
  61. 61. JMONKEY ENGINE – 3D WORKFLOW<br />16 times as many quads by smoothing by 2 subdivisions.<br />How? <br /> x1 <br />x2<br />Smoothed Quad model - 10,976 quads<br />
  62. 62. JMONKEY ENGINE – 3D WORKFLOW<br />Triangulated Model - 1372 tris (twice quads)<br />
  63. 63. JMONKEY ENGINE – 3D WORKFLOW<br />Low Poly Quad model - 686 quads / 1372 tris<br />
  64. 64. JMONKEY ENGINE – 3D WORKFLOW<br />http://jmonkeyengine.org/downloads/<br />
  65. 65. JMONKEY ENGINE – 3D WORKFLOW<br /><ul><li>After installing JME it didn’t work. Gah!
  66. 66. It complained of not having NetBeans ??
  67. 67. Be patient Dotti ... with smile everything is possible :)You will probably need to download java SDK from address: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html After that you need to add JAVA_HOME environment variable for your system.Here some links for this step:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windowshttp://ist.berkeley.edu/as-ag/technology/howto/install-java-sdk-win.html</li></li></ul><li>JMONKEY ENGINE – 3D WORKFLOW<br />After installing JME it didn’t work. Gah! <br />It complained of not having NetBeans ??<br />Be patient Dotti ... with smile everything is possible :)You will probably need to download java SDK from address: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html <br />
  68. 68. JMONKEY ENGINE – 3D WORKFLOW<br />This is where the fun starts…<br />
  69. 69. JMONKEY ENGINE – 3D WORKFLOW<br />After that you need to add JAVA_HOME environment variable for your system.Here some links for this step:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windowshttp://ist.berkeley.edu/as-ag/technology/howto/install-java-sdk-win.html<br />
  70. 70. JMONKEY ENGINE – 3D WORKFLOW<br />Watch out for spaces in the path!<br />
  71. 71. JMONKEY ENGINE – 3D WORKFLOW<br />But alas, JME is still unhappy – <br /> - possible other system preferences on my machine<br /> - I decide to move on…<br />I check the tutorials on the JME site to see how I need to export my Maya files to get them into JME.<br />http://jmonkeyengine.org/wiki/doku.php/jme3#tutorials_for_beginners<br />
  72. 72. JMONKEY ENGINE – 3D WORKFLOW<br />
  73. 73. JMONKEY ENGINE – 3D WORKFLOW<br />jME likes files in XML format for animated scenes so for this I need the OGRE XML Exporter Plugin<br />Then convert the XML files to j3o format in jME for use in jME… more installation fun…<br />
  74. 74. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />www.orgemax.com<br />
  75. 75. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />
  76. 76. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />
  77. 77. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />ERROR!!!<br />
  78. 78. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />ERROR!!!<br />
  79. 79. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />Copy the MLL plug-in file and paste it into the plug-in folder in your Maya directory <br />
  80. 80. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />Program Files / Autodesk / Maya#### /bin /plug-ins<br />
  81. 81. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />Restart Maya….<br />Pray a little…<br />
  82. 82. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />Yey!<br />
  83. 83. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />
  84. 84. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />The settings?...<br />http://jmonkeyengine.org/wiki/doku.php/jme3:beginner:hello_asset<br />
  85. 85. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />
  86. 86. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />
  87. 87. JMONKEY ENGINE – 3D WORKFLOW<br />Getting the required OGRE plugin for Maya<br />Errors on import to jME – this is why it needs to be optimized and converted to j3o format for use in JME or it produces runtime errors…<br />… over to the Devs!! <br />
  88. 88. BACK TO DEVS…<br />Material image size<br />Ogre export file names<br />Different way to import the bear<br />Mesh (test)<br />J3o (production)<br />
  89. 89. JPCT-AE<br />http://www.jpct.net/jpct-ae/<br />Free<br />Small<br />Fast<br />Easy to learn<br />
  90. 90. 3D WORKFLOW - JPCT-AE<br />jPCT likes OBJ and MTL files <br />OBJ are model files so to import an animation into jPCT we need to export an OBJ /MTL sequence from Maya. <br />
  91. 91. 3D WORKFLOW - JPCT-AE<br />http://www.creativecrash.com/maya/downloads/scripts-plugins/utility-external/export/c/obj-sequence-exporter<br />
  92. 92. 3D WORKFLOW - JPCT-AE<br />Copy the script file into Documents / Maya / 2010 /scripts<br />
  93. 93. 3D WORKFLOW - JPCT-AE<br />Load the script in the script editor in Maya <br />
  94. 94. 3D WORKFLOW - JPCT-AE<br />Load the script in the script editor in Maya <br />
  95. 95. 3D WORKFLOW - JPCT-AE<br />Execute using enter on numerical keypad / choose path / hit Export it! <br />
  96. 96. 3D WORKFLOW - JPCT-AE<br />This is what you get. Sequence of OBJ and MTL files. <br />
  97. 97. BACK TO DEVS…<br />InputStream objBear = am.open("bear.obj");<br />InputStream mtlBear = am.open("bear.mtl");<br />Object3D[] objs = Loader.loadOBJ(objBear, mtlBear, 4f);<br />
  98. 98. THANK YOU<br />www.dotspot.co.uk<br />www.enginee.rs<br />

×