A Procedural Character Generation System

Total Page:16

File Type:pdf, Size:1020Kb

A Procedural Character Generation System Aalto University School of Arts Master’s Programme in Game Design and Production Yuanqi Shan A procedural character generation system Master’s Thesis 26/04/2021 Supervisor and Advisor: Perttu Hämäläinen, Professor Aalto University, P.O. BOX 31000, 00076 AALTO www.aalto.fi Master of Arts thesis abstract Author Yuanqi Shan Title of thesis A procedural character generation system Department Department of Media Degree programme New Media: Game Design & Production Year 2021 Number of pages Language 55 English Procedural content generation refers to using algorithms and code to create content like text or audiovisual assets. In the context of video games, the term is usually associated with generated levels and environments which are often used to increase replayability and lower the development costs of a game. In a world where more games are being made every year, some with high development costs, it would be natural to see some developers shifting towards using procedural content generation for many high-cost game development tasks such as character creation. Procedural character generation is not a new thing, as games such as Spore and No Man’s Sky have used it to great effect. However, the topic in general appears to be still unexplored. This thesis presents a design for a procedural character generation system called Unity Procedural Character System. The system was designed for the Unity game engine with the goal of being an accessible, out-of-the-box solution that could simplify the character creation part of the game development process by allowing developers to easily generate 3D characters. In addition, the system is capable of mutating and fusing characters together, allowing developers to generate large amounts of different characters in a short period of time. The design of the Unity Procedural Character System was based on existing procedural tools and video games that used procedural character generation. In order to evaluate the capabilities of the Unity Procedural Character System, an implementation of the system was made and used to procedurally generate a variety of 3D characters. Although there were still improvements to be made on the quality of the generated characters, the system was well capable of generating large amounts of different characters. Therefore, the author recommends the system to be used for game projects with short development cycles or lower standards for visual quality, such as mobile games, game prototypes or game jam projects. Keywords procedural generation, character generation, game development Aalto-yliopisto, PL 11000, 00076 AALTO www.aalto.fi Taiteen maisterin opinnäytteen tiivistelmä Tekijä Yuanqi Shan Työn nimi Proseduraalinen hahmogenerointijärjestelmä Laitos Median Laitos Koulutusohjelma New Media: Game Design & Production Vuosi 2021 Sivumäärä 55 Kieli englanti Proseduraalisella generoinnilla tarkoitetaan sisällön tuottamista algoritmien avulla. Pelien kehityksessä sitä käytetään usein pelien uudelleenpelattavuuden parantamiseen sekä kehityskustannusten vähentämiseen, esimerkiksi generoimalla tasoja sekä peliympäristöjä. Julkaistujen pelien määrä sekä pelien kehityskustannukset ovat kasvaneet vuosittain, minkä seurauksena olisi luonnollista että pelikehityksessä aloitetaan vähitellen käyttämään proseduraalista generointia tuottamaan muuta pelisisältöä kuten esimerkiksi hahmoja. Muun muassa Spore sekä No Man’s Sky ovat esimerkkejä peleistä, joissa proseduraalista hahmogenerointia on käytetty onnistuneesti. Tästä huolimatta proseduraalinen hahmogenerointi on akateemisen tutkimuksen aiheena harvinainen. Tässä opinnäytetyössä esitellään proseduraalinen hahmogenerointijärjestelmä nimeltä Unity Procedural Character System, joka suunniteltiin toimimaan Unity-pelimoottorissa. Työn tavoitteena on tarjota pelikehittäjille yksinkertainen tapa generoida iso määrä 3D hahmoja lyhyellä aikavälillä. Tämän mahdollistaa järjestelmän kyky mutatoida ja yhdistää hahmoja keskenään. Järjestelmän toimintaperiaate perustuu olemassa oleviin proseduraalisiin työkaluihin sekä peleihin, joissa on käytetty proseduraalista hahmogenerointia. Järjestelmän toimivuutta arvioitiin tarkastelemalla generoituja hahmoja. Arviointi tuo ilmi, että järjestelmä kykenee generoimaan paljon erilaisia hahmoja, mutta hahmojen laadussa on vielä parannettavaa. Tästä johtuen järjestelmää suositellaan käytettäväksi pääosin peliprojekteihin, joissa on lyhyt aikataulu tai matalat vaatimukset peligrafiikan laatuun, kuten mobiilipeleihin, peliprototyyppeihin tai game jam -peleihin. Avainsanat proseduraalinen generointi, hahmogenerointi, pelikehitys Table of Contents 1. Introduction 6 2. Background 9 2.1 Examples of procedural character generation in video games 9 2.1.1 Impossible Creatures 9 2.1.2 Spore 11 2.1.3 No Man’s Sky 12 2.2 Procedural tools for video game development 13 2.2.1 Houdini 13 2.2.2 Autodesk Character Generator / Character Creator 3 13 2.3 Other tools 15 3. Design 17 3.1 Terminology 17 3.1.1 Unity Procedural Character System 17 3.1.2 Node 17 3.1.3 Modifier 18 3.1.4 Blueprint 19 3.2 Creature generation 21 3.2.1 Creating a blueprint from scratch 22 3.2.2 Mutating an existing blueprint 22 3.2.3 Fusing blueprints 24 4. Implementation 26 4.1 Important Unity features 26 4.1.1 Physics 26 4.1.2 Mesh manipulation 27 4.1.3 Scriptable objects 27 4.2 UPCS 27 4.2.1 Graphical user interface 28 4.2.2 Generation logic 29 4.3 Results 32 5. Conclusion 45 5.1 Acknowledgements 47 6. Appendices 48 6.1 List of body part node properties 48 6.2 Mutation descriptions for each modifier/node property 50 6.3 Generation performance 51 6.4 Web demo link 52 References 53 1. Introduction Procedural content generation (PCG) refers to automatic and algorithmic creation of content. In the context of video games, PCG is often used to generate graphical assets, such as environments and visual effects. Instead of an artist creating an object or environment from scratch, a computer program generates them instead using predetermined sets of rules. [1] Certain roguelike and strategy games, such as Dead Cells (Motion Twin, 2018) and the Sid Meier’s Civilization (Firaxis Games) franchise, use procedural generation for increased replayability by generating their levels during runtime. In other words, the levels are generated on the fly when the user starts playing the game rather than being constructed manually during development by a designer. Most of the time, the levels are generated by combining certain building blocks, such as tiles or hexes, together by following a series of rules set by developers. For many players, procedurally generated levels bring increased replay value to the games, since each level is different from the previous. This means that the players can experience different challenges even if they start the same game from the beginning. For developers, procedural level generation saves development time and costs since it removes the need for manual level design and creation, which was also the case for Dead Cells according to the Lead Designer of the game, Sebastien Benard [2]. However, a common critique of procedurally generated levels is that the levels can often feel bland and lack the amount of details that would normally be carefully added by a designer. The amount of visual detail and the overall quality of the worlds in video games has risen a lot in recent years. With new technologies and more powerful hardware emerging in short timespans, many game developers have been trying to match the increase of resulting performance budgets in graphics by adding larger, higher-quality worlds and assets into their games. The increasing quality of games often results in larger install sizes. This can be seen, for example, in the Call Of Duty video game franchise by Activision. In 2003, the first Call of Duty game was released for PC with an install size of 1.4 gigabytes. Since then, Activision has released a new game for the Call of Duty franchise annually, with nearly every new game larger than its predecessors [3]. The install size of the newest game in the franchise, Call of Duty: Modern Warfare, with all of its content is roughly 175 gigabytes, an over hundred times increase compared to the original [4]. Some developers, however, have used procedural generation to achieve smaller install sizes. A recent example can be found in No Man’s Sky (2016, Hello Games), a space exploration game that takes place in a procedurally generated universe which, according to developers, consists of over 18 quintillion explorable planets [5]. Despite the unbelievably large number, the actual install size of the game is roughly 10 gigabytes [6]. Compared to many of the recent AAA video games and considering the sheer size of its world, the install size of No Man’s Sky is extremely small. In addition to large install sizes, procedural generation offers possible relief to another major problem in the game industry, development costs. Game development is often an iterative process, meaning many assets and features are constantly changed and remade until they reach satisfactory levels of completion [7]. Large amounts of changes to assets results in longer development time which results in higher development costs. The increasing costs were also a topic in the Blender Conference 2018 talk, The Next Leap: How A.I. will change the 3D industry, by professional 3D artist Andrew Price. In his talk, Price explains that the expensive assets are by-products of a static workflow, and suggests that in the future procedural workflows and machine learning will become commonplace
Recommended publications
  • Procedural Content Generation for Games
    Procedural Content Generation for Games Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universit¨atMannheim vorgelegt von M.Sc. Jonas Freiknecht aus Hannover Mannheim, 2020 Dekan: Dr. Bernd L¨ubcke, Universit¨atMannheim Referent: Prof. Dr. Wolfgang Effelsberg, Universit¨atMannheim Korreferent: Prof. Dr. Colin Atkinson, Universit¨atMannheim Tag der m¨undlichen Pr¨ufung: 12. Februar 2021 Danksagungen Nach einer solchen Arbeit ist es nicht leicht, alle Menschen aufzuz¨ahlen,die mich direkt oder indirekt unterst¨utzthaben. Ich versuche es dennoch. Allen voran m¨ochte ich meinem Doktorvater Prof. Wolfgang Effelsberg danken, der mir - ohne mich vorher als Master-Studenten gekannt zu haben - die Promotion an seinem Lehrstuhl erm¨oglichte und mit Geduld, Empathie und nicht zuletzt einem mir unbegreiflichen Verst¨andnisf¨ur meine verschiedenen Ausfl¨ugein die Weiten der Informatik unterst¨utzthat. Sie werden mir nicht glauben, wie dankbar ich Ihnen bin. Weiterhin m¨ochte ich meinem damaligen Studiengangsleiter Herrn Prof. Heinz J¨urgen M¨ullerdanken, der vor acht Jahren den Kontakt zur Universit¨atMannheim herstellte und mich ¨uberhaupt erst in die richtige Richtung wies, um mein Promotionsvorhaben anzugehen. Auch Herr Prof. Peter Henning soll nicht ungenannt bleiben, der mich - auch wenn es ihm vielleicht gar nicht bewusst ist - davon ¨uberzeugt hat, dass die Erzeugung virtueller Welten ein lohnenswertes Promotionsthema ist. Ganz besonderer Dank gilt meiner Frau Sarah und meinen beiden Kindern Justus und Elisa, die viele Abende und Wochenenden zugunsten dieser Arbeit auf meine Gesellschaft verzichten mussten. Jetzt ist es geschafft, das n¨achste Projekt ist dann wohl der Garten! Ebenfalls geb¨uhrt meinen Eltern und meinen Geschwistern Dank.
    [Show full text]
  • Introduction It Is the 51St Millennium, and the War Continues. There Was No Great Conflagration Or Calamitous Final Battle. Acro
    Introduction It is the 51st Millennium, and the war continues. There was no great conflagration or calamitous final battle. Across the vastness of the galaxy, the Imperium died. Not with a bang, but with a whimper. The galactic empire of humanity crumbled, its enemies too many, too great and too terrible to imagine. The great conflict of Octavius had no victory, a war without end. In the fiery chasm of strife, the locust and the green holocaust fused, as beast looked upon barbarian and both saw the other as kin. The new entity spread with a speed undreamt of by ork or tyranid. War and hunger melded into a singular desire to ravage, rape and remake all in the image of the new devourer. The Devourer’s hybrid nightmares were regenerative, and spore-born, combining into a grand horror, which murdered the galaxy, leaving naught but fragments as it left. Metallic sentinels of unflinching dread rose up on some worlds, leaving them safe from the new devourer waaagh, but instead made them slaves to the silver sentinels, and fodder for their glowing metal gods. The Eldar who had held on to life for so long, slowly winked out of existence one craftworld at a time. Eventually, even the rumbling hearts of the avatars fell silent. For a time... In the dead craftworlds, something slithers through the infinity circuit to this day. Unfortunately, the great god of the dead, Ynnead, is trapped within this infinity circuit, howling its mournful song into the darkness, eternally hungry in its desire to wreak vengeance on She Who Thirsts.
    [Show full text]
  • Making a Game Character Move
    Piia Brusi MAKING A GAME CHARACTER MOVE Animation and motion capture for video games Bachelor’s thesis Degree programme in Game Design 2021 Author (authors) Degree title Time Piia Brusi Bachelor of Culture May 2021 and Arts Thesis title 69 pages Making a game character move Animation and motion capture for video games Commissioned by South Eastern Finland University of Applied Sciences Supervisor Marko Siitonen Abstract The purpose of this thesis was to serve as an introduction and overview of video game animation; how the interactive nature of games differentiates game animation from cinematic animation, what the process of producing game animations is like, what goes into making good game animations and what animation methods and tools are available. The thesis briefly covered other game design principles most relevant to game animators: game design, character design, modelling and rigging and how they relate to game animation. The text mainly focused on animation theory and practices based on commentary and viewpoints provided by industry professionals. Additionally, the thesis described various 3D animation and motion capture systems and software in detail, including how motion capture footage is shot and processed for games. The thesis ended on a step-by-step description of the author’s motion capture cleanup project, where a jog loop was created out of raw motion capture data. As the topic of game animation is vast, the thesis could not cover topics such as facial motion capture and procedural animation in detail. Technologies such as motion matching, machine learning and range imaging were also suggested as topics worth covering in the future.
    [Show full text]
  • It's Meant to Be Played
    Issue 10 $3.99 (where sold) THE WAY It’s meant to be played Ultimate PC Gaming with GeForce All the best holiday games with the power of NVIDIA Far Cry’s creators outclass its already jaw-dropping technology Battlefi eld 2142 with an epic new sci-fi battle World of Warcraft: Company of Heroes Warhammer: The Burning Crusade Mark of Chaos THE NEWS Notebooks are set to transform Welcome... PC gaming Welcome to the 10th issue of The Way It’s Meant To Be Played, the he latest must-have gaming system is… T magazine dedicated to the very best in a notebook PC. Until recently considered mainly PC gaming. In this issue, we showcase a means for working on the move or for portable 30 games, all participants in NVIDIA’s presentations, laptops complete with dedicated graphic The Way It’s Meant To Be Played processing units (GPUs) such as the NVIDIA® GeForce® program. In this program, NVIDIA’s Go 7 series are making a real impact in the gaming world. Latest thing: Laptops developer technology engineers work complete with dedicated The advantages are obvious – gamers need no longer be graphic processing units with development teams to get the are making an impact in very best graphics and effects into tied to their desktop set-up. the gaming world. their new titles. The games are then The new NVIDIA® GeForce® Go 7900 notebook rigorously tested by three different labs GPUs are designed for extreme HD gaming, and gaming at NVIDIA for compatibility, stability, and hardware specialists such as Alienware and Asus have performance to ensure that any game seen the potential of the portable platform.
    [Show full text]
  • Strategy Games Big Huge Games • Bruce C
    04 3677_CH03 6/3/03 12:30 PM Page 67 Chapter 3 THE EXPERTS • Sid Meier, Firaxis General Game Design: • Bill Roper, Blizzard North • Brian Reynolds, Strategy Games Big Huge Games • Bruce C. Shelley, Ensemble Studios • Peter Molyneux, Do you like to use some brains along with (or instead of) brawn Lionhead Studios when gaming? This chapter is for you—how to create breathtaking • Alex Garden, strategy games. And do we have a roundtable of celebrities for you! Relic Entertainment Sid Meier, Firaxis • Louis Castle, There’s a very good reason why Sid Meier is one of the most Electronic Arts/ accomplished and respected game designers in the business. He Westwood Studios pioneered the industry with a number of unprecedented instant • Chris Sawyer, Freelance classics, such as the very first combat flight simulator, F-15 Strike Eagle; then Pirates, Railroad Tycoon, and of course, a game often • Rick Goodman, voted the number one game of all time, Civilization. Meier has con- Stainless Steel Studios tributed to a number of chapters in this book, but here he offers a • Phil Steinmeyer, few words on game inspiration. PopTop Software “Find something you as a designer are excited about,” begins • Ed Del Castillo, Meier. “If not, it will likely show through your work.” Meier also Liquid Entertainment reminds designers that this is a project that they’ll be working on for about two years, and designers have to ask themselves whether this is something they want to work on every day for that length of time. From a practical point of view, Meier says, “You probably don’t want to get into a genre that’s overly exhausted.” For me, working on SimGolf is a fine example, and Gettysburg is another—something I’ve been fascinated with all my life, and it wasn’t mainstream, but was a lot of fun to write—a fun game to put together.
    [Show full text]
  • Blender Instructions a Summary
    BLENDER INSTRUCTIONS A SUMMARY Attention all Mac users The first step for all Mac users who don’t have a three button mouse and/or a thumb wheel on the mouse is: 1.! Go under Edit menu 2.! Choose Preferences 3.! Click the Input tab 4.! Make sure there is a tick in the check boxes for “Emulate 3 Button Mouse” and “Continuous Grab”. 5.! Click the “Save As Default” button. This will allow you to navigate 3D space and move objects with a trackpad or one-mouse button and the keyboard. Also, if you prefer (but not critical as you do have the View menu to perform the same functions), you can emulate the numpad (the extra numbers on the right of extended keyboard devices). It means the numbers across the top of the standard keyboard will function the same way as the numpad. 1.! Go under Edit menu 2.! Choose Preferences 3. Click the Input tab 4.! Make sure there is a tick in the check box for “Emulate Numpad”. 5.! Click the “Save As Default” button. BLENDER BASIC SHORTCUT KEYS OBJECT MODE SHORTCUT KEYS EDIT MODE SHORTCUT KEYS The Interface The interface of Blender (version 2.8 and higher), is comprised of: 1. The Viewport This is the 3D scene showing you a default 3D object called a cube and a large mesh-like grid called the plane for helping you to visualize the X, Y and Z directions in space. And to save time, in Blender 2.8, the camera (left) and light (right in the distance) has been added to the viewport as default.
    [Show full text]
  • A Procedural Interface Wrapper for Houdini Engine in Autodesk Maya
    A PROCEDURAL INTERFACE WRAPPER FOR HOUDINI ENGINE IN AUTODESK MAYA A Thesis by BENJAMIN ROBERT HOUSE Submitted to the Office of Graduate and Professional Studies of Texas A&M University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Chair of Committee, André Thomas Committee Members, John Keyser Ergun Akleman Head of Department, Tim McLaughlin May 2019 Major Subject: Visualization Copyright 2019 Benjamin Robert House ABSTRACT Game development studios are facing an ever-growing pressure to deliver quality content in greater quantities, making the automation of as many tasks as possible an important aspect of modern video game development. This has led to the growing popularity of integrating procedural workflows such as those offered by SideFX Software’s Houdini FX into the already established de- velopment pipelines. However, the current limitations of the Houdini Engine plugin for Autodesk Maya often require developers to take extra steps when creating tools to speed up development using Houdini. This hinders the workflow for developers, who have to design their Houdini Digi- tal Asset (HDA) tools around the limitations of the Houdini Engine plugin. Furthermore, because of the implementation of the HDA’s parameter display in Maya’s Attribute Editor when using the Houdini Engine Plugin, artists can easily be overloaded with too much information which can in turn hinder the workflow of any artists who are using the HDA. The limitations of an HDA used in the Houdini Engine Plugin in Maya as a tool that is intended to improve workflow can actually frustrate and confuse the user, ultimately causing more harm than good.
    [Show full text]
  • Procedural Generation of a 3D Terrain Model Based on a Predefined
    Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Bachelor of Science Thesis in Applied Information Technology Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström Department of Applied Information Technology Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2017 Bachelor of Science Thesis Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström Department of Applied Information Technology Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2017 The Authors grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström © Matilda Andersson, 2017.
    [Show full text]
  • Procedural Generation of Content in Video Games
    Bachelor Thesis Sven Freiberg Procedural Generation of Content in Video Games Fakultät Technik und Informatik Faculty of Engineering and Computer Science Studiendepartment Informatik Department of Computer Science PROCEDURALGENERATIONOFCONTENTINVIDEOGAMES sven freiberg Bachelor Thesis handed in as part of the final examination course of studies Applied Computer Science Department Computer Science Faculty Engineering and Computer Science Hamburg University of Applied Science Supervisor Prof. Dr. Philipp Jenke 2nd Referee Prof. Dr. Axel Schmolitzky Handed in on March 3rd, 2016 Bachelor Thesis eingereicht im Rahmen der Bachelorprüfung Studiengang Angewandte Informatik Department Informatik Fakultät Technik und Informatik Hochschule für Angewandte Wissenschaften Hamburg Betreuender Prüfer Prof. Dr. Philipp Jenke Zweitgutachter Prof. Dr. Axel Schmolitzky Eingereicht am 03. März, 2016 ABSTRACT In the context of video games Procedrual Content Generation (PCG) has shown interesting, useful and impressive capabilities to aid de- velopers and designers bring their vision to life. In this thesis I will take a look at some examples of video games and how they made used of PCG. I also discuss how PCG can be defined and what mis- conceptions there might be. After this I will introduce a concept for a modular PCG workflow. The concept will be implemented as a Unity plugin called Velvet. This plugin will then be used to create a set of example applications showing what the system is capable of. Keywords: procedural content generation, software architecture, modular design, game development ZUSAMMENFASSUNG Procedrual Content Generation (PCG) (prozedurale Generierung von Inhalten) im Kontext von Videospielen zeigt interessante und ein- drucksvolle Fähigkeiten um Entwicklern und Designern zu helfen ihre Vision zum Leben zu erwecken.
    [Show full text]
  • An Embeddable, High-Performance Scripting Language and Its Applications
    Lua an embeddable, high-performance scripting language and its applications Hisham Muhammad [email protected] PUC-Rio, Rio de Janeiro, Brazil IntroductionsIntroductions ● Hisham Muhammad ● PUC-Rio – University in Rio de Janeiro, Brazil ● LabLua research laboratory – founded by Roberto Ierusalimschy, Lua's chief architect ● lead developer of LuaRocks – Lua's package manager ● other open source projects: – GoboLinux, htop process monitor WhatWhat wewe willwill covercover todaytoday ● The Lua programming language – what's cool about it – how to make good uses of it ● Real-world case study – an M2M gateway and energy analytics system – making a production system highly adaptable ● Other high-profile uses of Lua – from Adobe and Angry Birds to World of Warcraft and Wikipedia Lua?Lua? ● ...is what we tend to call a "scripting language" – dynamically-typed, bytecode-compiled, garbage-collected – like Perl, Python, PHP, Ruby, JavaScript... ● What sets Lua apart? – Extremely portable: pure ANSI C – Very small: embeddable, about 180 kiB – Great for both embedded systems and for embedding into applications LuaLua isis fullyfully featuredfeatured ● All you expect from the core of a modern language – First-class functions (proper closures with lexical scoping) – Coroutines for concurrency management (also called "fibers" elsewhere) – Meta-programming mechanisms ● object-oriented ● functional programming ● procedural, "quick scripts" ToTo getget licensinglicensing outout ofof thethe wayway ● MIT License ● You are free to use it anywhere ● Free software
    [Show full text]
  • 3D Data Visualization in Astrophysics Dr
    3D Data Visualization in Astrophysics Dr. Brian R. Kent National Radio Astronomy Observatory http://www.cv.nrao.edu/~bkent/blender http://iopscience.iop.org/journal/1538-3873/page/Techniques-and-Methods-for-Astrophysical-Data-Visualization Overview ● What we want to get out of 3D data visualization ● Types of visualizations when rendering 3D graphics ● How we can leverage Blender for 3D viz ● Examples Dr. Brian R. Kent (NRAO) ADASS 2018 Astrophysical Phenomena What do we want when visualizing our data in 3D? ● Effectively display a discovery, principle, data characteristics, or parameter space ● Show a data perspective not otherwise seen ● Collapse a high N phase space into a 3D animation ● Visuals for EPO Dr. Brian R. Kent (NRAO) ADASS 2018 Types of Data in Astronomy Dr. Brian R. Kent (NRAO) ADASS 2018 Data Volumes in Astronomy Dr. Brian R. Kent (NRAO) ADASS 2018 3D Graphics Software HOUDINI 3D Graphics, Python, and Astronomy I use a non-traditional package called Blender to render different forms of astronomical data - catalogs, data cubes, simulations, etc. Dr. Brian R. Kent (NRAO) ADASS 2018 What is Blender? Blender is: ● 3D graphics software for modeling, animation, and visualization ● Open-source ● a real-time 3D viewer and GUI ● A Python scriptable interface for loading and manipulating data http://www.blender.org Dr. Brian R. Kent (NRAO) ADASS 2018 Publications ● Kent 2013 ● http://adsabs.harvard.edu/abs/2013PASP..125..731K ● Kent 2015 ● http://iopscience.iop.org/book/978-1-6270-5612-0 ● Kent 2017 ● http://adsabs.harvard.edu/abs/2017PASP..129e8004K Elements of 3D Graphics We need to consider: ● Models - physical or data containers? ● Textures - 2D, 3D, and projections? ● Lighting - illumination of data - physical or artistic ● Animation - How will the model move and change? ● Camera control - lens selection, angle, image size, and movement and tracking ● Rendering - backend engine choice ● Compositing - layering final output Dr.
    [Show full text]
  • Procedural Generation
    Procedural Generation Kaarel T~onisson 2018-04-20 Kaarel T~onisson Procedural Generation 2018-04-20 1 / 37 Contents I Procedural generation overview I Development-time generation I Execution-time generation I Noise-based techniques I Perlin noise I Simplex noise I Synthesis-based techniques I Tiling I Image quilting I Deep learning I Procedural content generation I Early history I Case study: Minecraft Kaarel T~onisson Procedural Generation 2018-04-20 2 / 37 What is procedural generation? I Method of creating something algorithmically I As opposed to creating something manually I Few inputs can generate many different outputs I One seed number can generate a unique world Kaarel T~onisson Procedural Generation 2018-04-20 3 / 37 Where can procedural generation be used? In theory I Every field of creative development I Textures I Models (characters, trees, equipment) I Worlds (terrain geometry, object placement) I Item parameters I Stories and history I Sound effects and music Kaarel T~onisson Procedural Generation 2018-04-20 4 / 37 Where is it actually used? In practice I Often: Extent is limited I Most assets are made by hand I Procedural parts are edited by hand I Sometimes: Heavily reliant on procedural generation I Certain games I Size-limit challenges Kaarel T~onisson Procedural Generation 2018-04-20 5 / 37 When is generation performed? (Option 1) During development I Asset is generated, then enhanced by hand I Examples: I Algorithm generates terrain, developer adds objects and detail I Algorithm generates basic texture, developer adds
    [Show full text]