Giter Club home page Giter Club logo

hedera's Introduction

hedera

  • paint 3D ivy in Unity, simulate growth
  • includes textures, shaders, and 5 presets for painting realistic ivy, cartoon ivy, or even ropes and cables
  • curious about vert count / polycount? download sample ivy .OBJ (right-click Save As)
    • merge multiple ivy meshes to save draw calls, or just let static batching work
    • randomize vertex colors for subtle color variation, auto-unwrap ivy UV2s for lightmapping
    • store ivy meshes directly in your project, or export to .OBJ (note: OBJ file format doesn't support vertex color nor UV2)
  • 25+ different ivy settings to tweak for your own presets! guide and user documentation is on the Wiki
  • tested on Unity 5.6.7f1 and 2019.1.8 and 2021.2.0f1 (but probably works ok on other Unity versions too)
  • no HDRP or URP shaders included so you have to swap in your own, but everything else will still probably work OK
  • changelog

installation

  • (recommended) in Unity's Package Manager, add https://github.com/radiatoryang/hedera.git as a Git URL package full instructions
  • or manually download the latest .ZIP from Releases and unzip to /<your project folder>/Packages/com.radiatoryang.hedera/
  • or clone this Git repository as a submodule into /<your project folder>/Packages/com.radiatoryang.hedera/

contributors

  • please post bug reports or (small) feature requests as an Issue
  • Pull Requests are welcome and encouraged

license

GPL2 (due to original author's use of GPL2)

  • You can use the ivy assets / generated meshes and results, with any or no license, in commercial or closed source projects. GPL2 focuses on the code, and does not apply to program output.
  • All code is editor-only and stripped upon build, which (I think) avoids GPL2's wrath. This code basically won't be in your build, which means you aren't distributing it.
  • If you use this code / tool in your own tool AND distribute that tool, then your tool must use GPL2. Note that Unity Asset Store bans licenses like GPL, so no part of this tool can ever be put on the Asset Store.
  • (but I am not a lawyer, this is not legal advice, etc.)

acknowledgments

press

donations

hedera's People

Contributors

alexjhetherington avatar lostearth avatar radiatoryang avatar yangrobertw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hedera's Issues

add assembly definition files? need help

if anyone is an expert at the .asmdef stuff, I can't seem to get it to work... I can get the C# to link together OK, but it falls apart when Unity Editor can't seem to link IvyEditor to IvyBehavior, this breaking the inspector

pull requests are welcome

Export to OBJ not working

Hi,
At the start I wannt to say that this plugin is awesome. I have an issue with exporting to obj. Don't know why, when I press that obj button it ask to hide/delete or not instantiate but when I pressed any of them it saves empty object. Maybe I'm missing something here. My Unity version is 2020.3.4f1.

Issue with Vines

Hi @radiatoryang ! First off, I'd like to say : HATS OFF TO YOU! This is a work of ART! KUDOS to you my brother! PLEASE keep working on this BEAUTIFUL work of art! <3 Second, I'm having a hard time understanding some of the functions being used in some of the code. I am studying the code in order to learn procedural generation of plants & I think that some of these functions may rely on the use of a DLL file. I would like to ask if you could possibly make this DLL-free. In other words, I would like to ask if you could possibly put the Source code of the DLL into Unity CS form. Or if there's some way you could make it an Open DLL? Either way. Anyway, once again, KUDOS to you, my friend & keep on keeping on with this project! It's BEAUTIFUL! <3

Sincerely,

Thundros

v2.0.0 roadmap -- paint grass and trees

This is planned for the far future when I have time again, maybe Summer 2020 -- but it wouldn't be very difficult to expand Hedera to simulate grass and trees, and become a complete foliage solution.

Most of the hard part was figuring out the Unity Editor file architecture and core mesh generation. In theory, grass and trees are just another type of ivy: grass is ivy that spreads laterally and points upwards with no branches, and trees are ivy that branch more readily and grow upwards / avoid walls.

But this is pretty low priority for me -- there's already a lot of grass and tree plugins out there, and skilled Hedera users can already use it to paint trees.

v1.3 to-do list / possible roadmap

not sure when I'll get to these features, if ever, but here's what I'm thinking about for the semi-distant future

  • improve leaf placement
  • add IvyProfile option to generate ivy as one mesh (via submeshes)
  • add IvyProfile option for 32 bit index
  • add IvyProfile + IvyBehaviour option to automatically generate LODGroup
  • (when Unity 2021.2 ships) evaluate if URP or HDRP are mature enough, consider packaging NodeGraph leaf shaders for them

Painting not working in Unity 2020.1.0a17

When I push "paint", click and drag mouse in editor window - nothing happened. I just select objects in editor, like usual. I'm using Unity 2020.1.0a17 and HDRP 7.1.7.

On Runtime?

hi mate hedera great job. congratulations. Is there a way to do this in the runtime and not the editor?

error CS0120: An object reference is required for the non-static field, method, or property 'SceneView.drawGizmos'

Hello, I imported the unity package from Releases into my Unity project (2019.4.8f1). It warned me about obsolete APIs, then I got the following error:
Hedera\Editor\Scripts\IvyEditor.cs(282,18): error CS0120: An object reference is required for the non-static field, method, or property 'SceneView.drawGizmos'

Then underneath it:

Some scripts have compilation errors which may prevent obsolete API usages to get updated. Obsolete API updating will continue automatically after these errors get fixed.

Do you know how to fix this?

Thank you!

Leaf Position is incorrect

Incorrect results when using the Tool. (see the Leafs) any quick Idea how to fix this issue?
(it's the ExampleIvyMeshExport.obj file inside the Example folder)

Hedera Leaf position

Incorrect leaf placement on concave meshes (with solution discussed)

First, thanks for this tool! It's incredible.

I am building a blocky environment out of mesh colliders. Painting Ivy works correctly, but ivy that grows around corners (say across a roof then down a wall) fails to respect the new surface and does not calculate the new adhesion normal.

It results in unrealistic looking growth, and leaves that only respect the initially painted normal.

leaf_flat

It's because of the "find closest point on a mesh collider" logic. It is looking at vertices, and in my case the nearest vertex is very far away (big blocks!).

I have coded a dirty solution for my case : to find the closest point on a mesh collider I send many ray casts outwards from the start point in a rough sphere.

It seems to fix the issue! But obviously it's even slower (by how much I'm not sure).

If you want me to make a PR with my dirty solution let me know :)

leaf_angle

fake issue

I just wanted to upload this GIF here, no actual issue here lol

hedera_paint_demo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.