Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    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
    shared 2 free wall-topper nodes on the discord over the weekend. download them there.

    Screen Shot 2020-09-27 at 10.45.10 AM.png

    Screen Shot 2020-09-27 at 10.30.28 PM.png
     
    frbrz likes this.
  2. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Thanks so much for this! It was very helpful and easy to follow. Is there a way to have the separate mesh parts become individual submeshes? Basically I need each segment to be it's own gameobject to de/activate it through code. Thanks!

     
  3. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I'd probably use an animated material.

    I can think of many ways to do it on an AX graph, but it's a bit 'chicken-or-egg' depending on how/what you need to control….
    Do you actually need 20 game objects (with 20 transforms and 20 draw calls)?
    do you need 20 bool on/off switches on a runtime model so you can create specific gaps, like Brick-Out?
    Do you need a 'chase' effect around the circle just for animation?

    Instead of merging the triangle with linear-repeated rectangles, add 1 masking rectangle (before it is circle-deformed), copy/paste for each gameobject and adjust the mask (wire it all up if you need it to be parameter controlled).
    Screen Shot 2020-09-30 at 9.18.54 AM.png
    Connect the node chains to a grouper and deform the grouper with the circle.

    EDIT:
    Whoops! the plan deformer merges all the individual meshes,
    Screen Shot 2020-09-30 at 9.34.14 AM.png
    so (chicken-or-egg) you need to create the circle-deformed triangle and then mask it into the individual meshes. Sector Shape might make a better mask than a rectangle in that case.
     
    Last edited: Sep 30, 2020
    christougher likes this.
  4. frbrz

    frbrz

    Joined:
    May 10, 2016
    Posts:
    76
    Very cool videos, very informative. Downloaded them all.
     
    hopeful and wetcircuit like this.
  5. phoenixian

    phoenixian

    Joined:
    Apr 27, 2017
    Posts:
    25
    wetcircut, I see that you gave a good review on UPGen. Would you recommend it? What are its pros and cons, especially in regard to Archimatix?
     
    wetcircuit likes this.
  6. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    There's 2 parts to it:

    an 'auto-GI' light that's like a dynamic light (raycasts create tinted 'bounce' lights). It's fun, there is a lag, but it allows you to turn down ambient lighting. It would be perfect in a maze or procedural dungeon…. Here is an Upgen 'flashlight' on my procedural village:



    the other part is called the 'fast lights'. they are no-shadow lights with a wide fall-off. the idea is to cluster them as fake gi. I added some to a prefab node and positioned them along a narrow canyon, sky blue for fake gi skylight…
    Screen Shot 2020-08-17 at 10.56.36 AM.png
    if you know where a window will be, or a light, you can arrange fast lights around it with prefab nodes – these are not automatic to the environment but could be controlled by script/playmaker to set their color/inensity in some way.

    No cons, really. The raycasts slow things down, but the fast lights didn't hurt framerate. the only issue is they only show as a post-processing layer, so I had to go through some hoops to get them to show in my reflection probes (render textures and cube cameras).

    I like the look of fake gi… :p it is a little stylized and not quite real. I don't think anyone will be fooled that it is 'ground truth', but looks clean. I think the advantage of upgen is you can use a lot of them at low intensity, arranged like in the way you might arrange light probes.

    This was my archimatix cornell box (lol). they can show your vertices because the light is very smooth:
    Unity - Main Camera 2020-08-30 at 19.05.46.png

    with an outline/contour effect
    Unity - Main Camera 2020-08-30 at 19.06.36.png

    It's definitely part of my AX toolkit now. We can't lightbake runtime models…. In some ways upgen is better because you can do things like faked-perspective (light falloff gets shorter in the distance), and there's no easy way to swap bake maps for blinking lights, etc.
     
    BCFEGAmes and phoenixian like this.
  7. jnoelcook

    jnoelcook

    Joined:
    Oct 5, 2020
    Posts:
    13
    Roryo,

    Incredible work! I just bought your fine work a couple weeks ago.

    Question: Could you (or anyone) explain if it's possible to create something like a "stadium repeater"? Is there a way to combine the radial repeater and the stair repeater or something. The effect desired effect would be something like this...

    upload_2020-10-15_17-55-42.png

    The image above I get by copying and repeating extrusions. But this not practical for more than a few copies. This would be a great feature, as I would love to make stadium type models. Using the SprialStepShape and tying the radii to the others is the best way I can figure out. But not practical, as the timing slows quickly.

    Any help would be great.

    Again, phenomenal work!

    Jeff
     
  8. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Rory had posted pics of a stadium a while back… Thought it might be good for inspiration, but I didn't find it diving back into the 75pp of Unity forums… :rolleyes:

    there's probably 1000+ ways to make any model. Using just extrudes is going to be limited.
    I'd probably start with Lathe and one of the step shapes, or a PlanSweep and one of the step shapes.

    :cool: Here's a public invite to the discord if you'd like to post WIPs and get advice
    invitation
     
    jnoelcook likes this.
  9. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    The Archimatix community never fails to impress me
     
  10. phoenixian

    phoenixian

    Joined:
    Apr 27, 2017
    Posts:
    25
    Anyone know where can I find an archived copy of Archimatix version 1.2.2 ? Need it so I can diff with the latest version and get a better picture of what I need to do to port my modifications to the source over.
     
  11. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi and welcome aboard, @jnoelcook - here is a link to the stadium example that @wetcircuit mentioned.

    It is really just a Stair Shape extruded around a semicircle Plan. The track is PlanExtruded around a Losenge Shape. The upper tier is a Stair Shape extruded around a shorter sector of a circle and then fed into the Cell Input of a RadialRepeater while the arched portal is fed into the Node Input of the same RadialRepeater.
     
    jnoelcook, hopeful and wetcircuit like this.
  12. phoenixian

    phoenixian

    Joined:
    Apr 27, 2017
    Posts:
    25
    roryo can I get an answer? Where can I find an archived copy of 1.2.2 ?
     
  13. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @phoenixian - I just uploaded it to the slack.
     
    phoenixian likes this.
  14. phoenixian

    phoenixian

    Joined:
    Apr 27, 2017
    Posts:
    25
    how do I access the slack?
     
  15. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    (*Pssst: sneak peek at new features coming in Archimatix, over on the discord…:invitation )

    also lots of projects going on...



     
    roryo and hopeful like this.
  16. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Although Robot Kyle is happy that the new ImageShaper node can quickly prototype chain mail from an image, he would not go as far as to say that this armor makes him quite battle-ready!

    Screen Shot 2020-11-10 at 11.42.17 AM.png

    The new ImageShaper node in the upcoming 1.2.9 release of Archimatix traces the alpha channel of an image to make a 2D Shape. That shape can then be fed into Meshers such as a ContourExtrude.

    zz-AXNode-ImageShaper.jpg

    Another example is this Greek vase, where the ImageShaper output is cut in half and then fed into a Lathe node:

    Screen Shot 2020-11-03 at 3.35.22 PM.png
     
    hopeful, MasoInar and wetcircuit like this.
  17. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    New tutorial :
    DOME AND ROOFTOP part 1: 'Section and Style'
    an update to my old Dome and Rooftop pdf, but with LOTS of parametrics.



    Part 1 is about creating the SECTION of a basic roof model, adding custom parameters, expressions, and a wee bit of turtle script.

    There are chapters in the video, if you watch it on youtube:
    0:00 DomeShape and Lathe
    4:20 width/height ratios
    9:50 span
    16:30 oculus
    23:00 half-dome
    27:16 pitched roof
    30:40 Faceted, Continuous-U
    35:25 mansard
    39:00 flat roof
    42:30 turtle script
    46:40 tent roof
    49:30 neo-baroque
     
    roryo likes this.
  18. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    DOME AND ROOFTOP part 2: 'Stick to a PLAN'



    In part 2, expressions on the PLAN create a fully-parametric hip and valley rooftop

    0:00 Lathe vs Circle
    5:30 PlanSweep
    8:00 FreeCurve
    11:50 Rectangle
    15:40 parametrics
    22:36 hip roof
    25:20 hip and valley
    29:20 dormer PlanRepeater
     
  19. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Black Syphon - UltraStudio Mini Recorder 2020-11-12 at 07.50.23.png
     
    Last edited: Nov 12, 2020
    roryo likes this.
  20. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Nice work, @wetcircuit! The edging details like the cornice and the roof hip corner moldings add to the realism.
     
    wetcircuit likes this.
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Of course the dormers need overhanging roofs as well. :rolleyes:
     
    wetcircuit likes this.
  22. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    :p IT NEVER ENDS!!!! :confused:

    Window? put a little house around it.
    Entrance? put a little house around it
    2nd Floor? Additional Wing? Bay Window?

    Architecture is just little houses all the way down…. :eek:
     
    Last edited: Nov 13, 2020
  23. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Architecture is fractal!
     
    BCFEGAmes, hopeful and wetcircuit like this.
  24. knas01

    knas01

    Joined:
    Feb 24, 2018
    Posts:
    236
    Hi, I just found out about this asset and have a few question.

    Is it possible to decorate with your own meshes in the node builder?

    Can you create wires/cables/pipes etc. that crawl along the geometry, or even hang between two points or hang unconnected straight down, or maybe in a huge bundle?

    I feel some similarities with this assets and 3d fractal generators so it made me curious. :D
     
  25. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    yes. there is a Prefab node, allows Ax to instantiate prefabs along with its own geometry.

    i have a tutorial video: Archimatix: Chains Ropes and Wires
     
  26. knas01

    knas01

    Joined:
    Feb 24, 2018
    Posts:
    236
    wetcircuit likes this.
  27. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  28. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    timelapse: stamping variations into a scene

     
    roryo likes this.
  29. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  30. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Witchcraft! Witchcraft I say! (In a good way lol) :)
     
    hopeful and wetcircuit like this.
  31. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  32. MikhaskoS

    MikhaskoS

    Joined:
    Jun 24, 2018
    Posts:
    52
    Hi. Thank you for the fantastic editor.
    All versions of Unity have issues with markers. For example, in the Lathe (drawing). It may be related to localization, because I don't see this problem with other guys.
    Arch1.jpg
     
  33. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    If you want a tube with inside and outside surface, open the output shape on your circle and add thickness.
     
  34. MikhaskoS

    MikhaskoS

    Joined:
    Jun 24, 2018
    Posts:
    52
    No, I don't need a pipe :) In the screenshot, I tried to show that when the shape changes, the surface disappears. And there are no markers.
     
  35. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    from here, it looks as if your model needs to rebuild.

    Screen Shot 2020-11-20 at 11.36.40 AM.png Screen Shot 2020-11-20 at 11.37.49 AM.png
     
  36. MikhaskoS

    MikhaskoS

    Joined:
    Jun 24, 2018
    Posts:
    52
     
  37. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Afraid I don't know what 'markers' you are referring to.

    You don't show your graph so I am forced to guess. Maybe the lathe's input is set to 'open' shape when it should be closed?

    Join the discord if you want a bit more realtime help. more convenient to post screengrabs and chat about the interface there: invitation
     
  38. MikhaskoS

    MikhaskoS

    Joined:
    Jun 24, 2018
    Posts:
    52
    markers, handles, gizmos - i'm sorry, I might be wrong about the terminology.
     
  39. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @MikhaskoS - yes, it does seem that the Sweep Angle handle has gone AWOL. Thanks for noting this. *heading into the code to see where it has gone...*
     
  40. MikhaskoS

    MikhaskoS

    Joined:
    Jun 24, 2018
    Posts:
    52
    Thanks. When two Shape objects were attached to the Lathe panel, ShapeMerger was created automatically. Now it doesn't work (maybe I do).

    PS. It's very difficult to work with move gizmo for shape (I don't think it works at all - moving along one axis)
     
    Last edited: Nov 21, 2020
  41. colin_young

    colin_young

    Joined:
    Jun 1, 2017
    Posts:
    243
    Just started to play around with this today. Had my eye on it for some time, but had to wait until I finished some other things first because I _know_ I'm going to spend way too much time playing with this and not getting anything "productive" done... :)

    I've come across what I assume it a bug: if I take the output from (so far grouper or linear repeater) and plug it in to 2 replicants (at least, haven't tested with anything else yet), every time the model regenerates it also places a copy of the parent to the replicant, in this case grouper or repeater, in the main game object tree. That's in addition to the one that is placed under the AXModel GO. If I disable one of the replicants I do not see that behavior and I can delete the "extra" GOs without any seeming harm.

    Unity 2020.1.13f, Archimatix 1.2.7 (Current), Mac OS Catalina

    Off to play some more...
     
    hopeful and wetcircuit like this.
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Confirming this bug: 2 replicants will 'leak' the replicated mesh into the hierarchy with each rebuild.
    (doesn't need to be a grouper)
    Screen Shot 2020-11-22 at 11.32.35 AM.png
     
    hopeful and colin_young like this.
  43. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for pointing this out, @colin_young. The Replicant is a beta node at the moment. Its purpose is to be a copy in which you can alter the parameters. I will take a look at the repeated original bug.
     
    colin_young and wetcircuit like this.
  44. colin_young

    colin_young

    Joined:
    Jun 1, 2017
    Posts:
    243
    Another bug report: it seems others have reported similar issues, but the JSON output of the library components is invalid. So far, I am seeing properties like:

    Code (JavaScript):
    1. {"property": , "property2": "prop 2 value"}
    where "property" needs to explicitly provide a value (in this case either
    null
    or an empty object:
    {}
    .

    Also, bad Boolean definitions:
    Code (JavaScript):
    1. "property": False
    Correct value should be
    false
    (all lower case). I'll also note that there is some inconsistency in representation of Booleans in the JSON. Most of the time they are strings, but sometimes it appears an attempt is being made to output them as Boolean in the JSON output, which is where the errors are encountered.

    I also noticed people are have had issues with culture-specific decimal characters (comma vs. period), and that seems to be an issue inherited from the SimpleJSON library. It appears you are using an older version of that library. I believe that issue is fixed in the most recent version.

    Obviously not a critical issue since it seems Archimatix is able to handle the format, but it's a pain if you want to open up the underlying JSON and poke around a bit since the standard tools will refuse to work with it. I know I'm being a bit picky, but my day job involves (amongst many other things) dealing with a lot of data interchange between many systems, a lot of it using JSON. Adhering to a standard vastly simplifies things, including maintaining the codebase since it becomes possible to update to the latest versions of libraries since you are not attempting to maintain backward compatibility with non-standard hacks.
     
    MikhaskoS likes this.
  45. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for pointing this out, @colin_young - I will look into upgrading SimpleJSON and test the results in a JSON validator. I should be able to get this into the forthcoming version of AX.
     
    colin_young likes this.
  46. colin_young

    colin_young

    Joined:
    Jun 1, 2017
    Posts:
    243
    Nice!

    I don't normally lint my JSON (because I rely on the JSON library I'm using to have done the right thing), but it might be worth doing so in this case. It might be worth adding unit tests for the output and making sure a known-good JSON parser such as Newtonsoft or System.Text.Json can read it to help catch these sorts of errors. I haven't experimented with trying to get either of those working in a Unity build environment, but I imagine it should be possible, although it might require spinning up a test runner outside of Unity.
     
    roryo likes this.
  47. colin_young

    colin_young

    Joined:
    Jun 1, 2017
    Posts:
    243
    Another bug report (sorry!). This one will be a little long to explain, but hopefully the pictures make it clear. I'm trying to use the difference and intersection rails as inputs to different plan repeaters, which I eventually wanted to group. When I tried grouping, things went pear-shaped, but I think I figured out part of the issue. Step one was to run the outputs through a shape distributor. The inputs to the Shape Merger are 2 rectangles forming a sort of cross. Those are coming from shape distributors themselves. First attempt was clicking the output, then clicking the shape distributor, resulting in the following (this was the same behavior I saw with the group):
    02-Difference_Rail_Shape_Distributer.png
    04-Intersection_Rail_Shape_Distributer.png

    Note the differences between the difference and intersection rails in the Shape Merger vs. the Shape Distributor. The difference is "rotated", i.e. it is the right shape but picked one wrong edge and skipped the correct one, and the intersection is empty. When I manually add the Shape Distributors and hook them up to the outputs, it works:
    06-Shape_Distributor_Final.png

    When I now try to group the 3 objects (1 extrude and 2 plan repeaters), the grouped items behave like the original attempt (i.e. using the "wrong" versions of the shape distributors even though they are showing the correct thumbnail).

    Let me know if you need any additional details.
     

    Attached Files:

    wetcircuit likes this.
  48. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    it's related to the idea that certain outputs on the shapemerger are inherently 'open' (non-manifold), and others are 'closed'.

    In your screengrabs you have an 'open' output (rails, I think) connected to a 'closed' input (agree the results are weird and unwanted, especially since it seems to pick a specific side to leave open…).

    A fix would be to 'open' the connected input, or in otherwords toggle the open/closed icon at the inputs and outputs…. This may not get you the shape you want, but it will help to understand why it's doing it.
     
  49. colin_young

    colin_young

    Joined:
    Jun 1, 2017
    Posts:
    243
    Thanks. Unfortunately, flipping the open to closed just makes it work the wrong way. I would definitely classify this as a bug. Something that works independently should not stop working simply because it is placed inside a grouper.
     
  50. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    383
    The yellow engines are a main unit fed into a Radial repeater and all supposed to rotate inward on their own local X axis. I do not want to work with exposed node parameters as they get dropped when you stamp or prefab your Ax model. I have a empty gameobject with a rotator script component attached.
    I have the empty gameobject as a prototype in the node panel of the inspector.
    As can be seen the engines all rotate on the Radial Repeater axis but in their local space instead of their own X axis. Weird.
    In the inspector panel you have the choice of a prototype entry in the Radial repeater or the main unit.
    I chose the main unit/sub entry.
    The only thing I can think of is the empty gameobject in the repeater isn't fully instanced. The code that is executing is the input to the Radial repeater and not the code on the game object itself.
    The last and only workable option I see is to click the ax prefab button and code against the exposed parameters.

    upload_2020-12-4_12-19-27.png
     
    Last edited: Dec 8, 2020
    roryo likes this.