Search Unity

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

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

  1. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    333
    Q. Anyone have experience running AX with a nav-mesh ?
    if so... What results have you attained ie. adjusting surface at runtime, will a nav-mesh update accordingly ?

    In the promo video I see many Karl characters running around on the surface.
     
  2. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    If you select one of the nodes that creates a 3D mesh (extrude, lathe) and then look at the inspector, you'll see an item called "Names, Flags, Tags, and Layers".

    Use this to set specific meshes in your AX model to Navigation Static (among other settings).

    Screen-Shot-2018-09-06-at-7.47.15-PM.png
     
  3. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    333
    Regarding NAVMESH..
    If a player makes changes at runtime by dragging a handle,
    can an NPC still navigate the newly shaped object ?
    I'd like to test it out .. Is there any documentation or video regarding such ?

    Thanks Heaps
     
    Nevercallmebyname likes this.
  4. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    Should be possible. It's a requirement for moving levels after all. Can't make a harry potter staircase or a bossfight on the back of a marching mecha if you can't animate the walkmesh.
     
  5. toto2003

    toto2003

    Joined:
    Sep 22, 2010
    Posts:
    506
  6. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    3D Curve in the current release.
    @Ruufer and I were playing with it on the discord channel… That's a good place to post in-progress and experimental stuff.

    @roryo would probably appreciate some feedback from users. That's maybe the best way to encourage development. Try it and give some feedback.
     
  7. peeka

    peeka

    Joined:
    Dec 3, 2014
    Posts:
    56
    Any ETA on this? it will help out a lot if we can target UV in an atlas, because a lot of asset from asset store all have atlas texture, for an indie developer we don't have time to go and convert everything to a single looping texture.
     
    wetcircuit likes this.
  8. toto2003

    toto2003

    Joined:
    Sep 22, 2010
    Posts:
    506
    really? i only notice the free 2d curve node, could you point me out? i totally miss it.
    cheers!
     
  9. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    It doesn't have an icon. It's one of the generic-looking ones (bottom right on the graph). you need 2 nodes: FreeCurve3D and a CurveSweeper (and a shape node)

    Screen_Shot_2019-11-08_at_7.37.01_PM.png Screen_Shot_2019-11-08_at_7.37.09_PM.png
    Works kind of like FreeCurve, you drag the 3D points in the scene view and add more to the end.
    I haven't spent enough time using it..., but it works with deformer nodes.

    Screen Shot 2019-12-05 at 10.55.37 AM.png

    It seems straight-forward for pipes, tubes and waterpark slides.
    No parametric controls yet. The real test will be trying to build something with it.
     
    toto2003 likes this.
  10. peeka

    peeka

    Joined:
    Dec 3, 2014
    Posts:
    56
    Hi I am new to this, where do I go to report bug? I am gonna try here.

    thickness doesn't work with this setup, shapemerger would lose the thickness set by shape offsetter

    Also very offten when I click on new Node, it would end up wrong place and create all kinds of weird links to outside or inside some other gorup.
     

    Attached Files:

    • bug.PNG
      bug.PNG
      File size:
      62.5 KB
      Views:
      43
  11. peeka

    peeka

    Joined:
    Dec 3, 2014
    Posts:
    56
    would be nice if the FreeCurve3D can have some axies follow a plan for example X and Z follows other plan while Y can be edited by freecurve3d, I am looking for a way to put cables alone a wall thats created by sweepplan.
     
    wetcircuit likes this.
  12. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    You have connected the INPUT shape, rather than the OUTPUT shape – essentially a "pass-through" connection.
    Screen Shot 2019-12-05 at 4.00.28 PM.png

    The unintended connections, if you have a node selected and click to add a node, it will automatically connect them if there's a logical way to do it… the graph is trying to be "helpful" :p but it is not always "helpful". :rolleyes:

    Usually it "lands" just to the right of the last node you added, but sometimes a node is added and I have to go find it… When the graph gets complicated this can be pretty confusing… :confused: Admittedly I don't know the circumstances why. but sometimes it goes AWOL.

    Not sure if that's a "bug" or just a weird quirk.
     
    peeka likes this.
  13. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    You might be able to accomplish wall-hugging cables with 2 plan deformers, one for the XY plane and another for the XZ plane (or however it is set up in your scene).
     
  14. peeka

    peeka

    Joined:
    Dec 3, 2014
    Posts:
    56
    Thanks!
     
    wetcircuit likes this.
  15. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    Guess who just got Archimatix. I told you I'd be buying it didn't I?

    Anyway. I am confused about something.
    How do I texture a model once I've created it? I have a material node and it doesnt seem to do anyhting.
    upload_2019-12-10_17-13-29.png
     
    roryo likes this.
  16. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,390
    Hi @Nevercallmebyname - after all these years, WELCOME ABOARD!

    Based on the image you posted, looks like you are already moving along towards a mastery of Archimatix. :)

    The simplest way to set the Material is to choose a default Material for the entire model. When you select the model in the Hierarchy window, in the Inspector, expand the first item "Model Defaults". There you will see an object input field for Material.

    Capto_Capture 2019-12-10_01-21-19_PM.jpg
     
  17. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Hey @roryo !

    Screen Shot 2019-12-10 at 2.24.52 PM.png

    Is the next step for CurveSweeper to parametrize the FreeCurve3D markers?

    or will we get a 3DPathDeformer…? :cool:
     
    awesomedata likes this.
  18. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
  19. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    It was a while before I had the chance to test it out but the golden city is now going to be gold instead of purple. Thank you. This is by no means the complete model btw. Lots of work to do.
    upload_2019-12-12_18-32-56.png
     
    wetcircuit likes this.
  20. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    Allright so now this has happened.
    I know why, it's because I'm putting the bulgy column topper on both nodes and corners, but can I tell it to maybe ignore the corner nodes?
    upload_2019-12-14_8-29-37.png
     
  21. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Hey, this is an awesome tool.

    I was wondering if there is a way to make Archimatrix generate geometry in a scene on load at runtime?

    I'm asking because I want to make a mobile game and use this to build the levels. Mobile games tend to be downloaded more the smaller the app size is so storing all the model data in each scene could be expensive once the level count increases. Hence why I would like to know if there's a way to delete all generated geometry when a scene is saved and regenerate the geometry OnAwake at runtime or when the scene is reopened in the editor so that the scene only needs to store the Archimatrix graph as data in the build of the game.

    I understand that this process could be time consuming for a mobile device but I'd cover it up with a loading screen. I could also implement some sort of caching system so that only the first time a level is loaded does the app need to generate the geometry.

    Cheers in advance for the advice.
     
    Last edited: Dec 15, 2019
    roryo likes this.
  22. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    1. Under the AX model's Inspector panel: toggle the setting for Automatic Model Regeneration

    Screen Shot 2019-12-15 at 6.12.39 PM.png

    2. in the Scene hierarchy of the AX model: delete generatedGameObjects
    Screen Shot 2019-12-15 at 6.15.26 PM.png

    3. SAVE the scene.

    The actual generation is pretty fast, especially if there aren't many internal behaviors to calculate, but beware of memory overhead which will spike during the rebuild process.
     
    roryo and awesomedata like this.
  23. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    OMFG... you're a boss!

    Mini golf level builder complete in half a day. Thank you ever so much.

    Screen Shot 2019-12-16 at 12.39.16 PM.png
     
    ledbetterman, roryo and wetcircuit like this.
  24. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Is there a way to make objects generate with a particular layer set on them?
     
  25. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Yes, also in the inspector, but you need to select the last node in each chain – probably the 3D mesh nodes, or a deformer or repeater on a 3D mesh node… (meshes in the same AX model can be assigned to different layers)

    And on the Inspector find Name Flags Tags & Layers:

    Screen Shot 2019-12-15 at 11.34.02 PM.png
     
    roryo and Antony-Blackett like this.
  26. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Finding uses for the SineWave node…

    Screen Shot 2019-12-16 at 11.44.51 AM.png
     
    Last edited: Dec 16, 2019
    ledbetterman and roryo like this.
  27. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Generating meshes on level load didn't have the impact on scene size i was hoping. it seems Archimatrix objects contain and serialise a lot of data?

    Stamping will have to suffice for the moment. It'll be ok for the first few releases until I add too many levels, I'll need an online content server or something instead.

    The tool is working great for level building though. Saving me a tonne of time. Thanks again.
     
    roryo and wetcircuit like this.
  28. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    wetcircuit likes this.
  29. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Did you get this one solved?

    Add a little distance to the INSET parameter on the plan repeater.
    That should push the columns away from the corners.
    Screen Shot 2019-12-16 at 8.43.56 AM.png
    Corner Break is the threshold value (in degrees) for deciding what to call a 'corner'.
    So the 2 settings work together. High values essentially means there are no 'corners'.

    :eek: And now I'm having TFW you write a word 3x in a row and it suddenly doesn't seem to be spelled correctly… (corner, yes that's how it's spelled:p)
     
  30. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Feature request!

    I'd love a UV sweep node. I find the geometry generated by extruding from a plan is far more reliable than the geometry from a plan sweep, however the plan sweep produces the uvs I want (swept along the wall) whereas the extrude just maps the uvs to x and z coordinates...

    Unless there's another way to achieve this?

    Images attached to show what i'm talking about.

    Extrude with nice geometry but wrong uvs
    ExtrudeGoodGeomtryBadUVs.png

    Sweep with bad geometry but good uvs
    SweepBadGeometryNiceUvs.png

    --- Edit ---
    Another issue that's going to hinder fast game development down the line. When stamping an AXModel, if you use a prefab instancer then the final result will have prefab instances that no longer connect to the original prefab. I can understand use cases for this behaviour but I may need to modify this so that the prefab connection is retained. I'm using it to place collectable items so if I then go and change my collectable prefab I'll then need to go and restamp all levels with this prefab. Am I going beyond the scope of this tool now? or is this something you plan on supporting? If not then I can probably find a workaround with a prefab spawner script or something like that.
    Screen Shot 2019-12-17 at 10.24.05 AM.png
     
    Last edited: Dec 16, 2019
    awesomedata likes this.
  31. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    I use a proxy object for this. an empty gameobject with a tag in the AX prefab node…. Then on start, I run a script that finds the proxy object(s) and decides what to put there (or the proxy is the script and it picks a prefab to replace itself).
     
    Antony-Blackett likes this.
  32. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    898
    I've struggled with this for years now. I definitely wonder if there's a better way.


    This too.

    I've been after a shortcut for modular loading with AX objects since the outset. This always seemed like low-hanging fruit to me since the individual gameobjects AX generates should be able to have some sort of custom script/component/behavior added to them (i.e. so that they can be easily selectively enabled/disabled and/or have a proxy script to run at the start to replace any particular generated gameobjects.)


    What say you, @roryo? -- Is this low-hanging fruit or not?
     
  33. marvalshot

    marvalshot

    Joined:
    Dec 29, 2013
    Posts:
    170
    Workflow for interior buildings that can be viewed normally from the outside as well when walking on terrains.??
     
  34. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    fyi, I get this error running iOS

    Screen Shot 2019-12-17 at 9.42.20 PM.png

    Stamping all the AXModels, deleting them and then running works as expected, which is what I'll end up doing in the final build but for testing purposes at the moment that workflow isn't ideal.


    ---- Edit ----- Workaround

    I turned off code stripping and it works now. That'll do fine for development purposes.
     
    Last edited: Dec 17, 2019
  35. marvalshot

    marvalshot

    Joined:
    Dec 29, 2013
    Posts:
    170
    I created the walls of an irregularly shaped room using curve. I am stuck on if it's possible to merge in a floor that matches the wall outline? Thanks for feedback.
     
  36. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Just thought I'd share a couple images of my newly completed water shader for mini golf with level geometry generated with Archimatrix. :)

    Screen Shot 2019-12-20 at 1.09.29 PM.png Screen Shot 2019-12-20 at 1.08.42 PM.png
     
    ledbetterman, roryo and wetcircuit like this.
  37. marvalshot

    marvalshot

    Joined:
    Dec 29, 2013
    Posts:
    170
    OK so I just did the curve with no thickness for the floor then slight extrude for the floor.
    Copy of the curve with thickness to represent the wall thickness and extruded that to the height of the wall.
    That a good approach ?? :)
     
  38. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    Using inset fixes the top of the wall but breaks the bottom and corner break just either turns the whole wall into columns or no columns. upload_2019-12-20_18-53-33.png
     
    roryo likes this.
  39. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    898
    @roryo -- I know tool development is hard, and vision is difficult when you have to face the reality of user-friendliness vs the cool ideas you want to just throw at the canvas. In that same vein, how about some inspiration?

    https://www.youtube.com/channel/UCecdw78pgsch0FWaNhdwbgg/videos


    This tool is using an interesting higher-level approach to roofs/walls -- it's following a sort of "parametric freecurve" model to how it handles its proceduralism. This is similar to what AX is currently doing at the lower-level between points on the freecurve, except AX is working across _entire shapes/plans_ at once (which this tool doesn't do since it treats each shape/freecurve as a separate wall piece). I bet AX could do much of this stuff easily if you provided parametric "sockets" to the ends of the freecurves to handle individual "walls" (i.e. individual, linked, shapes/freecurves) at the ends of each shape's points. Look at what kind of magic this approach can lead to:





    I suggested this method way back with the "parametric freecurve" concept I pushed and pushed, but, sadly we never got the kind of in-depth feature I had suggested. When it never materialized, I was hoping Winwall would fill in the gaps, but that feature seems to be going dormant again. _This_ guy is actually implementing the parametric freecurve linkage I suggested without even realizing it! Now you should be able to see why I fought so hard about the 2d shapes being linkable and parametric (including both rotation and sometimes position, depending on the context of the point). I wasn't knocking AX for its lack of a proper wall feature, but I was definitely trying to point you toward the right direction to be able to create something like in those videos above.

    I think Archimatix should not take this lying down. Ultimately AX can do lots of things even this tool can't -- and a bit more intuitively too. However, at least on the architectural side, Archimatix still leaves a lot to be desired (i.e. parametric walls/roofs not in an architectural tool?). This other tool seems to be filling in many of these gaping holes in AX's toolset without a hitch using the method I pointed out a long time back. Fortunately, the one thing it doesn't seem to do (yet) is texture/material generation. It will also never be able to do runtime directly. So AX definitely has a chance to catch up -- if you want it to.

    @roryo -- Get to crackin' pal! -- You've got to show 'em who's boss! ^__^
     
    roryo likes this.
  40. BCFEGAmes

    BCFEGAmes

    Joined:
    Oct 5, 2016
    Posts:
    21
    Following on the "wish list" thread, but very much on the "cool things to throw at it" as opposed to strict pragmatic need based approach, I was wondering if you have ever come across "structure synth" and it's eisen script? It has been ported to Rhino, and has some very strong recursive functions that make very beautiful organic motifs, while still being very procedural and 'solid' in its end results. There might be scope for a 3D turtle script to be able to do this?!?
    Happy holidays in the meantime ;)

    http://structuresynth.sourceforge.net/reference.php
     
    awesomedata and roryo like this.
  41. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    new shape node in-progress… controls are awkward. lol
    It's designed to "grow" outwards in a spiral by adding segments, hence Nautilus,
    it also makes decorative curves that interpolate from angleA to angleB.

    Screen Shot 2019-12-25 at 4.24.22 PM.png
    Screen Shot 2019-12-25 at 6.42.36 PM.png
    Screen Shot 2019-12-25 at 4.16.08 PM.png Screen Shot 2019-12-25 at 4.25.40 PM.png Screen Shot 2019-12-25 at 4.21.19 PM.png
     
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Nautilus shape into a PathDeformer.

    I added a bool to switch the origin to the end of the spiral (rather than the start), and a length read-only parameter for controlling other shapes. Still a little weird to control since it winds around itself… but, I think it'll be useful.

     
  43. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Would it be possible to skew the extrusion so i could make a loop the loop for my minigolf game?

    probably easier just to model a specific loop asset.
     
    wetcircuit likes this.
  44. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    I'll put it up on the community site in a day or 2… but you might be able to make a node yourself, or string together some of the other curve/ramp nodes I made...
    http://community.archimatix.com/axshare/

    edit: if instead of a rectangle for the deformed shape, you used a parallelogram, that would "skew" the resulting loop.
     
    Antony-Blackett likes this.
  45. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Screen Shot 2019-12-26 at 10.50.32 PM.png
    I couldn't figure it out… The 3DCurve doesn't like going upside-down, and I couldn't find a combo of deformers that didn't distort…

    I think you might have to build it in several pieces, maybe 2 quarter ramps, and then a custom curve for the top that attaches them?
     
  46. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Yeah something like that. Or I'll just model it in some other software and stick it in as a prefab
     
  47. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
    Oh @Antony-Blackett … maybe this works? It uses the radial step repeater … overlapping polygons, like an armadillo.

    Screen Shot 2019-12-26 at 11.10.51 PM.png Screen Shot 2019-12-26 at 11.12.59 PM.png
     
  48. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,345
    Haha, I wouldn't worry about it. The geometry needs to be smooth, otherwise the ball will bounce off at funny angles.

    Good effort though.
     
  49. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    114
    upload_2019-12-31_18-36-23.png
    While I figure out how to feed my golden Archimatix wall style into Dungeon Architect I started work on a sepperate project. These cylindars are all recieving information from one another to insure that everything have the right proportions based on the length of the thickest shaft. Next I need like a quarter ovoid shape however I'm meant to make that. Also, if there's anyone here who could make some design sugestions cause the drawing of this thing looked awful but this is the rough shape I'm after
     
  50. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,132
unityunity