• Home
  • Submit Paper
  • Check Paper Status
  • Download Certificate/Paper
  • FAQs
  • Feedback
  • Contact Us
Email: ijraset@gmail.com
IJRASET Logo
Journal Statistics & Approval Details
Recent Published Paper
Our Author's Feedback
 •  ISRA Impact Factor 7.894       •  SJIF Impact Factor: 7.538       •  Hard Copy of Certificates to All Authors       •  DOI by Crossref for all Published Papers       •  Soft Copy of Certificates- Within 04 Hours       •  Authors helpline No: +91-8813907089(Whatsapp)       •  No Publication Fee for Paper Submission       •  Hard Copy of Certificates to all Authors       •  UGC Approved Journal: IJRASET- Click here to Check     
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics
ISSN: 2321-9653
Estd : 2013
IJRASET - Logo
  • Home
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics

Ijraset Journal For Research in Applied Science and Engineering Technology

  • Home / Ijraset
  • On This Page
  • Abstract
  • Introduction
  • Conclusion
  • References
  • Copyright

Procedural Foliage Generation

Authors: Advait Kelkar, Mayur Dahibhate, Shantanu Jagtap

DOI Link: https://doi.org/10.22214/ijraset.2022.42410

Certificate: View Certificate

Abstract

Procedural foliage generation refers to the generation of flora features, through the use of algorithms, with minimal input required from the user. In the process of game development, generating foliage is often an important part of the game development process. Traditional generation methods are often too time-consuming, especially with larger foliage variety. On the other hand, procedural methods that generate foliage automatically often do not have much user control over the output. We explore the usage of Lindenmayer systems in the creation of tree assets.

Introduction

I.  INTRODUCTION

Procedural Foliage Generator is an application that generates semi-realistic foliage based on user input. The generator uses the algorithm programmed and adds in some random elements based on the rules specified to generate a digital approximation of real foliage seen in nature. The generator includes features like varying trunk thickness, the presence of leaves at the appropriate locations, as well the ability to edit the ability to rotate the generated object on all axes to observe the product.

The main objective is to reduce the burden on the artists and 3D modelers who have to spend a considerable amount of time handcrafting the foliage assets. The generator can be incorporated into the programming pipelines of game development studios to speed up the asset generation process. In the Unity version of the generator, a 3D modeler can add more elements to make the generated product more realistic, thus saving time as well as creating more believable foliage that would hold up to the scrutiny of the consumers

The goal is to provide game developers with a handy tool that will accelerate the workflow while still maintaining the quality observed in assets modeled by hand

Lots of computer applications are required to generate a variety of assets in abundance. Instead of hard coding such assets, programmers can take motivation from the randomness of nature. With some treatment of mathematics and theory of computation, such randomness can be reasonably recreated with computers. Procedural generation aims to generate a variety of assets given parameters and production rules. In this project, Procedural generation is used for generating foliage. Particularly this is one of the features required frequently. Such features would take a lot of disk space if hardcoded.  Procedural generation allows the developers to create assets at run time and provide immersive and refreshing experiences to the users.  This family of algorithms can be applied to a lot of other domains as well. To develop a procedural foliage generation system that can take input from the user through the web interface as well as through the Unity application interface. The output will be generated instantaneously and can be tweaked as much as wanted by the user.

II. LITERATURE SURVEY

This section includes a brief overview of existing frameworks used for implementing procedural generation. The following frameworks are open source projects which help developers to create immersive and interactive computer graphics applications.

A. P5.js:

p5.js is a JavaScript library, with a focus of making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else. p5.js is free and open-source. p5.js has a very useful drawing functionality which we are going to use in our 2D model for generation of foliage. However, you’re not limited to your drawing canvas. You can think of your whole browser page as your canvas, including HTML5 objects for text, input, video, webcam, and sound.

B. Unity Engine

Unity is a real-time 3D development platform that lets artists, designers, and developers to come together and create amazing and exciting experiences. You can work on a system with any Operating System. It supports both 2D and 3D graphics and scripting through C# and also includes an amazing feature of drag-and-drop functionality. Developed by Unity technologies, it is a cross-platform game engine. It was used to design simulations and video games for consoles, computers, and mobile devices in its early days.

III.  OBJECTIVES

The main objective is to reduce the burden on the artists and 3D modelers who have to spend a considerable amount of time handcrafting the foliage assets. The generator can be incorporated into the programming pipelines of game development studios to speed up the asset generation process. In the Unity version of the generator, a 3D modeler can add more elements to make the generated product more realistic, thus saving time as well as creating more believable foliage that would hold up to the scrutiny of the consumers. The goal is to provide game developers with a handy tool that will accelerate the workflow while still maintaining the quality observed in assets modeled by hand.

IV.  PROPOSED SYSTEM

Two versions of the procedural foliage generator are planned: a web version that can run in the browser, and a full-fledged Unity application that makes use of all the features provided by the game engine.

A. Web Browser Version

To give potential users a glimpse of the real product, we have planned to implement a version that runs in the browser, which eliminates the need for expensive hardware. Potential users can simply go to the URL and see a completely interactive demo that showcases the salient features of the foliage generator. To make this version browser independent, we have chosen to use the JavaScript library p5.js, which is a special purpose library designed and developed for graphics applications. This version offers multiple features, such as the ability to alter the width and height of the generated plant, the ability to alter the thickness of the branches, a functionality that allows the user to change the color of generated branches and leaves, and a few presets to help the user see what we envision the final generated plants to look like.

