Procedural Plant Generation With Unity

Posted By: ELK1nG

Procedural Plant Generation With Unity
Published 5/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.29 GB | Duration: 10h 43m

Discover LSystem, SpaceColonization and Drawing Approach to create Procedural Plant Meshes on Unity in 2D and 3D.

What you'll learn

Learn How to Think About Procedural Mesh Generation with Mathematics

Learn How to Create Meshes in Unity for Plant Generation

Learn How to Make Basic Animations for our Generated Plants

Learn Logic of the Main Algorithms for Procedural Plant Generation

A Complete Project mixing LSystem, Space Colonization and Semi-Procedural approach

Create 2D and 3D Procedurally Generated Plants

Requirements

Basic Knowledge of Programming in Unity

Basic Knowledge of High School Mathematics

Description

Welcome to the Procedural Plant Generation course!In this course, we will explore the fascinating world of procedural generation of plants. Plants are complex natural structures that have always been a source of inspiration for artists, architects, and scientists. With the development of procedural generation algorithms, we can now create realistic, fantastic and diverse plant structures in a fraction of the time it would take to manually model them.The course is divided into four main parts. First, I will quickly introduce this course, my pedagogy, and we will cover the latest scientific research on procedural plant generation, the advantages and drawbacks of procedural generation inside videogames and the project that will structure this course.In the second part, we will explain the theoretical approach behind procedural mesh generation. We will see the basic theory to understand how to create procedural plant with coordinate systems, vectors and some mathematics calculations.The third part is subdivided respectfully into 3 parts corresponding to theses algorithms: Space Colonization with Animation System, LSystem & Semi-Procedural approach. It's the heart of this course. We will see how to generate for these 3 algorithms a plant global form with Catmull-Rom Spline and also how to animate it smoothly.The last part will show how to integrate external assets inside LSystem Plant Generation to create a basic timelapse.It is important to note that this course DOES NOT COVER topics such as : Procedural Terrain GenerationSpecific Flower / Tree / Plant Species Generation & AnimationProcedural Generation of Specific Parts of Flower / Tree / Plant like Leaves / Petals / Buds / Fruits etc.However, you will understand and learn the essential skills to create meshes looking like plants, from a coding perspective and how to integrate asset resources (3D models & 2D sprites) on it to enhance your creations.Lastly, I want to emphasize that all the assets used in the projects are free to be used, as long as the creators are cited and all conditions of their respective license are filled. I really want to encourage the use of free resources and the support of talented creators.Whether you are an artist, a (game) developer, or a computer graphics enthusiast, this course will provide you with the knowledge and tools to create your own procedurally generated plants. By the end of this course, you will have a solid understanding of the theory and practice of procedural plant generation, and you will be able to create your own complex plant structures, realistic or on the contrary completely unreal. Let's get started!

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 [Theory] Scientific Research - Objectives

Lecture 3 [Theory] Scientific Research - Complexity

Lecture 4 [Theory] Videogame and Procedural Generation

Lecture 5 [Theory] Plant Algorithms Classification

Lecture 6 [Theory] Projects & Useful Links

Section 2: Mesh Generation Fundamentals

Lecture 7 [Theory] Introduction to Mesh

Lecture 8 [Theory] Coordinate Systems Introduction

Lecture 9 [Theory] Focus on Polar Coordinate System

Lecture 10 [Theory] Vectors

Lecture 11 [Theory] Vector Addition

Lecture 12 [Theory] Vector Scalar Multiplication

Lecture 13 [Theory] Vector Dot Product

Lecture 14 [Theory] Vector Cross Product

Lecture 15 [Theory] Branch Mesh Component - Cone / Cylinder

Lecture 16 [Theory] Normals

Lecture 17 [Theory] UVs

Section 3: Space Colonization & Animation System

Lecture 18 Project Setup

Lecture 19 DebugManager Setup

Lecture 20 [Theory] Space Colonization Algorithm

Lecture 21 Space Colonization Algorithm - Attractors

Lecture 22 [Theory] Common Classes

Lecture 23 BranchPart Class

Lecture 24 Visual Generator

Lecture 25 [Theory] Branch Mesh Construction

Lecture 26 Branch Mesh Construction - Bottom

Lecture 27 Branch Mesh Construction - Handle Small Memory Leak

Lecture 28 Branch Mesh Construction - Bottom Optimization

Lecture 29 Branch Mesh Construction - Top

Lecture 30 Branch Mesh Construction - Sides

Lecture 31 Space Colonization Algorithm - Propagation

Lecture 32 Space Colonization Algorithm - Construction

Lecture 33 Integration - Material on Branch

Lecture 34 Testing - Various Parameters

Lecture 35 Link Space Colonization & Visual Generator

Lecture 36 Spline Branch Class

Lecture 37 Branch Part & Game Object

Lecture 38 Branch Generation Step-By-Step

Lecture 39 [Theory] CatmullRom Spline

Lecture 40 Catmull-Rom Spline Class

Lecture 41 Link SplineBranch & Catmull-Rom Spline

Lecture 42 [Theory] Mesh Optimization

Lecture 43 Branch Mesh Optimization - Top

Lecture 44 Branch Mesh Optimization - Bottom

Lecture 45 Branch Mesh Optimization - Smooth

Lecture 46 Plant Animation By Basic Interpolation

Lecture 47 Mesh using Spline Points

Lecture 48 Control Branch Radius

Lecture 49 Plant Animation - Growth Effect

Lecture 50 Plant Animation - Growth Effect Branch After Branch

Lecture 51 Plant Animation - Growth By Proportion

Lecture 52 Improve Branch Radius

Lecture 53 Plant Animation - Randomness

Lecture 54 Control Branch Length

Lecture 55 Plant Animation - Smooth Growth Effect

Lecture 56 Plant Modification

Lecture 57 Plant Modification - Follow Spline Points Movements

Lecture 58 [Theory] Growing & Senescence

Lecture 59 Plant Animation - Animate Growth

Lecture 60 Plant Animation - Elasticity

Lecture 61 Plant Animation - Senescence

Section 4: LSystem

Lecture 62 [Theory] LSystem

Lecture 63 LSystem Setup

Lecture 64 LSystem Rules

Lecture 65 LSystem Branch Part

Lecture 66 Link LSystem & SplineBranch

Lecture 67 LSystem Reading Direct BranchPart

Lecture 68 Reproduce Famous Forms

Lecture 69 Improve LSystem

Section 5: Semi-Procedural Approach

Lecture 70 [Theory] Semi-Procedural Algorithm

Lecture 71 Semi-Procedural Algorithm - Setup

Lecture 72 PlantDrawer Class - States

Lecture 73 PlantDrawer Class - Screen

Lecture 74 Link PlantDrawer & BranchPart

Lecture 75 Draw Mesh

Section 6: Plant & Branch Components Integration

Lecture 76 Assets

Lecture 77 [Theory] UV Mapping

Lecture 78 UVs

Lecture 79 2D Plants with LineRenderer

Lecture 80 LineRenderer in Plant Algorithms

Lecture 81 [Theory] Leaf Mesh Construction

Lecture 82 Leaf Mesh Drawer

Lecture 83 Leaf Mesh Builder

Lecture 84 [Theory] External Assets

Lecture 85 Shape Class

Lecture 86 External Assets Setup

Lecture 87 LSystem & Shape

Lecture 88 Shape Animation - Randomness

Lecture 89 [Theory] Camera & Rendering for Timelapse Effect

Lecture 90 [Theory] Conclusion

Curious Learners for Plant Mesh Generation,Unity Developers Curious About Mesh Construction,Plant Timelapse Addicts