JavaFX 3D Animation: Bringing Duke to Life



Similar documents
Plug-in Software Developer Kit (SDK)

Surface and Volumetric Data Rendering and Visualization

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Peggy Southerland Coordinator, Animation Department Regent University

Introduction to Computer Graphics

Information Technology Cluster

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

4VATARS PROJECT. Standard avatar specification for content creation in RealXtend

Programming 3D Applications with HTML5 and WebGL

A Virtual Environment for Review and Annotation of Character Animation

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Mocap in Carrara - by CyBoRgTy

LightWave IO.1 What s New

A XML standard for Digital Asset Exchange

Character Creation You can customize a character s look using Mixamo Fuse:

3D Modeling, Animation, Compositing, and Special Effects ITP 215x (2 Units)

Course Syllabus. Tuesday 4 pm to 5 pm & Thursday 4 to 5 pm

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Wednesday, March 30, 2011 GDC Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)

PROGRAM OUTLINE PAGE 1

Our mission. The team at Jazzros has as its main object to provide such services which will be the basis for clients' successful business.

Chapter 6 - The Scene Graph

User Guide Installing the 3D Studio plug-ins

BAA DigiPen 3D Animation 11

A Short Introduction to Computer Graphics

CAP VR WALKTHROUGH ENVIRONMENT: 3DS MAX INTEROPERABILITY BETWEEN PROGRAMS

Your CAD Programme. Virtually all 3D Rapid Prototyping machines and 3D Printers use the STL file format for input.

Autodesk Design Visualization for Architects. Every Design Has a Story.

Computer Game and Animation Past, Present, and Future

Computer Animation and Visualisation. Lecture 1. Introduction

Advanced Diploma of Professional Game Development - Game Art and Animation (10343NAT)

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Immersed 3D Visualization of the University of Chicago Campus. Scott Stocking, GISP Facilities Services Department

CAD and Creativity. Contents

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 33 November 26, 2012

Amazing renderings of 3D data... in minutes.

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

An Interactive method to control Computer Animation in an intuitive way.

Proposal for a Virtual 3D World Map

JavaFX Session Agenda

zspace Studio BETA 3D Model File Import Guide

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

MeshLab and Arc3D: Photo-Reconstruction and Processing of 3D meshes

Mocap in a 3D Pipeline

ANIMATION I :: SYLLABUS

A Pipeline From COLLADA to WebGL for Skeletal Animation

<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools

Questions and Answers

IMGD 1001: The Game Art Pipeline

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Tutorial. Making Augmented Reality Accessible for Everyone. Copyright (c) 2010 Human Interface Technology Laboratory New Zealand

Modelling 3D Avatar for Virtual Try on

GPU Renderfarm with Integrated Asset Management & Production System (AMPS)

Career Opportunities in Electronic Game & Simulation Design

Three Methods for Making of Character Facial Animation based on Game Engine

CG: Computer Graphics

CG Cookie Workshop:! Mastering Mesh Modeling!

Blender 3D Animation

Computer Animation: Art for the Digital Generation. By Jack Tovey

The 3D rendering pipeline (our version for this class)

DIPLOMA IN 3D DESIGN AND DIGITAL ANIMATION COURSE INFO PACK

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Outline. 1.! Development Platforms for Multimedia Programming!

e(fx)clipse - JavaFX Tooling and Runtime

Certificate Courses in Animation

Tutorial: Biped Character in 3D Studio Max 7, Easy Animation

Glass coloured glass may pick up on scan. Top right of screen tabs: these tabs will relocate lost windows.

INTRODUCTION TO RENDERING TECHNIQUES

From Scattered Samples to Smooth Surfaces

SDI Program at the University of Chicago. Scott Stocking, GISP Facilities Services Department

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

SCHOOL OF DESIGN STUDIES

Fundamentals of Computer Animation

INTERACTIVE SERVICES CAPABILITIES PRESENTATION

Computer Animation. CS 445/645 Fall 2001

Students will be notified by the instructor of any changes in course requirements or policies.

3D Animation Graphic Designer

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

New York City College of Technology The City University of New York. Department of Communication Design. COMD D Animation & Modeling II

Web-Based Enterprise Data Visualization a 3D Approach. Oleg Kachirski, Black and Veatch

VISUALIZING DATA AT NORTHWESTERN UNIVERSITY. Matt McCrory Lead Visualization Engineer

Introduction to Computer Graphics. Reading: Angel ch.1 or Hill Ch1.

