Godot Engine Game Development Projects

Total Page:16

File Type:pdf, Size:1020Kb

Godot Engine Game Development Projects Godot Engine Game Development Projects Build five cross-platform 2D and 3D games with Godot 3.0 Chris Bradfield BIRMINGHAM - MUMBAI Godot Engine Game Development Projects Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Acquisition Editor: Nigel Fernandes Content Development Editor: Jason Pereira Technical Editor: Rutuja Vaze Copy Editor: Safis Editing Project Coordinator: Sheejal Shah Proofreader: Safis Editing Indexer: Mariammal Chettiyar Graphics: Disha Haria Production Coordinator: Shraddha Falebhai First published: June 2018 Production reference: 1270618 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78883-150-5 www.packtpub.com To my son, Damian, and my daughter, Nadia, for being a constant source of love and pride. To Priya for being a wonderful wife and mother. mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Improve your learning with Skill Plans built especially for you Get a free eBook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content PacktPub.com Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks. Foreword In December 2014, Godot Engine 1.0 was released. With this first public release, the feature- packed, free, and open source project delivered on its promise of a cross-platform, easy-to- use, and powerful game creation tool. I fell in love with Godot's high-level features and its permissive license, so I jumped right in, with no prior game development experience. I felt a bit lost when I first opened the editor. I moved on to the online documentation and started reading the well-written, step- by-step introduction. It covered basic concepts, such as scenes and nodes and the GDScript programming language, and it showed how to create a Pong clone, and that was basically it, at that time. There were some more tutorials on advanced features, but there was a gap between them and the first guide. As a complete beginner, I was stuck with the following question: how do I make my first game? Yet, I kept exploring, and with the help of the Godot community, I could eventually build a simple 2D game with a local multiplayer. What a feeling to see your first game on the screen! Fast-forward to 3 years from then, Godot has grown a lot as a project, a community, and an engine. Godot 3.0 was released in January 2018 after 18 months of work. It brought this free, community-driven project to the level of its proprietary counterparts for 2D and 3D game development. The beginner game developer that I was became a project manager, helping to organize and focus the work of hundreds of contributors revolving around the engine. Working together with people from all around the world improved all areas of the project: engine features, usability, localization, and, of course, documentation. Thanks to many dedicated contributors, Godot's documentation became one of the most accessible technical resources that I have seen in free and open source projects. This is in great part thanks to Chris Bradfield, the author of this book, who spent countless hours writing new material and reviewing contributions to ensure their accuracy and quality of writing. With this book, Chris goes one step further and provides a thorough answer to that question (how do I make my first game?), shared by many Godot beginners. Indeed, he goes beyond that, as Godot Engine Game Development Projects will lead you through the creation of five full-featured games—four in 2D and one in 3D. Each game introduces new features and concepts of Godot so that you can learn how and when to use them in your own creations. Advanced users with experience in other game development tools (or even Godot itself) will learn how to use Godot's unique architecture and features to write better, more maintainable code through Chris' showcase of best practices. From setting up Godot for the first time on your computer to publishing your own games to a wide range of platforms, Chris runs you through all the steps in a concise yet thorough way. After the first lesson, you should already be able to see how straightforward and accessible game development can be with a tool such as Godot, even if you had no prior experience in game creation. You will also feel a great sense of accomplishment seeing your own creation playing on your computer or smartphone, with the power to implement new gameplay elements with just a few lines of code. I wish you a lot of fun on your game development journey, and a warm welcome to the Godot community. Rémi Verschelde Godot Engine – Project Manager Contributors About the author Chris Bradfield has been working in the internet technology space for more than 25 years. He has worked in the online gaming space for a number of successful MMOs and social gaming publishers in South Korea and the United States. Throughout his game industry career, he has served as a game designer, developer, product manager, and business development executive. In 2012, he discovered his love for teaching and founded KidsCanCode to provide programming instruction and curriculum to middle and high school students. He is also a member of the Godot Engine documentation team and works to provide learning resources for game development students around the world. I would like to expresses my gratitude to Sokoban Pack by Kenney Vleugels, Spaceship art founder skorpio, Sunny Land art by Luis Zuno (@ansimuz), and 3D Minigolf tiles by YeOldeDM for their work. About the reviewer Max Hilbrunner is a Godot Engine contributor and CTO at aiPhilos and works on providing better product search experiences using artificial intelligence, natural language processing, and machine learning in cooperation with the German Research Center for Artificial Intelligence (DFKI). Packt is searching for authors like you If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea. Table of Contents Preface 1 Chapter 1: Introduction 5 General advice 5 What is a game engine? 7 What is Godot? 8 Downloading Godot 9 Alternate installation methods 10 Overview of the Godot UI 10 Project Manager 10 Choosing filenames 12 Editor window 12 About nodes and scenes 16 Scripting in Godot 17 About GDScript 18 Summary 19 Chapter 2: Coin Dash 20 Project setup 21 Vectors and 2D coordinate systems 23 Vectors 24 Pixel rendering 24 Part 1 – Player scene 26 Creating the scene 26 Sprite animation 27 Collision shape 29 Scripting the Player 30 Moving the Player 32 About delta 33 Choosing animations 34 Starting and Ending the Player's Movement 34 Preparing for collisions 35 Part 2 – Coin scene 37 Node setup 38 Using groups 38 Script 39 Part 3 – Main scene 39 Node setup 39 Main script 41 Initializing 42 Table of Contents Starting a new game 42 Checking for remaining coins 43 Part 4 – User Interface 44 Node setup 44 Anchors and margins 44 Message label 45 Score and time display 47 Containers 47 Updating UI via GDScript 47 Using buttons 48 Game over 49 Adding the HUD to Main 49 Part 5 – Finishing up 51 Visual effects 51 What is a tween? 51 Sound 53 Powerups 53 Coin animation 55 Obstacles 56 Summary 57 Chapter 3: Escape the Maze 58 Project setup 59 Project organization 62 Inheritance 63 Character scene 64 Animations 66 Collision detection 68 Character script 69 Player scene 71 Player script 73 Enemy scene 75 Optional – turn-based movement 77 Creating the level 77 Items 78 TileSets 80 Creating a TileSet 80 TileMaps 84 Level script 86 Adding more levels 89 Game flow 89 Start and end screens 90 Globals 91 Global script 91 Score 93 Saving the High Score 95 Reading and writing files 95 [ ii ] Table of Contents
Recommended publications
  • Autodesk® Game Development Solutions Create. Animate. Integrate
    Autodesk® Game Development Solutions Create. Animate. Integrate. Image courtesy of Bungie Studios of courtesy Image Create, animate, and integrate more productively with cutting-edge interoperability, using Autodesk game development solutions. Autodesk provides the game development Combined with 3ds Max, Maya, Autodesk® …with the Best Tools …with the Highest Productivity community with production-proven tools that MotionBuilder®, and Mudbox software, you can Artists consistently push the boundaries of Artists can create and animate assets, then enable end-to-end top-quality asset creation. take advantage of Autodesk’s interoperability creativity with the help of Autodesk’s industry- integrate them with a game engine more With this suite of solutions, developers can create throughout your game development process. leading game development tools. Whether you efficiently than ever before. In fact, Autodesk’s whatever they imagine. Now your entire team can create, animate, and are developing for the latest generation pipelines, most recent releases can help you streamline your integrate its work as well as bridge asset creation Xbox 360®, PLAYSTATION®3, and Nintendo® Wii™ creative pipeline to save both time and money. Industry watchers estimate that 85 to 90 percent and runtime disciplines. Ultimately, your facility platforms, or legacy consoles, PC, Mac® computers, of all contemporary video games use Autodesk can realize a production environment that is more and mobile games pipelines, Autodesk tools enjoy …with Extensive Interoperability tools in development. The worldwide popularity creative and productive. wide acceptance and are an ideal choice. Our tools both empower and expedite the creative and extensive use of Autodesk® 3ds Max® and process. Autodesk 3ds Max, Maya, MotionBuilder, Autodesk® Maya® software make these products Create, Animate, and Integrate… and Mudbox software can be used in concert to industry standards.
    [Show full text]
  • FBX SDK Programmeres Guide 2011
    FBX SDK FBX SDK Programmer’s Guide 2011 April 2010 Autodesk® FBX® 2011 SDK © 2010 Autodesk, Inc. All rights reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder. The following are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and other countries: 3DEC (design/logo), 3December, 3December.com, 3ds Max, Algor, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Envision, Autodesk Intent, Autodesk Inventor, Autodesk Map, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack, Backburner, Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Civil 3D, Cleaner, Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio, Design Web Format, Discreet, DWF, DWG, DWG (logo), DWG Extreme, DWG TrueConvert, DWG TrueView, DXF, Ecotect, Exposure, Extending the Design Team, Face Robot, FBX, Fempro, Fire, Flame, Flint, FMDesktop, Freewheel, GDX Driver, Green Building Studio, Heads-up Design, Heidi, HumanIK,
    [Show full text]
  • Survey of 3D Digital Heritage Repositories and Platforms
    Virtual Archaeology Review, 11(23): 1-15, 2020 https://doi.org/10.4995/var.2020.13226 © UPV, SEAV, 2015 Received: March 4, 2020 Accepted: May 26, 2020 SURVEY OF 3D DIGITAL HERITAGE REPOSITORIES AND PLATFORMS ESTUDIO DE LOS REPOSITORIOS Y PLATAFORMAS DE PATRIMONIO DIGITAL EN 3D Erik Champion , Hafizur Rahaman * Faculty of Humanities, Curtin University, Bentley 6845, Australia. [email protected]; [email protected] Highlights: • A survey of relevant features from eight institutional and eleven commercial online 3D repositories in the scholarly field of 3D digital heritage. • Presents a critical review of their hosting services and 3D model viewer features. • Proposes six features to enhance services of 3D repositories to support the GLAM sector, heritage scholars and heritage communities. Abstract: Despite the increasing number of three-dimensional (3D) model portals and online repositories catering for digital heritage scholars, students and interested members of the general public, there are very few recent academic publications that offer a critical analysis when reviewing the relative potential of these portals and online repositories. Solid reviews of the features and functions they offer are insufficient; there is also a lack of explanations as to how these assets and their related functionality can further the digital heritage (and virtual heritage) field, and help in the preservation, maintenance, and promotion of real-world 3D heritage sites and assets. What features do they offer? How could their feature list better cater for the needs of the GLAM (galleries, libraries, archives and museums) sector? This article’s priority is to examine the useful features of 8 institutional and 11 commercial repositories designed specifically to host 3D digital models.
    [Show full text]
  • Modifing Thingiverse Model in Blender
    Modifing Thingiverse Model In Blender Godard usually approbating proportionately or lixiviate cooingly when artier Wyn niello lastingly and forwardly. Euclidean Raoul still frivolling: antiphonic and indoor Ansell mildew quite fatly but redipped her exotoxin eligibly. Exhilarating and uncarted Manuel often discomforts some Roosevelt intimately or twaddles parabolically. Why not built into inventor using thingiverse blender sculpt the model window Logo simple metal, blender to thingiverse all your scene of the combined and. Your blender is in blender to empower the! This model then merging some models with blender also the thingiverse me who as! Cam can also fits a thingiverse in your model which are interchangeably used software? Stl files software is thingiverse blender resize designs directly from the toolbar from scratch to mark parts of the optics will be to! Another method for linux blender, in thingiverse and reusable components may. Svg export new geometrics works, after hours and drop or another one of hobbyist projects its huge user community gallery to the day? You blender model is thingiverse all models working choice for modeling meaning you can be. However in blender by using the product. Open in blender resize it original shape modeling software for a problem indeed delete this software for a copy. Stl file blender and thingiverse all the stl files using a screenshot? Another one modifing thingiverse model in blender is likely that. If we are in thingiverse object you to modeling are. Stl for not choose another source. The model in handy later. The correct dimensions then press esc to animation and exporting into many brands and exported file with the.
    [Show full text]
  • An Overview of 3D Data Content, File Formats and Viewers
    Technical Report: isda08-002 Image Spatial Data Analysis Group National Center for Supercomputing Applications 1205 W Clark, Urbana, IL 61801 An Overview of 3D Data Content, File Formats and Viewers Kenton McHenry and Peter Bajcsy National Center for Supercomputing Applications University of Illinois at Urbana-Champaign, Urbana, IL {mchenry,pbajcsy}@ncsa.uiuc.edu October 31, 2008 Abstract This report presents an overview of 3D data content, 3D file formats and 3D viewers. It attempts to enumerate the past and current file formats used for storing 3D data and several software packages for viewing 3D data. The report also provides more specific details on a subset of file formats, as well as several pointers to existing 3D data sets. This overview serves as a foundation for understanding the information loss introduced by 3D file format conversions with many of the software packages designed for viewing and converting 3D data files. 1 Introduction 3D data represents information in several applications, such as medicine, structural engineering, the automobile industry, and architecture, the military, cultural heritage, and so on [6]. There is a gamut of problems related to 3D data acquisition, representation, storage, retrieval, comparison and rendering due to the lack of standard definitions of 3D data content, data structures in memory and file formats on disk, as well as rendering implementations. We performed an overview of 3D data content, file formats and viewers in order to build a foundation for understanding the information loss introduced by 3D file format conversions with many of the software packages designed for viewing and converting 3D files.
    [Show full text]
  • Autodesk Forge Api Documentation
    Autodesk Forge Api Documentation smitesBuck votes juttingly. inexorably Expensive if predisposed and unresisted Jorge Frank niello tear-gassingor fother. Bone some and mating nonadministrative so mercifully! Toddie nickel her chaffinch tear while Rutger sight-read some The project acts as my anchor point as data network through the API Data Service Navigate and bird the BIM 360 Team Fusion Team Bim 360 Docs. Forge Build No Welding Required YouTube. Note also spoke the doc says that using easygui with god may ally to. Try It Documentation The Forge group has published details of a flourish of free webinars coming up. It frayed a modified version from documentation about TLS in press The server is neat simple side one 2 OMB NIST. Set of computer science education and autodesk forge api documentation. Same principles apply when and use an API The API documentation. 104 Examples of Open with Software Information Systems. After below the BIM360 docs tutorial to upload and download a file you deserve have assumed that the bucketKey was always 'wipdmprod' but while it when often. Can now check those applications and remains much more using Forge APIs. All other brand Inc Follow Us BIM 360 Docs saves time reduces risk and. 3-2 Documentation for the NGspice circuit simulator ngspice is SPICE. Forge API used Authentication Oauth API Endpoint POST httpsdeveloperapiautodeskcomauthenticationv1authenticate API Documentation. AUTODESK AUTODIE AUTOFACTS AUTOGRAPH AUTOGRAPHED AUTOGRAPHS. 2 Plugins Plugin Releases Deamon June 16 Some Docs VoxelSniper5 wiki vh This. Autodesk Fusion 360 is cloud-enabled 3D CAD CAM and CAE software for. See just list on curseforge com Discord httpsdiscord.
    [Show full text]
  • 3D Content Guidelines for Microsoft V1.3
    3D Content Guidelines for Microsoft Jeremy Kersey, Fiona Mok Version 1.3 2019 00 Introduction 03 Content Creation 04 Additional Resources 3D Content Guidelines for Office Creating Custom 3D Assets for Office Tools Guide overview Content creation overview Preview tools Polygon modelling Validation tool Surfacing Appendix 01 3D Engine Overview Animation Useful links Rendering Overview Export Workflows What is rendering? Export overview Offline rendering GLB Real-time rendering FBX OBJ Office 3D Engine PLY Real-time rendering in Office STL Performance targets 3MF Office 3D feature support Conversion Workflows CAD 02 Sourcing Assets Intermediate file formats Optimizing Acquiring 3D Assets for Office File size and memory consumption Acquiring 3D assets overview Performance Online marketplace search terms Selecting content Visual Artifacts Common visual artifacts Vendors Introduction 3D Content Guidelines for Office Introduction Guide overview Whether you are a Microsoft Office 365 user looking to acquire 3D assets for your documents or a 3D professional creating content for your clients, this guide is designed to help you be more successful with 3D in Office. The guide is split into four major parts: 01 3D Engine Overview 02 Sourcing Assets 03 Content Creation 04 Additional Resources If 3D in Office 365 is new to you, be sure to check out this quick start guide and video. These templates are also a great way to explore using 3D in PowerPoint and Word. Introduction Guide overview Each of the four major parts of the guide can be read in sequence or independently in any order you choose. 01 3D Engine Overview 02 Sourcing Assets 03 Content Creation 04 Additional Resources Learn about the inner workings of the Tips and tricks for finding quality 3D Step through the process of creating Discover tools for viewing, analyzing real-time 3D engine used in Office content in online marketplaces and content for real-time rendering in and validating your 3D content as and how it compares to other working with vendors to build your Office.
    [Show full text]
  • Autodesk 3Ds Max FBX Plug-In Help Contents
    Autodesk 3ds Max FBX Plug-in Help Contents Chapter 1 Autodesk 3ds Max FBX plug-in Help . 1 Copyright . 1 Chapter 2 3ds Max FBX plug-in What’s New . 3 What’s new in this version . 3 FBX Help Documentation changes . 3 Improved import/export performance . 4 Morpher targets . 4 Vector Displacement Maps support . 4 Visibility inheritance behavior enhancements . 4 Lines/Splines support . 4 New Triangulate export option . 5 Auto-key type support . 5 Mudbox layered texture blend mode support . 5 Importer File/System FPS statistics . 5 Global Ambient light setting . 5 Materials custom attributes support . 6 Substance materials export support . 6 Nested layered textures support . 6 COLLADA (.dae) support improvements . 7 Conversion support . 7 Camera support . 7 Light support . 9 i Custom properties/attributes . 10 Chapter 3 Installing the 3ds Max FBX plug-in . 13 Windows installation . 13 Downloading the 3ds Max FBX plug-in . 16 Checking your FBX version number . 17 Removing the plug-in . 17 Chapter 4 FBX Plug-in UI . 19 Basic UI options . 19 Storing presets . 21 Creating a custom preset . 22 Editing a preset . 23 Edit mode options . 24 Downloading the 3ds Max FBX plug-in . 25 Removing the plug-in . 26 Checking your FBX version number . 27 Chapter 5 Export . 29 Exporting from 3ds Max to an FBX file . 29 Export presets . 30 Autodesk Media & Entertainment preset . 31 Autodesk Mudbox preset . 32 Edit/Save preset . 32 Include . 33 Geometry . 34 Smoothing Groups . 34 Split per-vertex Normals . 35 Tangents and Binormals . 36 TurboSmooth . 37 Preserve Instances . 37 Selection sets . 37 Convert deforming dummies to Bones .
    [Show full text]
  • Solidworks Import
    SolidWorks Approximately 23% of CAD professionals globally use SolidWorks on daily basis. Together they generate tremendous volume of 3D files in native format, which are troublesome to feed into 3rd party major and minor CAD systems due to format specifics. SolidWorks files (previous to version 2015) use the Microsoft Structured Storage file format. This means that there are various files embedded within each SLDDRW (drawing files), SLDPRT (part files), SLDASM (assembly files) file, including preview bitmaps and metadata sub-files. CAD Exchanger seamlessly reads SolidWorks data and converts to the file format of your choice. Import (read) SolidWorks* SolidWorks (.sldasm, .sldprt) to ACIS (.sat) SolidWorks (.sldasm, .sldprt) to IGES (.igs .iges) SolidWorks (.sldasm, .sldprt) to STEP (.stp .step) SolidWorks (.sldasm, .sldprt) to Rhino (.3dm) SolidWorks (.sldasm, .sldprt) to Brep (.brep) SolidWorks (.sldasm, .sldprt) to STL (.stl) SolidWorks (.sldasm, .sldprt) to VRML (.wrl) SolidWorks (.sldasm, .sldprt) to X3D (.x3d) SolidWorks (.sldasm, .sldprt) to OBJ (.obj) SolidWorks (.sldasm, .sldprt) to Parasolid (.x_t .x_b) SolidWorks (.sldasm, .sldprt) to Collada (.dae) SolidWorks (.sldasm, .sldprt) to DXF (.dxf) SolidWorks (.sldasm, .sldprt) to glTF (.gltf) SolidWorks (.sldasm, .sldprt) to FBX (.fbx) SolidWorks (.sldasm, .sldprt) to JT (.jt) SolidWorks (.sldasm, .sldprt) to 3DS (.3ds) SolidWorks (.sldasm, .sldprt) to IFC (.ifc) Creo Import (read) Creo Creo (.prt, .asm) to IGES (.igs .iges) Creo (.prt, .asm) to ACIS (.sat) Creo
    [Show full text]
  • The Role of Python in Visual Effects Pipeline
    Vladislav Kazakov The Role of Python in Visual Effects Pipeline Case: Talvi Tools Helsinki Metropolia University of Applied Sciences Bachelor of Engineering Media Engineering Thesis 21 September 2016 Abstract Author(s) Vladislav Kazakov Title The Role of Python in Visual Effects Pipeline Case: Talvi Tools Number of Pages 41 pages + 1 appendix Date 21 September 2016 Degree Bachelor of Engineering Degree Programme Media Engineering Specialisation option Audiovisual Technology and Production Systems Instructor(s) Antti Laiho, Senior Lecturer Kaj Lydecken, Animation Supervisor The purpose of this thesis was to study the concept of visual effects pipelines and analyze how programming language Python can fit into the post-production phase of filmmaking. In the extremely competitive environment of visual effects industry, companies are forced to constantly look out for newer technologies and research more optimal production method- ologies. In search of feasible solutions studios often come across Python. The theoretical part of the study outlines a brief history of Python and illustrates the power of this programming language with two exemplified use case applications. In addition to that, various possible Python implementations in the production of computer generated imagery are extensively reviewed. To give a more complete picture of how this programming lan- guage aids post-production, the adoption of Python by Industrial Light & Magic is examined. As it became clear that Python would prevail in the production of computer graphics, soft- ware vendors started embedding Python support in their products. This claim is further sup- ported by the analysis of Python integration within major contect-creation applications. The outcome of this study is the add-on for Blender developed in Python.
    [Show full text]
  • Gearvr and Web3d
    GearVR and Web 3D Mitch Williams Samsung / 3d-online GearVR Software Engineer August 15, 2018, SIGGRAPH Vancouver, British Columbia, Canada Samsung GearVR content development • Empower developers to create content via multiple means File Formats Unity / Unreal Web VR Java API OBJ FBX glTF X3D Why implement X3D in GearVR • X3D is a widely supported file format • Exported by 3DS Max, Blender, Maya, Moto • Or exports VRML and converts to X3D • No other file format had similar capabilities. • Interactivity via JavaScript • Declarative format easy to edit / visualize the scene. • Easy Learning Curve • Can build X3D in minutes, compared to learning Unity • GearVR, X3D apps also run on Google Daydream, Oculus GearVR apps • Developed in Google’s Android Studio • Download https://github.com/gearvrf/GearVRf-Demos - Drop your X3D file plus texture maps into the assets folder - Modify X3DparserScript.java ‘filename’ to match your new X3D file; then Build the App Current X3D implementation in Samsung GearVR ▪ Transform, Group ▪ Text with ttf Fonts ▪ Multi-Texture, Movies ▪ Material: Images; diffuseColor, emissiveColor, specularColor; Texture Transforms ▪ Lights: Directional, PointLight, SpotLight ▪ Script /JavaScript, including per-frame scripting ▪ Animations (w/ Interpolators) ▪ Sensors: Touch, Plane, Cylinder, Sphere ▪ Level-of-Detail, Inline, Switch Conclusions • X3D benefits to GearVR 1. X3D Spec. has provided guidance. 2. Brought us closer to content creators 3. Internal testing 1. Quickly edit X3D file for testing and performance 4. Opening new markets 1. X3D printing, Web, U.I. development, • Challenges • X3D + VR: AR (augmented reality) extensions • More features to come: PROTO, HAnim, X3D Exporter • GUI tools to create JavaScript / <SCRIPT> nodes X3D, GearVR questions • Gear VR: • https://github.com/gearvrf/GearVRf-Tests/ • Lots of great examples using X3D • https://github.com/gearvrf/GearVRf-Demos/ • http://gearvrf.org/ • Email: • [email protected] Thanks Web 3D & • [email protected] SIGGRAPH.
    [Show full text]
  • Synchronizing 3D Data Between Software – Driving 3D Collaboration Forward Using Direct Links
    Linköping University | Department of Computer and Information Science Master’s thesis, 30 ECTS | Datateknik 2021 | LIU-IDA/LITH-EX-A–21/010—SE Synchronizing 3D data between software – Driving 3D collaboration forward using direct links Synkronisering av 3D-data mellan mjukvaror Carl Brage Supervisor : Jonas Wallgren Examiner : Cyrille Berger Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrätt Detta dokument hålls tillgängligt på Internet - eller dess framtida ersättare - under 25 år frånpublicer- ingsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstakako- pior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervis- ning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. Allannan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säker- heten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsman- nens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to down- load, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose.
    [Show full text]