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

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    PeppersGamer and protopop like this.
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    This rose window gif really shows the power of 2D shape merging. If only the medieval master masons could have designed their tracery with such a realtime tool!

    @markefus, are you a student of Gothic architecture?
     
  3. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @photonic - once again, thanks for reporting important bugs! I think I should be able to take care of both of them Monday and upload to the Slack.
     
    photonic likes this.
  4. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    562
    Do you think Archimatix could model out the meshes like in a place called Santorini Greece like this https://www.google.com/maps/place/A...0309e16c79b4c5f!8m2!3d36.4319313!4d25.4223178

    At first glance the structures look simple until you dive in and really look at them theres alot more to the architecture for all the buildings. Any examples of this and if it works would be an instant purchase for me if it could.
     
  5. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yes, you only need to look back through this thread. Santorini is deceptively simple, I agree. It's even a project I tried to break down for AX parametric models.

    • AX models can drop to the terrain, and there is even a terrain deformer that adjusts terrain height.
    • Building shapes need to be simplified – that's pretty much a given for all 3D modeling. ymmv
    • There will be certain pieces that you will need to model individually, within the limits of AX. This might include editing a logo script to draw the 2D shape and deforming it, or creating the pieces with a 3rd-party modeler. There is always "another way".
    • Advanced parametric models will probably need custom nodes that you edit or create. You may need scripting to send parameters to the AX models. This is "intermediate-level" stuff. I have some video tutorials that cover the concepts
    • The more detailed and accurate the model, the more involved and difficult (with more tiny "fixes"). Find a happy medium.
    • You can create a flexible parametric model and stamp it into your scene as geometry, so lots of similar houses based on parametric rules – the real work is in building the parametric model. That goes for things like a colonnade of arches or steps
     
    Eva-Dragonflame and photonic like this.
  6. shotoutgames

    shotoutgames

    Joined:
    Dec 29, 2013
    Posts:
    290
    What node workflow would work best just to block out levels?
     
  7. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Could you give an example?
     
  8. shotoutgames

    shotoutgames

    Joined:
    Dec 29, 2013
    Posts:
    290
  9. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    2D Shape as the plan (or several, into a Shape Combiner) connected to an Extrude node.

    You can trace the floorplan with a FreeCurve node, then thicken the 2D shape to make the wall thickness. In AX it would be less work (once you had a grasp of AX tools) – extruding floorplans is something that AX does extremely well, it's an architecture basic. Then you'd plug it into a floor repeater and get a tower, etc.

    You can achieve the same results as that video – but the process would be different enough that design optimization for one would be a different choice in the other. For example, in the video they extrude the window-walls separately. In AX you would make a similar design choice about how to extrude the windows separately from the walls. Typically the "door holes" would be knockout shapes on the 2D Shape Combiner. The "window holes" would similarly be a knockout shape on a Repeater, so AX could repeat the windows on a long wall… There are a lot of different ways to get to the same idea, depending on what you need to do…

    So, "yes" but AX is such a different animal that I would approach it differently.

    You would probably extrude interior walls separately from exterior – in the real world these would be different materials, different thicknesses… In AX you'd probably have a set of nodes for the building's outer shell, then a set of nodes for the interior layout(s), nodes to add other models (furniture, people) – you could do a Rouguelike with AX generating from script at runtime, like a dungeon randomizer.
     
  10. shotoutgames

    shotoutgames

    Joined:
    Dec 29, 2013
    Posts:
    290
    WetCircuit,
    Thank you for a very informative pose. I created a curve and that takes care of the border of my floor nicely but I am still not clear on creating individual rooms. I need to create walls inside that closes individual rooms (and then add doors).
    Right now I used curves and shapes to add walls one by one where required and then used the shape connector to connect everything. Better way? I also tried shape merge but it just adds to the outside and I lose the inside walls.
    Sorry if too confusing let me know. and thanks again!
     
  11. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Use multiple Extrude nodes. Don't try to make one huge floorplan 2D shape and all one Extrude.
    Break the structure into manageable parts.
     
  12. markefus

    markefus

    Joined:
    Nov 2, 2014
    Posts:
    22
    Thanks!

    The cathedral was loosely based on Ulm Minster, so good guess!
    However it's a stylized rendition and not meant to be 100% realistic. It's simplified greatly from the real thing.
    I did use the architecture and floor plan of the building as direct reference though.

    2D booleans are definitely a super powerful tool! Modeling that by hand would have been a nightmare.

    And nope! Just an independent game developer. I actually am a programmer by trade.
     
    Eva-Dragonflame likes this.
  13. MikeChr

    MikeChr

    Joined:
    Feb 2, 2018
    Posts:
    43
    Is it possible to attach a custom game object as a child of the AX model object and generate prefabs with copies of the custom game objects as children of the AX generated prefab object? For example, I wish to embed specific Bolt FlowMachines into my AX generated prefabs.
    Thanks!
     
  14. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    There is a Prefab Node that instantiates a gameobject prefab. I've done this with a Playmaker FSM on an empty gameobject.
     
  15. MikeChr

    MikeChr

    Joined:
    Feb 2, 2018
    Posts:
    43
    Is using a AXModel in a prefab broken? I see a "Destroying a GameObject inside a Prefab instance is not allowed" when I rebuild a model contained in a a prefab. I see no mention of this in the forum, but I can't be the first one to find this. Using 2019.1.
     
  16. xj1982xj

    xj1982xj

    Joined:
    Sep 19, 2017
    Posts:
    35
    Hi roryo, how should i move an window frame ( rectangle) alone the Wall ( FreeCurve) as show below :
    upload_2019-7-2_10-26-39.png
     
    awesomedata and led_bet like this.
  17. shotoutgames

    shotoutgames

    Joined:
    Dec 29, 2013
    Posts:
    290
    Easy way to set pivot?
    Made a gun and stamped. Pivot well out of view. Need it centered to rotate in player hand
    Thanks!
     
  18. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    That being said, I am adding the ability to specify u-values at points in a curve description. Also, a mode where the u value goes from 0 to 1 between sharp breaks in the geometry, which will allow the parametric object to conform to a predetermined atlas geometry.

    Is there an ETA on these features? i need a bit more control over the way textures are displayed.
     
  19. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    Hi @roryo ,
    may I ask, if you are making progress on that awesome plan placer node (that allows you to set the position of the input along a plan?(Each input mesh could have a different inset - also great for the 3d curve)

    Have I mentioned that such a plan placer would be extremely awesome? Well it really would be ...........awesome ;)
    :):):):cool::):):) really.....awesome:D
     
  20. thunderdawn

    thunderdawn

    Joined:
    Sep 30, 2017
    Posts:
    34
    Here goes probably the dumbest question ever but is there some way to soften/round the edges of the stairs with nodes?
    (Coming at this while basically being a 2D artist so I'm running around tearing my hair out).
    What I'm trying to build is a complicated structure made mostly of stairs, think Monument Valley. I can't seem to be able to soften their geometry, though, to make them look more high poly, no matter what kind of textures I'm using.
     
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @MikeChr - could you post an image of your graph?
     
  22. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @xj1982xj - are you trying to cut a hole in the wall? If so, you might first cut the hole using a shape merger and then feed the mesh output into a PlanDeformer.
     
  23. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @marvalshot - you can set a pivot by putting your node into a grouper. This is akin to adding a null game object in the scene hierarchy. If you translate the object relative to the grouper and then rotate the grouper, you will essentially be rotating about a different center.
     
  24. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am traveling a bit for the next four weeks, so I won't be able to get to this until late august. :eek:
     
  25. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for the reminder, @Eva-Dragonflame - as posted above, late august is the soonest I can get to a new release ;)
     
    Eva-Dragonflame likes this.
  26. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @thunderdawn - when you extrude the stair, you should be able to set a bevel value to round the edges on the sides. For the edge of the stair risers, you can open the Plan input of the extrude and adjust the "Roundness" value. Hope that helps!
     
    thunderdawn likes this.
  27. L0ve3d

    L0ve3d

    Joined:
    Feb 9, 2019
    Posts:
    21
    Noob question: How can I import a model (e.g. a fbx file) into Archimatix, please?
    Thanks a lot!
     
  28. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    47
    L0ve3d likes this.
  29. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    is it possible yet, to instantiate and delete FreeCurve nodes and attach them to a single ShapeMerger at runtime?
     
  30. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    501
    Hi @roryo

    If possible, please add the AX namespace to NodeMenu.cs with the next update so it doesn't interfere with DoozyUI.

    Thank you
     
    roryo, led_bet and wetcircuit like this.
  31. viktorkadza

    viktorkadza

    Joined:
    Sep 4, 2018
    Posts:
    46
    Hello , a plan to build a door configurator with using Archimatix. where can i get the reference for runtime scripting api?
    The goal is creating doors with holes, archelement,materials etc real time in browser. The process is:
    -drawing outline shapes by point to point coordinates
    -merging them with shapemerger
    -making extruded object from them
    -adding resizable arch elements with fixed corners and profiles
    -adding materials and uv coordinates to generated meshes
    -merging everything in one object
    -rotate,transform

    I was searching for proper scripts but dont found to much.Thanks!
     
    Last edited: Jul 23, 2019
    led_bet likes this.
  32. SpindizzyGames

    SpindizzyGames

    Joined:
    Jun 29, 2017
    Posts:
    108
    Subdivision Grid disappears when Extrude node is attached to a Grouper node. Please fix.
     
  33. liminalitythree

    liminalitythree

    Joined:
    Nov 30, 2017
    Posts:
    1
    I'm having some trouble getting lightmaps to work properly. I check the lightmap flags box and the create secondary UVs and mark it as static but the result is splotchy and doesn't look right.

    The one on the left is with archimatix and the right one is just with the unity cube
     

    Attached Files:

  34. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    @roryo

    This might be the solution to your WinWall (on a plan/curve) problem -- if you included a height element too.

    Essentially, have a top/bottom % of the extruded height and use the % length of the the wall/plan/shape and then allow the user to place a main selection dot at any % across the curve horizontally (following the length of the curve), then any % across the curve vertically (following the extruded height % of the curve).
    Letting the user manually grab the dot as a handle (like freecurves) and tweak this dot to a certain % up/down (the height) and forward/back (down the plan/shape/curve's length) would allow for precise and interactive placement. The dot could be repeated (using a repeated dot indicator) on the wall to help add extra "cuts" spaced evenly. The repeated dots could also be allowed to be moved manually (individually) too.

    The 2d shape picked for the cut operation could then use these dots to know where to cut out the window. This would be a 2-step operation, but each step would happen by clicking a button on the node to tweak that individual step to select the current "mode" you're editing when editing the node). Finally, the node would then generate the respective collapsed node groups + values for the WinWall to take place, then the individual nodes (such as the placement of other extruded shapes and geometry combinations or prefabs on the window dots) could be changed/tweaked if desired. ^__^
     
  35. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @liminalitythree - have you had a chance to check out this manual page? Especially at the bottom where it talks about Create Secondary UV's. This needs to be rechecked before baking a lightmap. It doesn't generate these with each parameter change, since it is a bit intensive compared with normal mesh generation.
     
  36. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The subdivision needs to be set at each Input to a mesher. Unfortunately, the subdivision value does not pass between 2D nodes yet. If you pass a subdivided Shape into a Grouper and then that Shape into a Mesher, the subdivision is loss. Respecifying it at the Mesher Shape Input is the workaround for now. I hope this fixes your problem. :)
     
    wetcircuit likes this.
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Have you
    Hi @viktorkadza - have you checked out this manual page yet? Perhaps better than handing over free-form shape drawing to your players, it would be better to let them choose from a menu of parametric shapes? Such shapes can be coded by you as described here in the manual and with the Turtle script API. Parametric shapes such as arches ensure symmetry and better control of geometry. If it was important that the player can draw freeform shapes, then you would have to develop a custom runtime shape editor.
     
    wetcircuit likes this.
  38. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    This is easy to do in code once you get a reference to the AXParametricObject for the FreeCurve node. However, the real work is in developing a custom runtime shape runtime UI and Handle system that fits with your art direction and mechanic, including add point, select point, move point, delete point, multi-select, snapping, etc. The things AX does in the editor, but does not provide for FreeCurve in runtime. For example, AX does not currently provide runtime handles other than the basic one found in the Spaceship Shop Demo scene in the AX package, which you are free to use, but may not fit the art direction of you game/app. The AX example runtime handle uses a 2D collision plane rather than 3-axis handles, with the assumption that the player is manipulating parametric shapes rather than FreeCurves. There are several way to do runtime handle for FreeCurve point editing, depending on your needs. There are some runtime handle packages in the asset store.
     
  39. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Heya for those who might use Archimatix for runtime navmesh baking and generating I contributed on a tool to automatically add navmesh links... Both jumping up/down links as well as horizontal jumping. It CAN be used at runtime although could probably (definitely cough cough) use some optimization. Thought this might be of interest here. :D


    https://forum.unity.com/threads/navmesh-links-generator-for-navmeshcomponents.515143/
     
    AwesomeNewbie, iddqd, chelnok and 2 others like this.
  40. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Anyone up to the task of this? -- AX changes too much for me to dig in.

    Seems like a lot of copy/paste code for you, @roryo -- but I'm tracking that you're probably not looking to add this kind of runtime thing to AX in the future for freecurve?
     
  41. viktorkadza

    viktorkadza

    Joined:
    Sep 4, 2018
    Posts:
    46
    Hi roryo, thanks for answer , it helped a lot. Is it possible also to change the values of logic field (making it exposed to public?) , so i can create custom shapes on runtime, for example adding new points to shapes etc?
     
    Last edited: Jul 31, 2019
  42. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Yes, you can replace the parametricObject.code string with a new turtle script at runtime.
     
    awesomedata and wetcircuit like this.
  43. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Runtime UI is very specific to each game and app. It would be hard to make something that could work with all these varied UIs and seem to fit in/be of the same art.
     
  44. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I can see where you're coming from. I was thinking more like a simple template scene for how to deal with freecurve splines and important parametrics at runtime and feed them into things to get a result.

    Either way, I guess the major thing is the spaceship shop is okay for most of this, but it doesn't show how to do API stuff, which I would think is what most people might want most. You know, outside of a WinWall update. ;)
     
    led_bet likes this.
  45. viktorkadza

    viktorkadza

    Joined:
    Sep 4, 2018
    Posts:
    46
    Hello,

    hello i am working on project where i need stamping AX models on runtime,for further modification, like 3d boolen operations. How can i stamp an AX generated model by script?



    Solved: Unity creates new gameobject on runtime and deletes it after game stopped, so the stamped instance was deleted to.

    Thnks!
     
    Last edited: Aug 15, 2019
  46. davidhughes3d

    davidhughes3d

    Joined:
    Nov 30, 2012
    Posts:
    29
    Anyone know where we can download the sample scene of the Grey Ship Shop? Trying to get run-time features to work and need a base to work from. Looks like stuff was mentioned here but i have not found the example scene anywhere. Was the sole reason for purchasing this super awesome asset.
     
  47. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    I'm not a scripting expert but that doesn't sound dificult. Should be the same as dropping a static prefab into the world at run time via script just with an extra line for each paramater of the object the player needs to be able to edit.
     
  48. viktorkadza

    viktorkadza

    Joined:
    Sep 4, 2018
    Posts:
    46
    Hi,
    and,one more question:i is it possible to change material of an AX Model on runtime?
     
  49. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    @roryo, My brother's craving a pirate game. Could a pirate ship hull be made with this tool? I'll set it up so he can customize the shape of the hull and, as the ship gets bigger, it gets more cannons and sails automatically. He'll love it.
     
  50. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Sadly, not that easily.

    Technically, you could always do multiple extrudes in sequence (as long as you have all your 2d shapes lined out).

    One problem with this extrusion method is that modifiable 2d shapes can't be created at runtime afaik yet. Plus, cutting out the portholes as you extrude could become a pain quickly, depending upon if you're using prefabs for the cannons or not. Skinning hulls like this has been a requested feature since before AX was released, but there are mountains of others that @roryo had planned too. Sadly, AX hasn't had these implemented yet.

    I'm thinking the WinWall feature might be a good precursor feature to something like the hull you're wanting (mainly for things like portholes), so here's hoping that will be a priority for @roryo soon! :)
     
    led_bet likes this.