SCOPE DOCUMENT. Competition Year. Trade Name 2D Character Computer Animation

Computer Aided Design and Drafting (CAD)

RIA Overview for Windows 2000, 2002

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Safe Harbor Statement

Maxwell Render 1.5 complete list of new and enhanced features

INTERACTIVE 3D SIMULATION SYSTEM IN GAME ENGINE BASED COLLABORATIVE VIRTUAL ENVIRONMENT FOR ARCHITECTURAL DESIGN COMMUNICATION

Jordan Shearer. Portfolio. 1Maya Modeling

DIGITAL SCULPTURE TECHNIQUES

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Production time profiling On-Demand with Java Flight Recorder

An evaluation of JavaFX as 2D game creation tool

Transcription:

JavaFX 3D : Bringing Duke to Life John Yoon Interaction, Visual, and 3D Designer Oracle October 1, 2014

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 4

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 5

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 6

Currently Interaction and Visual Designer in the Java Organization Working on Java SE Commercial Enterprise Products 7

Previously An early contributor/user of Maya Software Studied at the UCLA Film School Worked at Disney as a Character TD Chicken Little, Meet the Robinsons, Worked at DreamWorks as a Character TD How to Train Your Dragon, Shrek Forever After 8

JavaFX 3D Backstory 3D Research started at Sun (2008-2010) JavaFX 3D Prototype (2011-2012) JavaOne 2011: Duke 3D Kinect JavaOne 2012: Navis / Canoo 3D Shipping Port JavaFX 3D in JDK 8 (2013 EA, 2014 GA) JavaOne 2013: Duke 3D Chess Animated 9

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 10

What is JavaFX 3D?!! JavaFX 3D is a general-purpose 3D graphics library for JavaFX 11

JavaFX 3D Overview JavaFX 3D leverages the 2D UI capabilities of JavaFX JavaFX 3D shares the same scene graph with JavaFX JavaFX 3D is not a thin wrapper around OpenGL/D3D JavaFX 3D is not a AAA game engine JavaFX 3D is easy to learn and use Check out MoleculeSampleApp.java 12

JavaFX 3D Overview MoleculeSampleApp 13

JavaFX 3D Use Cases Scientific and Engineering Visualization Mission, Inventory, Process Visualization Mechanical CAD and CAE Visualization Architectural Visualization and Walkthrough 3D Charting Casual Games 14

JavaFX 3D Use Cases Scientific: Michael Hoffer and Zoran Sevarac Mission Planning: for NASA, Sean Phillips Mechanical CAD: jfxscad, Michael Hoffer Architectural: historical structures, Jose Pereda 3D Charting: JavaOne 2011 3D keynote demo Casual Games: 3D Chess; Jose s Leap Motion demo 15

JavaFX 3D Overview Duke 3D Chess Animated 16

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 17

JavaFX 3D Production Pipeline Modeling 3D Polygons Subdivision Surfaces Building a Transform for 3D 3D Skinning or Parenting to Transforms 3D using Tangent Interpolators 18

JavaFX 3D Production Pipeline Modeling Building Transform Skinning or Parenting 19

Modeling Modeling Building Transform Skinning or Parenting 3D Modeling Tools! Blender (Free!) Maya 3D Studio Max Lightwave Cheetah 3d Cinema 4d SketchUp Modo 20

Modeling Modeling Building Transform Skinning or Parenting 3D File Formats FBX: Popular Autodesk file format COLLADA (DAE): Open standard XML schema OBJ: Old format for polygon meshes, but still used STL: For Stereolithography and 3D printing 21

Modeling Modeling Building Transform Skinning or Parenting 3D Viewer Viewer for 3D geometry, skinning, animation Free, open-source, a lot of useful functionality Written to help us prepare JavaOne demos Experimental, rather than production code 22

Modeling Modeling Building Transform Skinning or Parenting 3D Viewer Importers Maya: Imports general polygons and triangles OBJ: Only imports triangles, not general polygons 3D Studio Max: Donated but untested DAE: Just a start 23

Modeling Modeling Building Transform Skinning or Parenting Other Importers (not part of 3D Viewer) FBX Importer by Tesis Dynaware source code at https://github.com/tesis-dynaware/fbx-importer 3ds, COLLADA, OBJ, STL Importers by August Lammersdorf http://interactivemesh.org 24

Modeling Modeling Building Transform Skinning or Parenting Triangles vs. General Polygons Ultimately, all geometry gets turned into triangles However, keeping geometry as polygons for as long as possible has advantages for subdivision surfaces In animation, quads are preferred over triangles 25