B. Unity Version

Users who are interested in the complete version of the product can opt for this offering. To use this version, the user must have a computer that satisfies the minimum requirements of Unity Game Engine, and the latest version of Unity installed on their system. Additionally, the user needs a code editor in case they wish to make some changes to the source code. Everything is set up in the Unity Project File, the only thing the user needs to do is press the play button and the generator will start. Once started, a basic version of the tree will be displayed.

Using the UI provided, the user can alter the parameters, which will be updated in real-time and the changes will be reflected immediately. The following functionalities are provided:

  • Tree: This feature enables the user to get started on the generation quickly by providing some presets that have been created beforehand for convenience.
  • Iterations: This feature is related to the number of recursions the algorithm will make, thereby increasing or decreasing the size of the tree, also affecting the number of branches the tree will have.
  • Angle:  feature alters the angle of the branches with each other, giving rise to more sloping or gently sloping branches as per the user’s requirement.
  • Length: The function alters the length of the branches, allowing the user to create longer or shorter branches as per the requirement. This length is applied to all branches of the tree.
  • Width: The function alters the width of the branches, allowing the user to create thicker or thinner branches as per the requirement. This width is applied to all branches of the tree.

  • Variance: This is one of the most important features provided since it controls the degree of variation, or “randomness” in the algorithm. Low values will generate trees that are similar to each other, while high values will introduce high randomness, generating that will differ much from the previous ones.
  • Generate New Tree: This is where the real generation takes place. On pressing this button, a new tree will be generated every time, taking into account the parameters set by the user. Due to the rules of procedural generation, each tree will be different from the one generated before, giving unique results with each click of the button.
  • Reset Values: Clicking this button will reset all parameter values to default values supplied by the program.
  • 3D Rotation Slider: Some presets are 3 dimensional, and this slider allows the user to rotate the tree on the Y-axis to see how it will look from all directions.
  • Overall UI impressions: The functionalities provided by the UI allow the user to use the application to generate a wide variety of trees and tweak their appearance in real-time.

V. ACKNOWLEDGMENT

It gives us great pleasure in presenting the project report on PROCEDURAL FOLIAGE GENERATION.

We would like to take this opportunity to thank our internal guide, Prof. Ila Savant, for giving us all the help and guidance we needed. We are also grateful to Prof. H. K. Khanuja, Head of Computer Engineering Department, MMCOE for her encouragement and help.

Conclusion

The project report proposes a Procedural Foliage Generated that could potentially be developed into a large-scale, commercial product. We conducted a comprehensive literature survey to find the most appropriate algorithms, game engines, and libraries and also studied various research papers that have already attempted to make similar systems. During this semester, we identified various functional and non-functional requirements of the system along with the risks and constraints that we might face during the development of the application. We also designed various UML diagrams that would facilitate the implementation of the project.

References

[1] Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., and Stuetzle, W. Mesh optimization. In Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, pages 19–26. 1993 [2] Hoppe, H. Progressive meshes. Computer Graphics (SIGGRAPH ’96 Proceedings), pages 99–108, 1996 [3] Xia, J., and Varshney, A. Dynamic view-dependent simplification for polygonal models. In Visualization ’96 Proceedings, IEEE, pp. 327–334. 1996 [4] Hoppe, H., Smooth view-dependent level-of-detail control and its application to terrain rendering, Proc. of IEEE Visualization ’98, pp 35-42; 516, 1998. [5] “Algorithmic Botany: Publications,” BMV Publications May 2007, University of Calgary http://algorithmicbotany.org/papers/ [6] Lorenz, W. “Fractals and Fractal Architecture”, Fractals and Fractal Architecture, May 2007 http://www.iemar.tuwien.ac.at/modul23/Fractals/subpages/62City

Copyright

Copyright © 2022 Advait Kelkar, Mayur Dahibhate, Shantanu Jagtap. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

ijraset42410Advait

Download Paper

Authors : Shantanu

Paper Id : IJRASET42410

Publish Date : 2022-05-09

ISSN : 2321-9653

Publisher Name : IJRASET

DOI Link : Click Here

About Us

International Journal for Research in Applied Science and Engineering Technology (IJRASET) is an international peer reviewed, online journal published for the enhancement of research in various disciplines of Applied Science & Engineering Technologies.

Quick links
  • Privacy Policy
  • Refund & Cancellation Policy
  • Shipping Policy
  • Terms & Conditions
Quick links
  • Home
  • About us
  • Editorial Board
  • Impact Factor
  • Submit Paper
  • Current Issue
  • Special Issue
  • Pay Fee
  • Topics
Journals for publication of research paper | Research paper publishers | Paper publication sites | Best journal to publish research paper | Research paper publication sites | Journals for paper publication | Best international journal for paper publication | Best journals to publish papers in India | Journal paper publishing sites | International journal to publish research paper | Online paper publishing journal

© 2022, International Journal for Research in Applied Science and Engineering Technology All rights reserved. | Designed by EVG Software Solutions