Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

ARCHIMATIX PRO Node-based Parametric Modeling for Unity [Unity Awards Finalist]

Discussion in 'Assets and Asset Store' started by roryo, Jun 4, 2015.

  1. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  2. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    Maybe it could use some special rules for bottom floor, roof, etc.? It seems the gap between procedural and hand modeling is always the brick-a-brack of lighting, signs, doors, sidewalks, etc. Procedural is always great at walls and windows.
     
  3. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Workflows that incorporate both procedural and hand modeling can benefit from the best of both. Of course it necessarily has to go unidirectionally from procedural to hand modeling. In Architmatix, the model can be frozen using the Stamp or Prefab buttons and then turned into a ProBuilder or uModeler model - or imported into Maya.

    For example, this spaceship made in AX (using textures included with AX) could then be banged up in a polygonal modeler and also get some kit bash added.
    Voila_Capture 2016-09-27_02-43-03_PM.jpg

    The benefit of modeling the spaceship procedural is that you can make different versions quickly and then custom tweak them in hand modeling.

    Capto_Capture 2017-01-13_01-18-07_PM.jpg

    If wanted this array of ship variations, it would take a long time to do hand modeling each from scratch since they are not modular so much as unique, but sharing a stylistic DNA.

     
    Last edited: May 4, 2022
    wetcircuit likes this.
  4. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    This week's freebie is JUMBLER

    zz-AX-2DLib-Jumbler.jpg


    toggle randomization. Values are saved in parameters when switched off.
    Edit your own Jumbler to spice your procgen

    example code for:
    random bool
    random int
    random float
    quarter snapping
    -1 to 1
    random range
    download from the AX discord or community.archimatix (link in sig)
     
    Last edited: May 6, 2022
    EternalAmbiguity, roryo and hopeful like this.
  5. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    PlayMaker Actions for Archimatix Pro
    includes:

    Automatic Model Regeneration
    Build Model
    Build Status *new*

    Clear Generated Game Objects
    Get Exposed Bool
    Get Exposed Channeler Index *new*

    Get Exposed Float
    Get Exposed Int
    Get Exposed String *new*

    Get Material Tool
    Get Shape Code
    Model Triangle Count *new*

    Model Vert Count
    Node Vert Count
    Segment Reduction Factor
    Set Exposed Bool
    Set Exposed Channeler Index *new*

    Set Exposed Float
    Set Exposed Int
    Set Exposed String *new*

    Set Material Tool
    Set Shape Code
    Stamp Model *update*


    (version: 0.4b – May 7, 2022)

    (download from community.archimatix.com)


    Tightened up all scripts,
    tweaked the UI on most actions
    Get / Set Exposed Channeler Nodes
    improved Stamp returns the built gameobject
    new Build Status detects whether the model is actively generating or built

    Playmaker is runtime, these actions are for AX runtime models.

    What can they be used for?


      • reduce assetbundle and scene size, generate un-built AX models on the client
      • get/set exposed parameters (no AX runtimecontroller script necessary) – parametric models can be saved and regenerated with minimal data (code-free with EasySave or PlayerPrefs)
      • juice! add a sound effect to Runtime Handles, or a particle effect when a model is built
      • variation with Channelers and materials: change regional styles, player-customization, unlock progressive options
      • monitor vertex count prevent 16bit memory-limit issues
      • enable/disable mesh nodes switch to a low-poly 'proxy-volume' while dragging handles, disable interior geometry, swap a static box-collider mesh to split-concave rigidbody with individual colliders
      • segment reduction bevels, curves, and subdivision are dramatically reduced. A high-poly AX model can be generated/stamped at any LOD. (well, ok, not billboards, lol)
      • skip the parameters and re-write a shape's turtle script create a runtime 'FreeCurve' from screen-clicks. Fetch new shapes from an online library. Generate a daily game level or model. Set all parameters through a control node in 1 string. Access PlayMaker's www, json, text lists, and string parsing.
      • stamp procgen geometry too large/complex/detailed for the AX graph. Add scripts to stamped gameobjects, generate way-point transforms, scatter prefabs, vegetation, props, lights, and other asset's gameobjects
      • Visual scripting and state machines for AX. Mesh generation for PlayMaker
      • All Unity platforms, webGL to whatever
      • Stamped models can be sent to runtime exporters. Make apps that make models!
     
    Last edited: May 10, 2022
    hopeful likes this.
  6. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    How do I modify the color of the Free Curve spline from pink/purplish to another color? Where is the shader located?
     
  7. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    When you say 'Playmaker is runtime' do you mean the Playmaker UI will show in a standalone built project? or is this inside of the Unity editor only?
     
  8. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Some use Archimatix only as a modeler (to build static scene levels/models), these PlayMaker actions won't do anything (much?) for that workflow. (you could stamp a procgen model and copy paste back into the scene… for additional editing with other modelers?)

    PlayMaker state machines only work while Unity is running, so these are for live "runtime models" that AX is generating/destroying at runtime. They run in the Editor too, but only when you hit Play.

    There is no interface for Playmaker outside of the Editor, once you build the project Playmaker converts to C# scripts. (You'd need to buy both Archimatix and Playmaker to use them).
     
    Last edited: May 10, 2022
    SpindizzyGames likes this.
  9. Radivarig

    Radivarig

    Joined:
    May 15, 2013
    Posts:
    92
    Where is this vertex color option?
     
  10. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    Is it possible to instantiate and add a new FreeCurve to ShapeMerger at runtime in a build?

    EDIT: Oops - I missed that this question was answered two years ago. Never mind :)
     
    Last edited: Sep 1, 2022
  11. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    So FreeCurve3D is still incomplete? no per joint rotation?
     
  12. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    So I've figured out how to create nodes in runtime. How do I attach input/outputs to it?

    AXParametricObject shapeMerger_po = model.createNode("ShapeMerger", false);

    ShapeMerger shapeMerger_gener = (ShapeMerger)shapeMerger_po.generator;

    Is this the correct way? how do I attach a FreeCurve to it?
     
  13. MrZeker

    MrZeker

    Joined:
    Nov 23, 2018
    Posts:
    227
    Hello
    I bought the asset and when imported in unity 2021 LTS I get errors on the console that I'm missing "Spline"

    Where do I get this missing stuff?
     
  14. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Hi, imho the benefit to FreeCurve is the Editor interface. I haven't found a convenient way to 'freecurve' at runtime since it doesn't have nice parameters.

    I've made 'dynamic' turtle scripts with a text parser and then load the script onto a 2D Shape node (where a freecurve would be used) using my playmaker actions – turning screen clicks into turtle XY positions.

    Maybe that idea will help you get an idea how to do what you're trying to do
     
  15. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Sounds like maybe an asset conflict. It's not an error I encounter when adding AX in 2021.
     
    hopeful likes this.
  16. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108

    Im trying to instantiate + link Parametric Objects at runtime
     
  17. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    And I'm suggesting an alternative to the freecurve node that you could use at runtime.
     
  18. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    How can I instantiate a model from an .axobj file at runtime?
     
  19. Absinthe23

    Absinthe23

    Joined:
    Feb 1, 2015
    Posts:
    16
    Hi. I'm following the tutorials and in those videos the instructor always has more geometry controls visible in the scene than I do when I have the same node selected, e.g:



    I'm using the latest version of Archimatix Pro (1.3.3) on Unity 2021.3.7f; has something changed since those video's were made, or am I missing a setting somewhere?

    Also in the video a shape merge is automatically created and connected when connecting a second shape to a lathe, that doesn't happen in my version.

    Thanks.
     
    Last edited: Sep 21, 2022
  20. wholebitmedia7

    wholebitmedia7

    Joined:
    Mar 8, 2018
    Posts:
    8
    Can anyone tell me what I am doing wrong with this simple setup trying to cut lines in half with a group of circles to extrude them? My screen goes grey or freezes up. In this case each time I extrude the object extrudes then disappears. Is this a reinstall issue?
     

    Attached Files:

  21. KingfisherWyvernStudio

    KingfisherWyvernStudio

    Joined:
    Oct 5, 2011
    Posts:
    323
    You're screenshots seem to a bit too small to actually see which handles you're talking about. It can depend on what you have actually selected.
     
  22. Radivarig

    Radivarig

    Joined:
    May 15, 2013
    Posts:
    92
    Where can the vertex color option be found @roryo ? Thanks
     
  23. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    As many of you know, Archimatix does not have 3D booleans. All boolean operations need to be done in 2D before using the resulting Shapes in the Mesher nodes. How then to create buildings with wall openings for windows and doors? There are two methods. One is to have each wall face be an extrude that is turned 90 up. An excellent example of this is @wetcircuit's tutorial here.

    This method was also used here. It is easy when there are no wall corners.

    Capto_Capture 2016-05-07_05-46-36_PM.jpg


    Another method is to build up layers of extrudes from plan shapes that have holes cut in them. One layer is the plan with the door cutout. A middle layer has the door and windows cut out and a third, top layer, is an extrude of the plan without any holes cut.

    BuildingWithWallOpennings.gif

    Here is the graph for this model:

    Screen Shot 2022-10-16 at 3.55.15 PM.png

    You can add as many wall openings as you like, including ShapeRepeaters for evenly space windows.

    This model was done using the layers method and the PlanRepeater2D:
    image.jpeg
     
    Last edited: Oct 18, 2022
    Jshh and Dr_Evanzan like this.
  24. Jshh

    Jshh

    Joined:
    Sep 14, 2019
    Posts:
    38
    Thanks for this, it's very helpful! I recreated a simple example to make sure I'm getting it, and found a bit of an issue with my UVs- when I cut holes in my wall layers for doors and windows, the change in surface area shifts the UVs around:

    upload_2022-10-18_17-50-23.png

    Is it possible to shift my UVs in Archimatix? Or set the caps to be non-continuous? Or is there some other workaround you'd suggest?

    Many thanks
     
  25. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    yes, every mesh node has a Material Tool. If you leave the material slot empty it will inherit the material from it's grouper or from the default material on the AXModel...

    On the Material Tool are Shift and Scale parameters for U and V.
     
  26. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    In general, the layered approach works best with textures like brick (as in the above example), shingles or clapboard, where one wouldn't notice the seams as easily (or with no texture at all on more cartoony shaders). A grid is a tough texture for the layered approach since your eye expects vertical lines to match up. But what @wetcircuit suggests works with any texture, though it requires a bit more shifting and positioning.

    If it is very important to have a monolithic texture cover the entire facade, then the approach of creating each facade piece as a 2D element and extruding is the way to go. The benefit of that method is that you can make some pretty distinctive facades:

    image.jpeg

    image.jpeg

    image.jpeg

    This example is done with the 2D facade extrude and the walls assembled:
    image.jpeg
     
    Last edited: Oct 20, 2022
    Jshh and hopeful like this.
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Also, many building types don't have"punched-hole" windows at all, but rather a ShapeRepeated or GridRepeated module. Here are some examples of that:
    image.jpeg
    image.jpeg
    image.jpeg

    image.jpeg
    image.jpeg
     
    Last edited: Oct 20, 2022
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Here is another example where there are no boolean cutouts for wall openings, only modules repeated with PlanRepeater:

    image.jpeg image.gif

    image.jpeg
    image.jpeg


    And building up elements:

    image.jpeg
     
  29. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,394
    The user guide button doesnt see, to do anything.
    Also no errors

    latest archimatix and unity 2021 versions
     
  30. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for reporting this, @DevDunk. On looking into this, I see that Unity can no longer open a local PDF file. For now, I have replaced the Button in the startup window with text displaying the path to the file.

    /Assets/Archimatix/Documentation/UserGuide.pdf
     
    DevDunk likes this.
  31. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The demo scene for the ImageShaper node has been fixed and will be included in the update to be posted tomorrow. The ImageShaper vectorizes a Texture2D based on its alpha channel. The Shape it creates can them be used in Extrudes and Lathes, providing a fast method for generating props that can be used outside Architmatix (on sale now!)

    ImageShaperNode.png

    Screen-Shot-2021-05-07-at-5.50.11-PM-2048x1170.png
     
    Dr_Evanzan and hopeful like this.
  32. plan-systems

    plan-systems

    Joined:
    Mar 8, 2020
    Posts:
    43
    Hi friends, I recently bought this as it looks impressive.

    I added 1.3.4 in a new fresh 2021.3.16 URP project. Unfortunately, every demo scene I open is super broken and I'm in pink shader hell (presumably b/c I'm using URP).

    Given that URP is the future, is there any reason why Archimatrix isn't set up for URP by default? Hopefully you get that many folks will not tend to want to use (or trust) your plugin at all if their first experience with it is pink shader hell in URP. Basically, it's a sign the author isn't focused on URP compatibility and QA, so of course any dev worth their salt won't use an asset where QA for URP is not the priority. Or at least provide a URP patch that makes a pass and sets shaders appropriately.
     
  33. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,866
    Wow... entitled much?
    Basically it's a sign of you don't knowing that:
    1 - any asset not specifically stated as compatible with URP and HDRP is made for Built-In Render Pipeline ONLY.
    2 - you can migrate any standard Built-In Renderer material that uses Unity's Standard Shaders automatically using the built-in wizard. CLICK HERE TO LEARN HOW.
     
  34. KingfisherWyvernStudio

    KingfisherWyvernStudio

    Joined:
    Oct 5, 2011
    Posts:
    323
    In addition to what @atomicjoe already said, there are still lots of devs who actually decide to work with the built-in RP because that way their game is for a wider audience.
    Also, I know Rory (the dev) is working on AX2. I don't know if he'll include URP/HDRP in that, but in essence, it's easy to convert all materials AND shaders to URP and HDRP (I know, cause I've done it several times for my projects with HDRP settings).
     
    hopeful and atomicjoe like this.
  35. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,886
    Because it's "the future" and not the present. I say "the future" because Unity could cancel it at any time. It will take at least 3 years before it's near built-in quality. No sane developer "worth their salt" would use anything apart from Built-In or HDRP.
     
    atomicjoe likes this.
  36. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @plan-systems - thanks for getting AX and welcome aboard! While the suggestions here are a good start (especially to use the automatic URP converter), you are correct in that many people new to AX but unfamiliar with URP conversion would find the pink shaders alarming. I will add a set of materials using URP and HDRP shaders and create separate folders with example scenes that use those.
     
    chelnok, shikhrr and hopeful like this.
  37. plan-systems

    plan-systems

    Joined:
    Mar 8, 2020
    Posts:
    43
    What are you defending? That assets sold for money shouldn't be bothered to make a statement that SRP is their priority? You may want to know you're talking to before you throw around insults btw.

    Perhaps actually try that before you insult someone about not trying it. Needless to say, there are multiple errors and warnings when doing so. And to my point earlier, anyone shipping a URP project will (accurately) access that URP in Archimatrix support is not a priority, and that's ok. Contrary to your opinion, I give assets the benefit of the doubt and assume they will say what they do and don't support out of the box.

    Your point is taken about SRP being mature, but it's strange to me to speak as if URP is experimental, when -- as an architecture -- is clearly the long-term winner. For example, consider ray tracing, unconventional lighting models, mobile hardware considerations, or other adaptive modifiers. Not everyone is using Unity to make games for desktop.
     
    Last edited: Dec 22, 2022
  38. plan-systems

    plan-systems

    Joined:
    Mar 8, 2020
    Posts:
    43
    Hi friend, thanks for your consideration. I think what you're doing is impressive and pairs well with we're doing here, particularly the dynamic/runtime based generation. Happy to support projects like this and where it can go, but URP does matter to us. If/when URP is an equal focus, we'll be happy to reevaluate it for sure. Hopefully my feedback makes sense though -- it helps URP people to know what to expect ahead of time (and we all know what reactions we feel to products that come out of the box un an unhappy state).
     
    Last edited: Dec 22, 2022
  39. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Hey, I'm curious if it's possible to use Archimatix for runtime procecural generation type stuff. Example - I've got a sort of building template/prefab with the FloorRepeater - it'd be cool if I could create instances at runtime that have different numbers of floors, or other more conditional stuff (like how many windows there are (aka "holes" in a shape from a shapemerger) or their position).

    Is that possible at all?
     
    FlightFight likes this.
  40. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yes. Archimatix calls this 'runtime models'.
    search the docs or these forums.
    there's also a discord and community downloads/tutorials (link in my signature)
     
    EternalAmbiguity likes this.
  41. Micuda

    Micuda

    Joined:
    Nov 11, 2016
    Posts:
    12
    Hey guys! First time I'm using this tool, seems really cool! I'm just curious whether it is possible to use my own mesh/prefab as a base model for parametric generation. For example using my object as a input node to any repeater.

    Is it possible? If so, how can I do it? Thanks in advance for help!
     
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    One of the nodes is called Prefab Instancer
    That node has an input slot for a Unity prefab and can be routed into a Repeater node.
    Repeaters have a slot to assign the terrain, so your prefabs will align to the height of the terrain.
     
    Micuda and hopeful like this.
  43. macube

    macube

    Joined:
    Jul 16, 2017
    Posts:
    37
    On Unity 2021.3. (URP) I consistently receive an error message when attempting to right-click on empty space in the Graph Editor of Unity 2021.3 (URP).:

    Menu Tools/Archimatix Nodes couldn't be found

    EDIT: Unity 2020.3 has the same problem...
     
    Last edited: Feb 25, 2023
  44. Mastashion

    Mastashion

    Joined:
    Sep 12, 2021
    Posts:
    1

    Same in Unity 2021.3.16f (HDRP)
    Does anyone have solution about this issue?
     
  45. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,509
    Me too, 2021.3.16 as well (not HDRP).
     
  46. Funtyx

    Funtyx

    Joined:
    May 3, 2017
    Posts:
    29
    Can you please tell me how to create such a form, consisting of 3 materials?

    upload_2023-5-16_15-34-33.png
     
  47. wholebitmedia7

    wholebitmedia7

    Joined:
    Mar 8, 2018
    Posts:
    8
    I haven't been in there in a while so hopefully someone can be more technical with the explanation but you can use one box outline and cut one end away with another smaller box. Use the missing end to make extrusions to any height or width using the transform to move them where you want. Also extrude the first box to the overall height of the 4 extrusions of the end structure, one for each sill, another for the two vertical slats of the frame and then the window.
     
  48. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
     
  49. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    383
    I was thinking they needed the blue object as 4 items because they show the miter lines.
     
  50. Funtyx

    Funtyx

    Joined:
    May 3, 2017
    Posts:
    29
    I created it using this method, but here I got duplicate meshes after exporting to FBX. Ie a lot of extra hidden geometry.

    Thanks for your method, I applied and added ShapeOffsetter to it, but after exporting the geometry, I see duplicate geometry in Blender. How to get rid of duplicate geometry? Or is it impossible to export a model from Unity with the standard Fbx Exporter? For what I'm doing this, I wanted to make sure that everything is in order with the geometry after creation.

    And is it possible to combine 3 extrude data into one geometry?

    upload_2023-5-17_0-38-12.png

    upload_2023-5-17_0-57-5.png