Modeling Modeling Building Transform Skinning or Parenting! Demo of Triangle vs Quad Cubes in Maya and JavaFX 3D 26

Modeling Modeling Building Transform Skinning or Parenting Catmull-Clark Subdivision Surfaces is a generalization of a recursive bicubic B-spline patch subdivision algorithm. For rectangular control-point meshes, the method generates a standard B-spline surface. Edwin Catmull and Jim Clark, 1978 http://www.cs.berkeley.edu/~sequin/cs284/papers/catmullclark_sdsurf.pdf 27

Modeling Modeling Building Transform Skinning or Parenting! Demo of Triangle vs Quad Cubes in Maya and JavaFX 3D with and without subdivision surfaces 28

Modeling Modeling Building Transform Skinning or Parenting Duke was designed by Joe Palrang!!! https://duke.kenai.com/wave/wave.jpg 29

Modeling Modeling Building Transform Skinning or Parenting Duke was originally modeled in 3D by James Gosling!!! 30

Modeling Modeling Building Transform Skinning or Parenting Duke was remodeled for animation for JavaFX 3D!!! 31

Modeling Modeling Building Transform Skinning or Parenting Demo of Duke and Chess Hats in Maya and JavaFX 3D with and without subdivision surfaces! 32

Modeling Modeling Building Transform Skinning or Parenting Model Resolution and Topology Matter for You don t want the resolution too high. Leave that for subdivision surfaces You don t want the resolution too low. If the resolution is too low, the mesh doesn t deform right when animated. 33

Rigging / Character Setup Modeling Building Transform Skinning or Parenting In order to animate a 3D model, you need a transform hierarchy to which the 3D geometry is attached. The general term for this part of the pipeline is rigging or character setup. Rigging is the process of setting up your static 3D model for CG animation, to make it animatable. 34

Building Transform Modeling Building Transform Skinning or Parenting Demo of Joints and Transforms in Duke! Maya Outliner 35

Building Transform Modeling Building Transform Skinning or Parenting 36

Skinning or Parenting Modeling Building Transform Skinning or Parenting! Skinning 3D to Transforms is different than CSS Skinning 37

Skinning or Parenting Modeling Building Transform Skinning or Parenting! Demo of Simple Skinning Demo of Duke and Duke Bot 38

Modeling Building Transform Skinning or Parenting Demo of Key Poses and Graph Editor! 39

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 40

JavaFX 3D Data Pipeline of Transforms Animated Skinned or Parented to Transforms Subdivision Surfaces 41

JavaFX 3D Data Pipeline of Transforms Animated Skinned or Parented Subdivision Surfaces 42

Comparing the Production and Data Pipelines Production Pipeline Modeling Building Transform Skinning or Parenting Data Pipeline of Transforms Animated Skinned or Parented Subdivision Surfaces 43

JavaFX 3D Data Pipeline of Transforms Animated Skinned or Parented Subdivision Surfaces 44

of Transforms Animated Skinned or Parented Subdivision Surfaces animated = new MayaImporter(); animated.load(composition.class.getresource ( resources/dukeanimated.ma ).toexternalform(), true); animated Duke = animated.getroot(); animatedtimeline = animated.gettimeline(); 45

of Transforms Animated Skinned or Parented Subdivision Surfaces interp = Interpolator.TANGENT(inDuration, intangentvalue, outduration, outtangentvalue); KeyValue keyvalue = new KeyValue(property, kv, interp); KeyFrame keyframe = new KeyFrame(time, keyvalue); Timeline timeline = new Timeline(Keyframe keyframes); 46

of Transforms Animated of Transforms Animated Skinned or Parented Subdivision Surfaces animatedtimeline.play(); When the timeline plays, properties are updated based on the interpolators, and transforms are animated. 47

Skinned (or Parented) of Transforms Animated Skinned or Parented Subdivision Surfaces public SkinningMesh(PolygonMesh mesh, float[][] weights, Affine[] bindtransforms, Affine bindglobaltransform, List<Joint> joints, List<Parent> jointforest); public void update(); 48

Subdivision Surfaces of Transforms Animated Skinned or Parented Subdivision Surfaces public SubdivisionMesh(PolygonMesh mesh, int subdivisionlevel, BoundaryMode boundarymode, MapBorderMode mapbordermode); public void update(); 49

Program Agenda Backstory JavaFX 3D Overview JavaFX 3D Production Pipeline JavaFX 3D Data Pipeline Questions 50

Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 51

52