KEMBAR78
Sx sw speaker proposal slides | PPTX
VR Creation
without becoming a game developer
Mitch Williams
Samsung / 3d-online
GearVR Software Engineer
Samsung GearVR development goals
• Play nice with other devices
• Wands, Controllers, I/O devices
• Enable GearVR apps to run on Google Daydream
• Performance, New Features
• Fight for every Millisecond in:
• Android OS, Oculus platform, GPU, CPU
• Unity, Unreal, GearVRf (framework)
• Enable content developers
• Web developers, programmers, 3d artists, UI/UX designers
Content Creation for Mobile VR
• 360 movies
• Game Editors: Unity, Unreal
• GearVRf (framework)
• Coded in friendly Java
• WebVR
• WebGL (OpenGL for Web 3d) written in JavaScript; extended to VR
• Frameworks to speed dev’p: A-frame, Three.js, React, X3Dom (X3D)
• X3D
• XML-based 3D file format. Looks like HTML but it’s 3d
• JavaScript for interactivity
• Create in a text editor, or design scenes in 3D Modeling Tools
• 3DS Max*, Blender, BS Content Studio, Cobweb, Maya*, Moto, etc.
• Goal: Empower 3d artists, Web & JavaScript developers to be VR creators.
X3D file – w/o 3d modeling tools
<X3D>
<Scene>
<Transform translation=‘0 0 -10’>
<Shape>
<Appearance>
<Material diffuseColor="1 .5 0"/>
</Appearance>
<Sphere/>
</Shape>
</Transform>
</Scene>
</X3D>
X3D is a primary file format
sent to 3d printers !!!!
Exporting from 3d modeling tools
• Drop the file into Android Studio assets directory
• Mobile VR apps are Android apps, and use the same tools
Same X3D file can be embbeded
with <HTML> & <BODY> tags, and
displayed on the web.
3d lights are quite intuitive!
<DirectionalLight color=‘1 0 0’ direction=‘0 0 -1’/>
<PointLight color=‘0 1 0’ location=‘0 0 0’/>
<SpotLight color=‘0 0 1’ location=‘4 0 -4’ direction=‘0 0 -1’/>
- Directional Light; Point Light; Spot Light
Same lights and properties used in
3d modeling tools, or they can be
inserted right into the X3D file.
Multiple Cameras for Navigation
• Cameras in 3d modeling tools are ‘Viewpoint’ in X3D
• Anchor nodes (like HTML Anchor tag) enable navigation within a 3d scene.
Key Frame Animation
Demonstration Time!
• Export directly from 3d modeling tools:
• Move, Rotate, etc.
Interactivity
• Simple interactivity can be added from within 3d modeling tools.
• Demo turning lights on/off
• More complex interactivity requires your JavaScript programming skills
• No need to learn C# or other high level languages.
Interactivity with JavaScript (page 1)
• User Interface Controls
• Turn lights on/off
• Open / close doors
• Buttons, Slider bars
• Similar to Unity interactivity
• Grab / Drag objects
• Procedural Animation, Collision detection
• Demo: Change an object’s color (demo below and page 2)
<Transform translation='1.5 -1.5 -4'>
<TouchSensor DEF='ButtonTouch' description='touch to chg colors'/>
<Shape>
<Appearance>
<Material DEF="myMaterial" diffuseColor='1 1 1'/>
</Appearance>
<Cylinder/>
</Shape>
</Transform>
(continued next page)
X3D interactivity with Scripting (continued)
<Script DEF='ControlMaterialScript'>
<field accessType='inputOnly' name='buttonOver' type='SFBool'/>
<field accessType='outputOnly' name='dColor' type='SFColor'/>
<![CDATA[
ecmascript:
function buttonOver (value) {
if (value) { dColor = new SFColor (.5, .5, .5); }
else { dColor = new SFColor (1, 1, .5); }
}
]]>
</Script>
<ROUTE fromField='isOver‘ fromNode='ButtonTouch'
toField='buttonOver' toNode='ControlMaterialScript'/>
<ROUTE fromField='dColor' fromNode='ControlMaterialScript‘
toField='diffuseColor' toNode='myMaterial'/>
Developer Notes.
• 3D modeling tools
• 3ds Max, Maya
1. Export VRML97, Convert with “Instant Reality” to X3D
• Blender, Moto
• Export X3D directly
• Android Studio
1. Drop x3d file and texture maps into assets folder
2. See GearVR X3D demo
1. Modify 1 line of code in X3DParserActivity to refer to new file name
3. Build the application
• Build only once.
4. Run it!
GearVR scene is less than 5 minutes!
X3D, GearVR questions
• Gear VR:
• https://github.com/gearvrf/GearVRf-Tests/
• https://github.com/gearvrf/GearVRf-Demos/
• https://resources.samsungdevelopers.com/Gear_VR/020_GearVR_Frame
work_Project/020_Get_Started
• X3D:
• http://www.web3d.org/
• Email:
• M1.Williams@partner.Samsung.com
• Mitch.Williams@3d-online.com

