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. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Robot Kyle is trying hard to get that gold, but with all the testing of the new FreeCurve editing features, the maze keeps changing before he gets there!

    Capto_Capture 2018-10-04_04-45-44_PM.jpg
     
    Last edited: Oct 4, 2018
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @protopop - keep the pictures coming - they're gorgeous!
     
    neoshaman and protopop like this.
  3. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    wow. I cant wait for the finished product now
     
    roryo likes this.
  4. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419

    @roryo -- This looks really nice! Thanks for finally "fixing" the freecurve! :)


    Regarding the new freecurve parametrics, I've got one simple request:

    Since I am not a math guy, I tend to have to constantly look up individual (particular) mathematical formulas and then carefully type them in (while making sure I am typing them in the field for the correct points!) when I want (even the simplest!) mathematical relationships between my points.
    For more complex angular relationships (like bridges and rooftops) on a much larger structure, this understandably becomes extremely tedious, time-consuming, and error-prone! -- especially with larger parametric graphs and models.


    I want to offer a better way:

    Have you considered a list of common "formula" buttons?

    In practice, the user would just select the points he wants a relationship with and click a button. The order of selection and keys held down upon clicking the button (or point?) would determine relationship direction(s) for the formulas. The user would then click a button at the top of the scene view which would populate/replace the text in the input fields with the math (and variable names) for these common relationships.

    This would let one populate common relationships between points and angles quickly and visually.
     
    roryo likes this.
  5. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Simple question to the Archimatix community: What solution are you folks using for LODs with Archimatix objects?

    I have licenses Mesh Baker (but not [yet] the LOD add-on), and for Simple LOD.

    I tried Simple LOD last night, and it works great with small AX objects. The problem is that many of my AX models are large enough that they overflow what Simple LOD can handle in a merged mesh. I can reorganize my AX models into smaller chunks and generate prefabs to merge into the macro-level AX models using "prefab instancer" nodes, putting the LOD on the smaller sub-models, but this is a very large and complex scene, and doing that is going to be a ton of work.

    I'm aware of the Combine Meshes feature in AX and will use that where it makes sense, but again, that doesn't solve the whole problem.

    In short, I know of at least one way to deal with the LODs, but I wanted to ask the community to see if this wheel is already invented by someone else before I spend a lot of brainpower figuring out whether my wheel should be round or square. :)

    Yes, I know I should have thought about LODs at the inception of the project. To be honest, this project originally started out to be an entry in a "challenge" contest in which I only had about 2 weeks of timeline. Due to business travel, I had to abort even *trying* to get it done for the contest, so instead I decided to let its scope grow and do it at my own leisure as a portfolio piece. It looks really cool now, if I do say so myself, but performance ranges from 100+ FPS down to about 10 FPS depending on where my camera is looking, so it's time to do some tuning. At the time I started on this project, my only goal was "learn how to use Archimatix", so at that time I didn't really know enough about AX itself to have thought through the issue of integrating it with LOD generation later. Live and learn -- but at least I'm doing it in a harmless sandbox and not a work for hire.

    @roryo, as a future feature, specific integration with one or more of the LOD-generating assets, or a LOD feature within AX, would be awesome, though I realize that's a big "ask" involving some complex development. :)
     
  6. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @syscrusher - check out this page from the manual.

    Could you slide the detail level down, Stamp the model and add that to an LOD Group? Let me know if this works.

    I should add the ability to specify Detail Level values for LODs so it automatically generates the LOD Group.

    Since AX is generating everything, one way or another, you shouldn't need to decimate the mesh outside of the logic of its construction.
     
    syscrusher likes this.
  7. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    That's an idea that had occurred to me, and I'll give it a try on a couple of the larger models. Right now, there is one area of the scene where the engine is rendering about 41 million polygons -- it's when the camera zooms out, and the structure is of "open" enough design that occlusion culling doesn't help much in that situation. I really need LODs. :)

    I had thought of the idea but hadn't quite figured out how to actually carry it out, so thanks for the tip about stamping the LODs but not the main model (which becomes LOD0). That was the missing link for me. :) I know how to set up the LOD groups manually once I have the models. It's tedious but not especially difficult.

    I would absolutely love a feature to automate that, by the way, and would be glad to beta test if you decide to implement a PoC version of that.

    As an aside, I upgraded my current project to the new version of AX, and so far no bugs, and no recurrence of that orphaned GameObject problem. Thanks for the ongoing maintenance and support of this great asset!
     
  8. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    In the next release of Archimatix, you will be able to set models to generate 2D Sprites with 2D Colliders. :)

    Capto_Capture 2018-10-14_06-17-23_AM.png Capto_Capture 2018-10-11_08-45-54_AM copy.png
     
    andyz, nixter, shredingskin and 8 others like this.
  9. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    Now this is sorcery level 42, throw a d6 add10 and multiply the result to the awesome stat.
     
    roryo likes this.
  10. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    Really liking the asset so far, but when i right click in the graph i get Menu GameObject/3D Object/Archimatix Nodes couldn't be found

    And i think a menu should be popping up but it isn't.

    And also passing int values around doesn't seem to work (floats seem to work fine though)
     
  11. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    About a year ago I did this tests, trying to achieve that, but I could never figure out how to move the pipe "up" in a L shape, just flat on the ground... I don't know if that's possible.



     
    steveR likes this.
  12. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    I dont think it is possible unfortunately, freecurves are only 2d :(
     
  13. juuuuun

    juuuuun

    Joined:
    Feb 17, 2014
    Posts:
    23
    Hello all,

    It must be very simple but I cannot figure out how to disconnect shape node network (purple wire). What I always do is cut the node itself in order to disconnect the wire but this is a bit cumbersome. I'm using Archimatix Pro on macOS and if anyone know how it could be done I'd appreciate it. I have already tried selecting the wire I want to delete and hit delete key (backspace key or fn + backspace on macOS) but it didn't work.
     
    Last edited: Oct 17, 2018
  14. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    @juuuuun selecting the wire and hitting the delete key works for me on windows, i guess its just a mac bug?
     
  15. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @juuuuun - on the Mac, select the connector wire and hit cmd-delete. This should be the same key sequence as deleting a node, but with the wire selected instead. ;)
     
  16. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @joferjoe - the context menu for nodes should make its reappearance in the next release as will the int value propagation bug. Thanks for reporting this!
     
  17. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @daville - that piping example is great! 3D splines for extrudes and repeaters is high on the feature list. In the meantime, you can instance secant of pipe and turn them out of plane.
    Capto_Capture 2018-10-17_08-18-07_AM.png
     
  18. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    @roryo oooo, would you mind showing how you did that? :)
     
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am traveling today. I'll try to post a how to tonight, unless someone else beats me to it. ;)
     
  20. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    It's an instance. You can't edit the parameters but you can adjust transforms, rotation, scale...

     
    neoshaman likes this.
  21. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    thank you :)
     
  22. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    is there any node i could use to make it do this automagically after X distance? or at the end of a shape? :)
     
  23. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188
    Hello, is it possible to use the terrain stamper also with a soft gradient on the terrain? so that it does not lift the terrain pixelated but with a fallof or ideally with a distance radius in connection with a curve ?
     
  24. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Is there a way to easily do this (and set an absolute position for it) via code?

    I have a number of these instances that I would like to script automatic placement for. D:
     
  25. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
  26. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Yes and no.

    Yes, in that you have to be creative in how you setup your graph and the relationship between two points in a shape.
    No, in the sense that you will have to use the graph interface to setup each pole origin (rather than visually and interactively using a gameobject or some other realtime transform/position/location linked to the scene).

    The problem with the "no" portion of that answer is that 2D shapes (i.e. splines) currently AFAIK can not have points added/removed at runtime, so you must use existing 2D shapes that already exist before entering play mode.
    Maybe @roryo will enable access to the runtime/editor API via C# scripting soon? Until then, this is going to probably remain a hard-limit on runtime scenarios.
     
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @Diego_Graphics - I have gotten to adding a blur to the height map yet, but this would certainly improve the terrain stamper. Is this a feature you need for a current project?
     
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Whoa - just found a performance optimization that speeds AX Groupers up A LOT! :)
     
    Hitch42, awesomedata and brisingre like this.
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    brisingre likes this.
  30. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188
    @ roryo No nothing urgent, I only plan to place houses on a terrain generated with map magic and of course I want to keep the look of the terrain, btw the demo with the power pole looks very good
     
    roryo likes this.
  31. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    @roryo omg that looks great, by any chance could you share how? :)
     
  32. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Judging from the video he posted, I think he wants to edit the freecurve shape at runtime.
    This is only possible in scene view right now (in edit mode only) -- unless something has changed?


    I must admit, being able to edit graphs and freecurve shapes via C# script (at runtime) is definitely a tantalizing prospect.
    Any idea when (or if?) you're planning to support this?
     
  33. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    Just scene view is fine for me :)

    I just want to know how, it still all seems like magic to me :D

    And i think i saw a runtime handle demo in one of the examples :)
     
  34. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    I'm trying to use Archimatix for something simple: Floors for odd shaped houses; so a simple "cube" but not very tall, that I can drag the corners to suit, maybe adding more points, and possibly even remove rectangles for stairwells. I've tried both 2D and 3D library examples, but can't find anything suitable. I'd welcome some pointers where to start.
     
  35. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    @LukeDawn theres a multiple floor example in the example scenes

    but it doesnt seem to allow the floors to be different in any way in its current setup, i would love to see an example of how to do something like that if its possible though :)
     
  36. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @LukeDawn,

    One way to draw the plan for a house is to use a FreeCurve node. If you turn snapping on and set the snapping grid to say 2 units, then you can begin clicking points for your plan.

    Floor_FreeCuve.gif

    Then feed that FreeCurve node into an Extrude node. Afterwards, you can continue to add points by selecting the cyan colored midpoints and drawing them.

    Another way to create your plan is to merge shapes together. This is how architects often think about space - as combination of areas rather than outlines.

    FloorMerger.gif

    You can feed as many area shapes as you like into a ShapeMerger node and to the right of each input specify whether that shape is a solid or void. In the gif above, it is easy to change the bay window area by manipulating the Circle shape. This is easier than manipulating points in a FreeCurve when the geometry of the shape has a logic to it.

    For a second floor with a cutout for stairs, you can feed the output of the ShapeMerger into a second ShapeMerger and add a rectangle as a void, then feed the out put of that into a second Extrude node.

    TwoFloors.gif

    When you move the stair cutout, only the second floor is affected, but when you move shapes fed into the first ShapeMerger, both floors are affected.

    Here is a close up of the node graph for this example:

    Capto_Capture 2018-10-25_10-33-20_AM.png

    Hope this helps!
     
    chelnok, LukeDawn and AthrunVLokiz like this.
  37. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    Thank you, that was perfect info. I used the free curve, rectangle, group, and extrude. Was so easy.
     
    roryo likes this.
  38. cryptoforge

    cryptoforge

    Joined:
    Jan 21, 2015
    Posts:
    60
    Cool tool.
     
  39. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    That tutorial was great ty :)
     
  40. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    by any chance could you share something like this for the telegraph poles too? :)
     
  41. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am traveling again today, but will post about the telephone poles tomorrow. ;)
     
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  43. joferjoe

    joferjoe

    Joined:
    Feb 2, 2016
    Posts:
    95
    ty :D
     
  44. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    I'm trying to make a roof for this house that has a angled frontage. So far, I have a triangle that has been extruded which works fine, but now I want to sheer the extruded roof to match the angle of the building front. Any suggestions what would be the best technique for this, or is there a better way from the start? Image1.jpg
     
  45. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Short tutorial video coming up!
     
  46. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    To make slanted roof panels, a good trick is to divide the original plan into two shapes and feed each into its own ShearDeformer.

    Capto_Capture 2018-10-29_11-52-22_AM.jpg

    The way to split the original plan is to merge it with a large Rectangle and use the Difference Output for one extrude and the Intersection Output for the other. Then feed each extrude into its own shear deformer.

    Capto_Capture 2018-10-29_11-54-06_AM.jpg


    In your house model, you did a nice job with the front wall with windows!

    What I might suggest is to make the shape of the front wall a house shape and cut the windows out of that.

    Capto_Capture 2018-10-29_12-33-00_PM.jpg

    That will let you combine the gable and the wall. The parametric House shape will also be easier to manipulate.

    Then you can do the split Shear trick for the roof panels:

    Capto_Capture 2018-10-29_12-30-43_PM.jpg
     
    Last edited: Oct 29, 2018
  47. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Another trick is to increase the overhang of the roof by adjusting the offset parameter of the Input in the SHapeMerger for the plan shape:

    Capto_Capture 2018-10-29_12-39-03_PM.jpg

    Sliding the offset parameter gives this effect:

    HouseEaves.gif
     
    AthrunVLokiz likes this.
  48. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    Is there some sort of free curve tool that can be used with an extruder allowing the extrusion to be bent and warped over it's extruded length?
     
  49. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    In 2018.2.7f1 "Basic Stair" is giving the console warning "There is an object in the scene with overlapping UVs". Is there a fix for this?
     
  50. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for reporting this - let me take a look....

    Update: @LukeDawn - I can't seem to reproduce this. Did the message appear as soon as you added the BasicStair to the scene? Or did it come up after manipulating the stair's parameters?
     
    Last edited: Oct 30, 2018