Games Development Practices 3D Model Import/Export CO2301 Games Development 1 Week 17.

Slides:



Advertisements
Similar presentations
DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Advertisements

Usage of the memoQ web service API by LSP – a case study
GlTF and rest3d Patrick Cozzi University of Pennsylvania CIS Fall 2013.
BY AHROORAN & CHRIS 3D Software. Blender Blender is a free open source software that is compatible with most operating systems for example GNU/Linux,
In 3DMAX. Autodesk 3ds Max, formerly 3D Studio Max, is 3D computer graphics software for making 3D animations, models, and images. It was developed and.
Business and Computing Deanery 3D Modelling Tools Week 10 File formats and exporting models.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
Russell Taylor Lecturer in Computing & Business Studies.
IMGD 1001: The Game Art Pipeline. IMGD (Visual) Art Courses  AR Essentials of Art.  AR Digital Imaging and Computer Art.  IMGD/AR.
Games Development Practices Semester 2 Overview CO2301 Games Development 1 Week 14.
Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)
CHAPTER 17 Creating an Interactive 3D Environment © 2008 Cengage Learning EMEA.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
The Game Art Pipeline Mohammad Zikky, M.T. Introduction: Remember the Constraints  Year 2098, Macrosoft will release FunStation 3000, 14 million terabytes.
Copyright© 2009 Intel Corporation. All rights reserved. #Other names and brands may be claimed as the property of others. 1 NAGFO Game Developer Webinar.
Games Development 2 Entity / Architecture Review CO3301 Week
Computer Concepts 2014 Chapter 7 The Web and .
Us vs. them Education vs. Industry By Adam Rudd. Executive Summary Education vs. Industry Processes & skills within the industry How to prepare students.
Lesson 1: Intro to Animation
CS 638, Fall 2001 CS 638: Computer Games Technology Fall 2001.
VFX Pipeline Pertemuan 03 Matakuliah : UO666 / DKV Visual FX Tahun : 2009.
Chapter 8: Systems analysis and design
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Open Source Software An Introduction. The Creation of Software l As you know, programmers create the software that we use l What you may not understand.
Polygon Lists & 3-D File Formats Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, February 18, 2002.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Computer Graphics Texture Mapping
Configuration Management (CM)
Scalable Game Development William Roberts Senior Game Engineer
SE 320 – Introduction to Game Development Lecture 8: Animations, GUIs, Debugging and IDEs Lecturer: Gazihan Alankuş Please look at the last two slides.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Computer Graphics Using Direct 3D Introduction. 2 What are we doing here? Simply, learning how to make the computer draw.
Computer Graphics Soft Body Animation - Skinning CO2409 Computer Graphics Week 22.
CSE 381 – Advanced Game Programming Code Setup.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
3D Studio Max Powerful rendering engine, lame-o modeling software.
Database Management Systems (DBMS)
The Game Development Process: The Game Art Pipeline
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
Autodesk - Maya How and what is Maya used for?. Introduction Autodesk Maya, is a 3D computer graphics software that can run on most computers. It was.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Game Engines Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (Rules, AI, Scripting, etc.)
Games Development Practices 3D Modelling
A Presentation about Blender Enrile, Katrina B. BFA 3A
How can the Alembic format be useful in production of AAA games
Unit# 8: Introduction to Computer Programming
CO1301: Games ncepts 2016 Lecture 2
Software Design Lecture : 9.
Games Development Practices 3D Model Import/Export
Chapter I Introduction
Game Engines Non-game specific technology Game: Engine
Games Development Practices Semester 2 Overview
Games Development Game Architecture: Entities
PRODUCTION PHASES CHANGES
Games Development 2 Tools Programming
Games Development 1 Review / Revision
Games Development 2 Entity / Architecture Review
Presentation transcript:

Games Development Practices 3D Model Import/Export CO2301 Games Development 1 Week 17

Today’s Lecture 1.3D Model File Formats 2.Writing Export Scripts 3.Commercial Exporters/Converters 4.Dealing with Artists/Designers 5.Common Artwork Problems 6.Ground-rules to Avoid Problems

Saving in Native File Formats We will use Autodesk Maya to do some simple 3D modelling –We also have Autodesk 3DS Max available It is easy to save scenes in Maya’s own format –.mb for binary files,.ma for ASCII (text) files However, these formats are not suitable for games: –Data is not optimised for real-time apps, or for hardware support –Maya’s format is effectively a scripted language –Very difficult to parse Same applies to other modelling packages

