Search Unity

Assets [BETA]OPRA Advanced - Advanced tool for procedural generation.

Discussion in 'Works In Progress' started by SwallowsBeak, Jan 5, 2018.

?

Do you want to see "OPRA Advanced" in the Asset Store?

  1. Yes

  2. Perhaps

  3. No

Results are only viewable after voting.
  1. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    !!!!!!!!----- IMPORTANT -----!!!!!!!!!!
    Now, while my program is not a release, every update I will publish here with one key to activate OPRA Advanced in AssetStore. Do not miss the next update and publish a new key.
    OPRA Advanced v0.9.2. Key: ASV-6AMY-C4CG-U7WL-7ATM-LUXM (activated)
    OPRA Advanced v0.9.3. Key: ASV-AH4J-XPYG-DLKX-JYWT-7PXV (activated)

    Object Position Randomization Algorithm (OPRA) is an advanced tool for procedural generation of objects. OPRA provides the ability to create an algorithm using a powerful, convenient and flexible editor. The working environment in the editor is implemented by the node system. Due to this, the user is not limited to strict frames. With the help of this system, it becomes possible to create algorithms of varying degrees of complexity, from the simple location of objects along the function curve, to the generation of entire blocks of very complex buildings, each element of which, such as a window, door, roof, foundation, their location, size, rotation - absolutely all elements and their criteria can be controlled by the algorithm.

    Update v.0.9.3 (09.04.2018)
    Improvement:
    - Added the Curves System
    New Nodes:
    - ABC By Count By Name
    - ABC By Distance By Name
    - ABCBOA By Count By Name
    - ABCBOA By Distance By Name

    Update v.0.9.2 (25.02.2018)
    Improvement
    -Added the first Changeable Nodes for for changing generation variables in Real Time Generation.
    -Added "Command" support for changing values in "Changeable Node" by key.
    -Added "Command" support in Generation() method overload.
    - Improved stability.
    - Improved optimization.
    New Nodes
    - Changeabel Integer
    - Changeabel Float
    - Changeabel String
    - Changeabel Object
    - Changeabel Target
    - To String
    - Concatenation
    Fixes
    -Fixed windows names
    -Fixed windows sizes

    Update v.0.9.1 (12.02.2018)
    Improvement
    - Added "Real Time Generation" function. To do this, we needed to change the location of the folders. And change the core and editor of OPRA. Your old algorithms will not work on this version of OPRA.
    - Added Generate Selection function to generate multiple OPRATarget at once in the Unity editor.
    - Improved stability.
    - Improved optimization.

    AssetStore: https://assetstore.unity.com/packages/tools/modeling/beta-opra-advanced-108899

    ArtStation:
    OPRA Advanced v0.9.0: https://www.artstation.com/artwork/xVXwO
    OPRA Advanced v0.9.1: https://www.artstation.com/artwork/v64xY
    OPRA Advanced v0.9.2: https://www.artstation.com/artwork/lk1ke
    OPRA Advanced v0.9.3: https://www.artstation.com/artwork/mNALe

    YouTube:


    OPRA Advanced v0.9.3
    MajorUpdates_Curves.png
    OPRA Advanced v0.9.3
    MajorUpdates_Anchors.png
    OPRA Advanced v0.9.3
    Fence_Curve.png
    OPRA Advanced v0.9.3
    Bridge_Curve.png
    OPRA Advanced v0.9.3
    Tile_Curve.png
     
    Last edited: Apr 11, 2018
    DrOcto, jovino, Mauri and 3 others like this.
  2. derik-3dmax

    derik-3dmax

    Joined:
    Feb 9, 2013
    Posts:
    1
    It's look so very grade! Shut up and take my money!!!
    p.s. Possible placing objects along curves, as in Houdini?
     
    jovino likes this.
  3. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    We have plans on this issue. Unity provides all the possibilities for creating this function in OPRA.
     
  4. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    368
    Do the buildings have internal parts? Is that possible?
     
  5. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    Yes it is possible. You can control and create any elements of any complexity.
     
    Flurgle likes this.
  6. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    255
    its cool! placing things randomly, there are many tools in asset store do something a bit similar, the difference is your tool can create pre-defined shapes/orders..

    the only thing it might interest me to buy it is if i can draw areas or curves.. for example draw a T shape or L shape area and the tool generate a random building around the shape!
     
  7. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    In future updates, I will add the generation using curves. In the plans, add generation using a black and white texture to get the coordinates. But creating generations using a mesh, for example "Generating 100 spheres inside the head of a monkey" or "Generating 100 spheres on the surface of a monkey's head," takes a long time to develop and debug. I really want to add this function to my program, but now I will focus on more important issues. In the update v0.9.2, which will be released next week, I will add the first "Changeable Nodes" to be able to edit any generation parameters for "Generation Real Time".
     
  8. ZhavShaw

    ZhavShaw

    Joined:
    Aug 12, 2013
    Posts:
    121
    I mean, I can't afford it right now.. but obviously this is about to become one of those top assets.
     
  9. Eoku_

    Eoku_

    Joined:
    Sep 11, 2017
    Posts:
    1
    Hey! One question before I buy: Does it/will it do splines? Like, I love the idea of being able to generate non-repeating fence sections, but it would be infinitely more useful if I could then procedurally place them along a path in the same flowgraph.
     
  10. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    Hi. Today I released an update for my program. In it, I added the "Curves System", over which I worked for more than a month. Сheck.
     
  11. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    457
    Do you plan to create tutorials. Is it possible to create railyway tracks and put objects along the sides of path??
     
  12. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    Yes, the lessons will be later. At this moment I'm working on a website and a manual for OPRA.
    And yes, you can create railways, and put objects along the sides of path. But you need to understand that OPRA does not work with vertices on the mesh, and can not deform the mesh, OPRA works with objects. Now, specifically for you, I made a demonstration of generating railways using the "OPRA Advance Curve".
     

    Attached Files:

    Last edited: Apr 19, 2018
  13. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    457
    looks good but is it possible to have different type of objects rather than a single object along path
     
  14. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    You can specify any objects, use arrays, use nested algorithms to get incredible results, and so on.
    OPRA has a very flexible editor and supports nested algorithms. In the process of creating the generation algorithm, you are limited only by understanding how the algorithm works, and how the generation system works. Learning and understanding can take time, but it's worth it. To get the result there will always be several ways. Try it.
     

    Attached Files:

    AthrunVLokiz likes this.
  15. Remolino

    Remolino

    Joined:
    Oct 21, 2012
    Posts:
    5
    Amazing...Esta es mi proxima compra. Espero probarlo pronto me leyeron la mente. Saludos
     
  16. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    457
    Does this work runtime during ingame
     
    dearamy likes this.
  17. jovino

    jovino

    Joined:
    Jun 5, 2013
    Posts:
    19
    Do you have planned a "combine mesh" node?

    Can the splines follow a terrain or, better yet, an arbitrary mesh?

    I think with these 2 features your tool beats some on the best stuff on the modeling section of assetstore, just wonder why didn't see it before.
    Of course, we are going to need examples and helper nodes, but this is awesome already.
     
  18. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    1.Now OPRA does not work directly with mesh and vertices. This function is not a priority at the moment.
    2.Now curves do not have special methods for changing the position of their anchors. But at the moment you can call the methods of curve using a script. For example: find the count of anchors, their position, or change their position, get the length of the curve, get points on the curve by count or by distance and so on. Or create your methods.

    I have many ideas and improvements for my program. I want to make a very high-quality product, but at the moment I can not spend a lot of time of OPRA :(

    Thanks for your comment!!!
     
    jovino likes this.
  19. tom2918

    tom2918

    Joined:
    Jun 4, 2018
    Posts:
    4
    I am looking for a tool that has similar functions as Cinema 4D’s MoGraph, such as Cloner or Tracer, in order to create dynamic procedural graphics that are aligned to the skeleton bones or meshes of moving characters.

    Possible applications:
    1. Generating a spline between the positions of several bone joints and then add objects like spheres or cubes along the spline.
    2. Add objects to the polygon centers of a rigged character mesh.

    The objects should then follow the position and rotation of the character’s mesh/bone structure. Ideally, they could also translate properties like velocity into scale or color, damping position and rotation and inherit the relative scale and orientation of the linked polygon.

    It seems that in Unity, such functions are often used for level design. But as I am new to Unity, I don’t know if it is possible to apply this functions also to dynamically moving meshes or skeleton bones instead of a static ground plane.

    Would this be possible with Opra?
     
  20. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    OPRA has tools for creating algorithms for procedural generation of great complexity, for example, generation in real time, using a large number of variable parameters, but OPRA does not have specialized tools that would satisfy your requirements. But I want to make my program more open and understandable, for more flexible use.)
     
  21. tom2918

    tom2918

    Joined:
    Jun 4, 2018
    Posts:
    4
    Great! The visual style of generative effects becomes very popular and it t would be awesome to have such functions available inside unity. If you look at Cinema 4D's MoGraph, you will find a lot of effect principles that are very close to the one in OPRA, like the Cloner or tracer and its related modifiers. It would be super cool to translate some of this principles into OPRA.
     
  22. Wandersoul

    Wandersoul

    Joined:
    Aug 28, 2013
    Posts:
    33
    I was looking into this asset after seeing it in the store. I had a couple questions from teh description:

    1) It mentions buildings. Can it be used to generate a city layout (grid style)? Is there an example of this?
    2) Can it generate these items are runtime or only during scene creation?
     
  23. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    YES YOU CAN!!!
    Especially for you, I made a demonstration.

    1.Creation generation algorithm:
    1)Create building generation algorithm.
    2)Create block generation algorithm using "building" algorithm.
    3)Create street generation algorithm using "block" algorithm.

    2.Generate in runtime:
    1)Add special "Changeable nodes".
    1.1)In "building" algorithm, add node and set the key value = "SIZE".
    1.2)In "street" algorithm add 3 nodes and set the keys = "SIZE", "WIDTH", "LENGTH".
    2)Сreate a script to generate that will control the generation.
    3)Set the "OPRATarget" that have generation algorithm.
    4)Just call Generate() method as you want.

    1 Steps:
     

    Attached Files:

    NinjaVR likes this.
  24. SwallowsBeak

    SwallowsBeak

    Joined:
    Nov 27, 2017
    Posts:
    11
    2 Steps:
     

    Attached Files:

    StevenPicard, NinjaVR and DrOcto like this.
  25. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    609
    I just saw this in Featured Assets. I didn't notice it earlier because the name "OPRA Advanced" doesn't reveal what it actually does so it didn't grab my eye.

    Definitely looks interesting and potentially very useful for me because runtime procedural generation is a big part of some of my games.