Sx sw speaker proposal slides

  • 1.
    VR Creation without becominga game developer Mitch Williams Samsung / 3d-online GearVR Software Engineer
  • 2.
    Samsung GearVR developmentgoals • Play nice with other devices • Wands, Controllers, I/O devices • Enable GearVR apps to run on Google Daydream • Performance, New Features • Fight for every Millisecond in: • Android OS, Oculus platform, GPU, CPU • Unity, Unreal, GearVRf (framework) • Enable content developers • Web developers, programmers, 3d artists, UI/UX designers
  • 3.
    Content Creation forMobile VR • 360 movies • Game Editors: Unity, Unreal • GearVRf (framework) • Coded in friendly Java • WebVR • WebGL (OpenGL for Web 3d) written in JavaScript; extended to VR • Frameworks to speed dev’p: A-frame, Three.js, React, X3Dom (X3D) • X3D • XML-based 3D file format. Looks like HTML but it’s 3d • JavaScript for interactivity • Create in a text editor, or design scenes in 3D Modeling Tools • 3DS Max*, Blender, BS Content Studio, Cobweb, Maya*, Moto, etc. • Goal: Empower 3d artists, Web & JavaScript developers to be VR creators.
  • 4.
    X3D file –w/o 3d modeling tools <X3D> <Scene> <Transform translation=‘0 0 -10’> <Shape> <Appearance> <Material diffuseColor="1 .5 0"/> </Appearance> <Sphere/> </Shape> </Transform> </Scene> </X3D> X3D is a primary file format sent to 3d printers !!!!
  • 5.
    Exporting from 3dmodeling tools • Drop the file into Android Studio assets directory • Mobile VR apps are Android apps, and use the same tools Same X3D file can be embbeded with <HTML> & <BODY> tags, and displayed on the web.
  • 6.
    3d lights arequite intuitive! <DirectionalLight color=‘1 0 0’ direction=‘0 0 -1’/> <PointLight color=‘0 1 0’ location=‘0 0 0’/> <SpotLight color=‘0 0 1’ location=‘4 0 -4’ direction=‘0 0 -1’/> - Directional Light; Point Light; Spot Light Same lights and properties used in 3d modeling tools, or they can be inserted right into the X3D file.
  • 7.
    Multiple Cameras forNavigation • Cameras in 3d modeling tools are ‘Viewpoint’ in X3D • Anchor nodes (like HTML Anchor tag) enable navigation within a 3d scene.
  • 8.
    Key Frame Animation DemonstrationTime! • Export directly from 3d modeling tools: • Move, Rotate, etc.
  • 9.
    Interactivity • Simple interactivitycan be added from within 3d modeling tools. • Demo turning lights on/off • More complex interactivity requires your JavaScript programming skills • No need to learn C# or other high level languages.
  • 10.
    Interactivity with JavaScript(page 1) • User Interface Controls • Turn lights on/off • Open / close doors • Buttons, Slider bars • Similar to Unity interactivity • Grab / Drag objects • Procedural Animation, Collision detection • Demo: Change an object’s color (demo below and page 2) <Transform translation='1.5 -1.5 -4'> <TouchSensor DEF='ButtonTouch' description='touch to chg colors'/> <Shape> <Appearance> <Material DEF="myMaterial" diffuseColor='1 1 1'/> </Appearance> <Cylinder/> </Shape> </Transform> (continued next page)
  • 11.
    X3D interactivity withScripting (continued) <Script DEF='ControlMaterialScript'> <field accessType='inputOnly' name='buttonOver' type='SFBool'/> <field accessType='outputOnly' name='dColor' type='SFColor'/> <![CDATA[ ecmascript: function buttonOver (value) { if (value) { dColor = new SFColor (.5, .5, .5); } else { dColor = new SFColor (1, 1, .5); } } ]]> </Script> <ROUTE fromField='isOver‘ fromNode='ButtonTouch' toField='buttonOver' toNode='ControlMaterialScript'/> <ROUTE fromField='dColor' fromNode='ControlMaterialScript‘ toField='diffuseColor' toNode='myMaterial'/>
  • 12.
    Developer Notes. • 3Dmodeling tools • 3ds Max, Maya 1. Export VRML97, Convert with “Instant Reality” to X3D • Blender, Moto • Export X3D directly • Android Studio 1. Drop x3d file and texture maps into assets folder 2. See GearVR X3D demo 1. Modify 1 line of code in X3DParserActivity to refer to new file name 3. Build the application • Build only once. 4. Run it! GearVR scene is less than 5 minutes!
  • 13.
    X3D, GearVR questions •Gear VR: • https://github.com/gearvrf/GearVRf-Tests/ • https://github.com/gearvrf/GearVRf-Demos/ • https://resources.samsungdevelopers.com/Gear_VR/020_GearVR_Frame work_Project/020_Get_Started • X3D: • http://www.web3d.org/ • Email: • M1.Williams@partner.Samsung.com • Mitch.Williams@3d-online.com