Other 3D Model Formats Could use another simpler export format… Many available: –.obj : Wavefront Object file, longstanding simple format – good for basic geometry, but lack of features and rather dated –.X : Microsoft DirectX file, closely tied to DirectX and quite simple. Suffers from loose specification and lack of key features (e.g. camera export). –.fbx: Format that originated from motion capture software. Has become quite useful for conversions. However, just like the.X file it suffers from having no formal specification. –Many other open and proprietary formats…

Limitations of other Formats Each format is lacking in one or more areas, and is unlikely to suit our needs exactly: –We will be limited to the feature-set of the chosen format Not always built-in support for such formats –E.g. Maya does not support any of these, although Microsoft provide a Maya plug-in exporter for.X files and there are third- party exporters also When there is built-in support, it's often limited or broken –There is a lack of specifications for many 3D file formats –Animation is particularly hard to export correctly

Writing Export Scripts 3D modelling tools often have built in scripting languages –For example, Maya supports MEL (Maya Embedded Language) or the more standard Python language –Can access to the elements in the scene using these languages Some have a C++ API –Write powerful built-in tools using C++ code Can use scripts or API to write a custom exporter: –Go through each scene element and write its data to a file Can write to a known format or specify our own –If we write our own, we will not be able to import into other packages though

Writing Export Scripts for Games Custom exporters are not unusual in games development A custom exporter allows us to export richer content from our modelling tool –Camera paths, AI networks, object stats etc. –Although may be better use a level editor for the latter Add these custom elements to our exporter –Create game-specific files from the modelling tool This kind of script development falls under the area of Tools Development –It is a common task for Junior Programmers

Exporters/Converters Microsoft provide a DirectX exporter for Maya –Also support for 3D Studio Max –Limited support for the Maya features, and generates a particular variety of DirectX file –Several other free / commercial exporters, the majority of which focus on particular products Here we have a license of PolyTrans (Okino), which can convert between many different formats –It is one of the most general-purpose tools –Fixes broken files and works around format limitations A useful route for us is to export into the free modelling tool “Blender” and export from there into.X files.

Dealing with Artists/Designers 3D engines have specific technical requirements for their 3D models and other game assets But artists & designers are not necessarily technically- minded –Not involved with the details of the 3D Engine –Cannot be expected to strictly adhere to technical requirements Two implications: –Explain as clearly and simply as possible any technical requirements for game assets –Deal professionally with misunderstandings and problem artwork

Artwork Requirements 1 The technical requirements of 3D Engines fall into several areas: –Supported features: many features of the 3D modelling package will not be supported in real-time –Polygon budgets: game speed will be affected by having too many polygons –Supported material types: engine will require materials to be built in a particular way Linked to textures and shaders in the game engine –Geometry restrictions: valid ranges for coordinates, topographical constraints etc. - many issues here –Also: number of lights, overall complexity of scenes etc. etc.

Artwork Requirements 2 Also common sense requirements: –Sensible sizes for objects, compared to other objects in the game - defining units for the game –Avoiding redundant geometry, e.g. one object hidden inside another, barely visible geometric detail –Avoiding invalid geometry, e.g. cracks in geometry, inside-out objects etc. Some technical and common sense requirements can be checked by a export script –But problems always slip through

Example Problem Assets A 180 metre tall character –The artist slipped into centimetre measurement An entire building hidden inside another one –The designer moved some geometry and lost sight of the extra building A crate built with 15,000 polygons –Artist wasn’t given, or ignored the polygon budget – artists often default to “movie mode” A character with 206 bones in their skeleton –Another budget issue However, all of these are excusable –Until you can write a program without bugs…

Ground-Rules to Avoid Problems To avoid these problems, clearly establish a set of asset ground-rules Specify requirements in a technical design document: –Unit size, e.g. 1 unit = 1 metre –Target poly count for an in game scene –Typical poly counts for different object types, e.g. characters, vehicles, pick-ups –Material requirements, e.g. size of textures, available effects and the relative expense of each –Geometric constraints Also helps to explain the details face-to-face

More Artwork Ground-Rules Using an export script you must precisely specify how the modelling tool should be used: –What features are unavailable –How to work with complex features such as animation skeletons or materials –What other game features can be specified, and how –The file formats to be used for output –Tools to use for processing (e.g. normal map generation) Don’t be lazy – don’t force artists to do unnecessary work that could be done in code. Also keep artists updated when changes occur in the engine (improvements or restrictions)