Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    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. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    Hi @EternalAmbiguity - not directly. AX is the right tool for the right job when the job has an algorithmic sensibility. Often architectural drawings are "autographic", in the sense that they are full of idiosyncrasies and created in a way such that each room has a one-off nature to it. I would think a polygonal modeler such as ProBuilder or uModeler would be more suited to the task. Additionally, if the drawings come from Revit or Autocad, Unity has a tool called Unity Reflect, which ports the data into a Unity model.
     
    Last edited: Feb 21, 2021
    EternalAmbiguity likes this.
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    This is uber-awesome! Bruegel's got nothing on you!
     
    Last edited: Jan 6, 2021
    andyz and wetcircuit like this.
  3. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    packing foam! :D

    I was wondering about that…. because Contour UV maps from +Y and Projector node UV maps from Z…
    :eek: oh wait, I don't need to UV twice… Contour alone would do it using the same material :rolleyes:
    Hmmmmmmm…. ok :cool: back to the laboratory….
     
  4. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    Okay, thanks. I don't have any actual architectural drawings at present, but I'm trying to come up with a workflow for quickly creating flat levels with rooms and that seemed like a way to handle it. The ImageShaper + extrude that @wetcircuit showed might be enough for my needs.
     
  5. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
  6. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    1 MINUTE TUTORIAL

    Randomly shift the UV map vertically in increments of 0.1



    1. a quick addition to my turtle script outputs a random value: 0.1 - 1.0
    set Shift round(rnd(10))*.1


    2. route this value to the material node's vShift parameter
    when this model rebuilds, the UV is shifted vertically a random amount, snapping to 1/10th increments.
     
    Last edited: Jan 12, 2021
    photonic, hopeful and roryo like this.
  7. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    What would you use that for? Different building variations or something?
     
    wetcircuit likes this.
  8. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    Yes. for example: Stamp a bunch of buildings in a row – same model and texture – but help to hide the repetition…

    320_3.gif

    Since they are the same material, Unity can batch these models together.
     
    EternalAmbiguity likes this.
  9. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
  10. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    Sometimes when using repeaters I get weird behavior for just one of my meshes:
    2021-01-15_20-52-14.png
    Any suggestions?
     
  11. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    Looks like you're well under the 65k limit…
    I'd guess the radial repeater is giving a rounding error when converting from float (?) My workarounds would be to try setting radial repeater's TotalAngle to something slightly off 360… like 359.99 or 360.01 (might need to change the Max setting on the parameter).
    Screen Shot 2021-01-16 at 7.14.51 AM.png
    Another option is to adjust the radius by a similarly tiny amount.

    Another option might be to add the shape thickness on a later node (maybe on the output of the repeater – it gives the repeater fewer vertices to calculate against pi
    (shapes would need to be switched to 'OPEN', until they are thickened.)
     
    EternalAmbiguity likes this.
  12. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    Well huh. 359.99 fixed it. Weird.
     
    hopeful and wetcircuit like this.
  13. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    Just fixed a bug in ContourExtruder. Now the UV projection should be better aligned. This will be in 1.3.0 to be sent to the AssetStore in the next day or so.

    ContourExtrude Logos.png

    This example uses the ImageShaper node to generate the Plans.

    ContourExtruder Nodegraph.jpg

    I have also made a manual page for ContourExtruder.

    ContourExtrude550.gif
     
  14. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330


    2D Shape Node: DoubleBezier with 6 scene handles for fast manipulation. Very useful to create organic curves – especially in a PlanDeformer, or repeat models along a road or terrain.

    Additional DoubleBezier nodes can be daisy-chained by connecting start/end X/Y (and reversing the start/end handles) creating a fully parametrized 'free curve'.

    https://community.archimatix.com/share/
     
  15. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    I have a bunch of doors in my game made with Archimatix. They're all in specific positions so I can't use something like a GridRepeater, and they all have separate meshes so i can't just use shapes and extrude later. However, it's cumbersome to modify them because I have to change every door individually.

    Is there a node that essentially outputs x number of an input mesh and lets one set the position/transform info for each separately?
     
  16. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    Click on the little menu 'hamburger' near the top of the node and select 'Instance'

    Screen Shot 2021-01-29 at 2.30.16 PM.png

    you'll get a connected node with only the Transform settings.
     
    EternalAmbiguity likes this.
  17. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    2,628
    Awesome. I'm excited to see some more organic-looking applications for Archimatix.
     
  18. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    638
    Just started messing with this and the potential is HUGE! However I can't get access to some of the documentation on the nodes: https://archimatix.com/nodes/grouper
    Others like the grid repeater 2d don't have text while the 3d repeater does but even so at the bottom part of the 3d repeater the examples don't show all I see is the names with no picture:
    Domino House

    Roman Temple

    Medieval Hall
    : https://archimatix.com/nodes/gridrepeater
    Anyone else having this issue?
     
  19. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    1,700
    The docs are... lacking in places. There is a pdf in the plugin for getting started
     
    SilverStorm likes this.
  20. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    I have a mesh in Archimatix I want to turn into a Unity prefab, to be manipulated at runtime.

    I do not want it to be the child of AXModel_1. It needs to be a standalone object.

    How do I do that? From what I can tell Archimatix stores the mesh somehow as part of the base object, so when I try to separate the actual GO with the MeshRenderer and delete the AMModel_1 GO the mesh itself disappears.
     
  21. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    the [STAMP] button (or calling Stamp by code) copies your current AX model hierarchy into the scene without any dependancies.

    the [PREFAB] button writes the hierarchy to a Unity prefab in your project without dependencies.
    Screen Shot 2021-02-09 at 7.46.56 AM.png
     
    Vaupell likes this.
  22. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    Yeah I've tried both...problem is that a Stamp loses the mesh when you try to drag it back to the Project Window, and the Prefab has the hierarchy even if you only have one object.
     
  23. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    This is all Unity prefab stuff.

    You can't create a prefab without first adding the mesh to your project somewhere for it to reference. Scene geometry is 'temporary' so your project doesn't know about it. That's why there's a prefab button to do it in 1 step.

    Alternately, you could stamp, and edit that hierarchy, then create an empty prefab in a project folder and drag the model onto it – that's the old-fashioned way to create a Unity prefab (also how to create an AX runtime prefab where the scripts/runtimecontroller work).
     
    Last edited: Feb 9, 2021
    EternalAmbiguity likes this.
  24. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    I was actually able to get the hierarchical version to work. Thanks for the help.
     
    wetcircuit likes this.
  25. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    ...I spoke to soon. I'm trying to create an entity from this, and the current method creates two entities instead of one.

    I just tried this in the GIF below but it isn't working:



    Any tips?
     
  26. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    Does it work when you leave it inside that hierarchy?
    in other words, can you make a prefab by dragging the parent object (the one you are trying to get rid of) with the rendermesh inside?
     
  27. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    Unfortunately not, just loses the mesh again.

    However, I was able to get it to work by using the "prefab" option in Archimatix, opening that up, copying all the components on the inner object (so mesh filter, renderer, collider) to the outer one, and deleting the inner object.
     
    wetcircuit likes this.
  28. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,895
    I'm getting weird behavior with some archimatix-generated assets and lightmapping. Basically the UV mapping gets duplicated somehow. See the GIF:



    This results in my objects being duplicated at runtime:
    Unity_2021-02-11_10-47-06.png
    Anyone else had anything like this? Is this an Archimatix thing or a Unity lightmapping thing?
     
    Last edited: Feb 11, 2021
  29. Vaupell

    Vaupell

    Joined:
    Dec 2, 2013
    Posts:
    248
    I just got Archimatix on the discount.. sofar having a lot of fun.

    So the first thing i wanted to do, is replicate a windturbine blade, not excakt but just get the look and feel.
    upload_2021-3-4_11-53-52.png

    I found the basic shape (teardrop) which i think would be a good start, i can always add the round root end later.
    With the teardrop i tried to extrude, but it seems i can't scale it lengthwise so i used the repeater instead.

    Now i was thinking i got a length of this teardrop and now want to start deforming it by streething it on the wide part, and at the same time taper it near the tip end.



    upload_2021-3-4_11-56-23.png
    upload_2021-3-4_11-58-29.png

    But i am struggling a bit. Anyone got some tips?

    I am also wondering, if i add the shape modifiers at the end of the graph with a repeater, does it modify the entire shape or each of the meshes in the repeater, because i am getting some interesting results, to say the least :D
     
  30. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    Archimatix is a 'spline modeler'…. the 3D meshes are created from (generally) two 2D shapes, a plan and a section.
    Since AX is designed for architecture, the easy analogy is plan would be like a house floorplan (a blueprint) and the section would be like a cross section of the wall or roof profile...

    Certain 3D nodes create the 2nd shape so you don't see it (ie: Lathe node's 2nd shape is a circular plan, Extruder node's 2nd shape is a straight section…)

    In your screengrab, the teardrop shape is the plan, and Extruder is creating the long straight section – think of it as the teardrop lives in local X/Y plane, while the Extruder lives in local Z-axis. (we can re-orient the mesh in Unity XYZ, so the actual worldspace is arbitrary)

    Screen Shot 2021-03-04 at 7.02.34 AM.png

    you've connected height on your teardrop shape to the height of the Extrude…. These are unrelated parameters, they just have the same name. each node is basically 2D. There is never a 'depth' parameter, but in this case you might think of Extruder height as the 'depth' (length) of the blade.

    Disconnect them, and you will be able to extrude as much 'height' as you want.:)
    (swap that linear repeater for a radial repeater to get multiple blades sticking out from a hub)
     
    Last edited: Mar 4, 2021
    hopeful and Vaupell like this.
  31. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    Then can this be fed into a deformer to achieve the twist?
     
    Last edited: Mar 5, 2021
    wetcircuit likes this.
  32. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    Hi @Vaupell - welcome aboard!
    WindmillBlades.gif
    Here is a node graph showing the main 3 nodes you can use to make the blade.

    Screen Shot 2021-03-05 at 1.41.58 PM.png

    The teardrop Shape is slightly extruded, as @wetcircuit suggested, and then fed into a TwistDefomer, as @giantkilleroverunity3d recommended. The blade nodes are then put into a Grouper and that Grouper is then fed into a RadialRepeater.

    Screen Shot 2021-03-05 at 1.46.42 PM.png

    These node are then wrapped in yet another Grouper and rotated up around the X-axis.

    Since this is parametric, you can increase the repeats in the RadialRepeater to get an even more powerful windmill. Hehe.

    Screen Shot 2021-03-05 at 1.49.15 PM.png

    Screen Shot 2021-03-05 at 1.50.53 PM.png
     
    Last edited: Mar 5, 2021
  33. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    I am trying to make a curved fang which is a taper on a curve path. This is what I am thinking is the way to approach in Ax. Cant find a tut on curveSweeper.
     
  34. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    Perhaps a TaperDeformer fed into a PlanDeformer?
     
  35. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    @roryo Thanks. That is what I was thinking. Coming from you states to me the nodes and order instead of me cobbling a broken mystery together.
     
  36. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    upload_2021-3-6_11-29-57.png
    This is the result. Notice the final node doesn't show render and the node list is not showing correct.
     
  37. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    I took the propeller and made flowers, American Indian feather dress, East Indian rugs, stained glass windows, silicon wafers, floored platforms, kaleidoscopes:
    upload_2021-3-7_13-9-36.png

    But for the life of me I could not get the twist deformer to perform a blade twist like in the gif above. For this submission I ask for help in the twist deformer node. I noticed that the blades had to be rotated 180 to match the spoke and transposed on the X to get the aligment and positioning correct. After that the flood gates broke open! And I stored this in my library.
     
    Last edited: Mar 7, 2021
    wetcircuit likes this.
  38. CoyoteFringe

    CoyoteFringe

    Joined:
    May 8, 2019
    Posts:
    21
    I'm curious - is the Archimatix Master Pack still relevant or does vanilla Archimatix have those features now? Thanks!
     
  39. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    I still need an answer to the twist parameters on the propeller. Mine go seriously out of whack and cant seem to find the right combination.
     
  40. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    The add-on is by a different developer.
    Nothing in it is included in AX Pro.
     
  41. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
    @giantkilleroverunity3d - I'll post a short tutorial this evening. ;)
     
  42. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,449
  43. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    Increase the subdivisions. Thanks! I learn something everyday.
     
    hopeful likes this.
  44. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,290
    @roryo -- So when are we getting 3D booleans? ;) ;)
     
  45. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    Only if booleans fit in the Ax design. But I wait too.
     
  46. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    131
    Hello I have been learning Houdini and just discovered Archimatrix.

    I'm thinking about creating a few assets and I was wondering if it is possible to create some assets, and sell them while keeping their procedural aspect? If this is not the case, I would suggest to either have a free/cheaper module (without source code) to be able to read those objects and use them without Archimatrix without the ability to modify the original project, this could open a lot of possibilities.
    A good example is Houdini Core with the new and free Houdini Engine.

    One example would be to create a medieval house, and the end user could generate seed or play with exposed value to generate new houses in his own project.
     
    Last edited: Mar 13, 2021
  47. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,290
    Believe it or not, this was one of the original goals of Archimatix.

    However, it seems the tool itself has been needing a lot of usability features and bugfixes over the years in order to make the tool stable and performant across multiple versions of the Unity Editor. This has historically required a lot of internal restructuring by the developer. The downside to no longer restructuring AX and by cementing a true ".ax" format for these procedural models, it's possible older versions of procedural models simply won't work -- and frequently -- between each new version.
    I am personally glad AX never went this route, as it can be a delight to see what new features get added into AX (and not have to worry about older versions of models breaking very often because of bugs in some of those new features).


    Archimatix is a runtime tool (and is extremely fast due to its 2d nature), so as long as it plays on those strengths, it will always be something unique.
    However, there are so many "quality-of-life" things that people tend to demand from a tool like this (i.e. 3d booleans, lol), but by adding these sorts of features, the speed of runtime model processing is usually decreased substantially.
    For those of us who prefer AX as a modeling tool (i.e. me), the speed decrease is a non-issue.
    However, for those who prefer to use AX for runtime modeling (also me), 3d booleans are a catch-22 at their very core.

    While Houdini is a great tool, it is slow and its weakness is and always has been runtime. Houdini is more of a VFX tool, so its expansion into the games market is just incidental (and definitely not its focus). There's plenty of overlap between games and film these days, so it's understandable they'd try to tap the games market too. Low-hanging fruit and all that.
    The one thing that AX can't do well at runtime are the kind of modeling and texturing tasks a program like Houdini can do.

    That said -- maybe one day AX will get a "volumetric" / VDB / voxels option though.
    This would let many of the 3d tasks that require volume could be processed in a slightly 2d way -- including 3d meshing / booleans / texture and projection -- by basing things on an array of voxel data that can be baked into a chunk beforehand (and cached).
    At this point, restructuring needs based solely on modeling features would be minimal (as most procedural modeling operations would be covered either by AX -- or by the shader). This is the point when I'd say an ".ax" extension / model format might actually be feasible.

    What say you, @roryo? -- How far off base am I?
     
    roryo and mick129 like this.
  48. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    131
    Thank you for the complete answer. I took the time to check the documentation, various videos etc and even if I lose the "engine" portion compared to Houdini, I believe this solution would be me better as a gameDev :).
     
    roryo and awesomedata like this.
  49. giantkilleroverunity3d

    giantkilleroverunity3d

    Joined:
    Feb 28, 2014
    Posts:
    197
    Old mottos but still applicable. 'Diversity begets chaos' and 'If it ain't broke dont fix it.'
     
    roryo likes this.
  50. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,330
    I think the comparison is a bit flawed…

    a) the Houdini plugin is not 'free', it requires an active Houdini subscription. Unity + AX is orders of magnitude less expensive, and a 1x purchase (often on sale)

    b) AX builds ordinary Unity scene geometry. It's only an 'AX model' in the sense that the AX graph can destroy it and generate more. AX might just be the start, followed by other Unity tools –– Polybrush, etc (or the reverse: Polybrush 'painting' AX models that are designed to randomize when they build, so each greeble or cottage is different) The comparison isn't Houdini/Archimatix, it's Houdini/Unity+

    c) taking advantage of the Unity ecosystem as a platform, it's possible to build standalone apps that export OBJ, FBX (among others) to use anywhere –– pair with Substance for textures and you have powerful, customizable, standalone modelmaker. Unity's license allows this without restriction – this will never happen under Houdini.

    d) If you want to stay within Unity, I don't know how many people bought AX but based on the number of reviews: a lot. Easy guess is more people own AX than have the time to learn to use it..., I think there'd be store appreciation for a line of procedural and/or runtime models ('procedural' being models you'd use in the editor, 'runtime' being models to use in a game).
     
    Last edited: Mar 16, 2021
    roryo and mick129 like this.
unityunity