Search Unity

  1. 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. DasBiot

    DasBiot

    Joined:
    Jan 25, 2014
    Posts:
    11
    Hello there.

    I checked the first one and it seems to export the OBJ file with the normals facing the wrong way. Painful if you don't use 2-sided shaders.

    The second exporter exports stamped AX models very well. The only caveat is that it messes up the export folder and ends up putting the OBJ and MAT files in the root folder of your Unity project.

    Cheers!
     
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Thanks for that workaround, @DasBiot. I'll take a closer look at the cause.
     
  3. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Hey,

    Yeah i knew from before that that first one was all messed up, glad the second one works well. If i remember correctly there is a note in the second one that actually says the export folder issue is left as an exercise for the reader...
    Should be a trivial thing to alter.... if you dont resolve it on your own ill be back home and at my computer tomorrow it looks like and ill be grabbing AX and doing some coding...
     
  4. DasBiot

    DasBiot

    Joined:
    Jan 25, 2014
    Posts:
    11
    The export folder name is (gasp!) hard coded - it should be simple enough to replace it with a file/folder dialog pop-up.
     
    RuinsOfFeyrin likes this.
  5. gurayg

    gurayg

    Joined:
    Nov 28, 2013
    Posts:
    232
    Congrats on the release. Hope it becomes a success!
    -I was wondering if it is possible to create branching spline shapes? for example roads with all kinds of intersections?
    -In store description it is said "Archimatix does not currently support true CSG operations such as 3D Booleans." Are there any plans to add true 3D boolean operator node?
    -There seems to be a planned runtime API ? will you be providing all the runtime gizmos with the API?
    Thanks for your time.
     
  6. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Hi @gurayg - thanks!

    - I haven't thought about branching splines yet. I am eager to get to city-building nodes at some point, including procedurally generated lots and zone specifications for building types, etc. Street logic will need to be included with this as well. Currently there is a lot you can do with thickened shape merging, but in the UV's for the street surface would not be parallel to the street length. For example, in this image, you can see that there is a network of paths, but the pavement texture is a tiled texture. The "curb" parallel to the paths (as is its UV coordinates) and handles the intersections well, but this is because it is because it is an edge from the walls.


    Archimatix 2017-01-21_07-40-45_AM.jpg

    - Yes, to a 3D boolean node at some point, but I have not started looking into the specifics of this lets. During the beta cycle, it was certainly one of the most requested features.

    - The runtime api will allow you to operate Archimatix models through script. That way you can make your own GUI to generate meshes. For example, if a player pays more for his virtual building, you can set the number of floors parameter to some greater value and then call the generate() function. You could also make your own interactive handles that would adjust parameters. I will also try to include a generic point handle for the game view, but I am not planning to try to recast all the Unity editor handles into runtime versions. (I wish Unity would make all their editor handles optionally runtime). Generally the GUI for model manipulation (whether handles or buttons, etc. would benefit from being custom and "in theme" to your game.
     
    Sheriziya and Teila like this.
  7. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Sorry for the delayed response, @Whippets - it was a busy day yesterday!

    There are three ways to make custom shapes. Using FreeCurve you can draw any shape you like. control-clicking a point turns it into a Bezier point. The Grand Piano tutorial shows a bit of how editing with FreeCurve works. But the real power of parametrics comes in when you can describe logic that allows the manipulation of complex forms with relatively few controls. So the next way to create a custom shape is to combine library shapes. For example, the Quatrefoil shape in the 2D library sidebar is actually a merger of circle in the center and a RadialRepeated circle. This shape is useful for making medieval columns and window openings.
    Archimatix 2016-04-21_11-53-59_AM.jpg
    Because the handles for the inputs of the Quatrefoil merger are inherited, its as if you "coded" a logical complex shape with its own handles.
    Archimatix 2016-04-21_11-52-53_AM.jpg

    Archimatix 2016-06-15_11-15-14_AM.jpg


    The third way of making custom shapes has gives you the most control, but may not be for the coding faint of heart. In the Controls foldout foldout of a Shape node palette you will find a "Logic" text area. There you can use AX's turtle script to code a parametric shape, calling out any parameters you have added to the node. For example, the Gear library Shape is best defined by turtle script as opposed to trying to draw it with FreeCurve. There is a page on scripting parametric Shapes here and a listing of the turtle API here. You can open the logic of any shape from the library to see how it is done. You can modify the logic and then add this to the library with a new name.

    Per the Sky Platform tutorial, if you control-click the input put and you make the connection, it will insert a merger between. Alternatively, you can create a merger node by clicking on it in the right sidebar and make all the connections manually.
    I am traveling at the moment, but will get to updating the tutorials next week so that they better reflect the current state of AX.;)
     
    Sheriziya, Whippets and Teila like this.
  8. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    In the 2D shapes library, what do the markers indicate? In other words, some 2D shapes have a line segment that is red - why? Also, some 2D shapes have a + in some portion which indicates... what? :)
     
  9. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    I think the + indicates Origin point. Not sure about the red line.
     
  10. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Yes, as @Whippets surmised, the crosshairs are the origin of the shape. Each shape is in its own X-Y space, regardless of the axis orientation you choose or the transforms you apply. So when you rotate the shape, you are actually rotating the shape's drawing plane. The red line gives an indication of the segment that is added to close the shape (if it is a closed shape, of course).
     
    Whippets, pixelsteam and Sheriziya like this.
  11. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    Ah that makes sense - thank you. I haven't quite figured out what the open/closed shape thing is all about.
     
  12. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,384
    Would it be possible to load the 2D shape from code? If you make a model/node set for a building, and then replace the shape from code to fit the building into another shape?
     
  13. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    The 2D shapes are just coded like JSON or similar, so I guess it could be altered. Are you thinking about altering things at runtime? I wonder if Rory's even thought down that route XD
     
  14. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,384
    Yes, runtime. Imagine if you make a set of house models for a city. select by a criteria what model to use. Download the house outline from open streetmap. AX does its magic, gives me a new house and I continue to the next...
     
  15. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,196
    Yes, runtime API is planned (as rory said), love the idea of generating houses from map data with archimatix:)
     
  16. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    A common use of an "Open" shape is a railing. In this example, ambitious and power hungry Robot Kyle has asked us to construct a podium from which he can pontificate to all his future subjects. The Plan shape we have chosen is fed into one PlanSweep for the base of the podium and the the same shape is fed into another PlanShape for the railing (we wouldn't want Kyle to fall off, lose face and jeopardize his legitimacy as a ruler of robots!).
    Archimatix 2017-03-11_05-56-18_PM.jpg

    Since both plan shapes are closed as they come into their respective PlanSweep nodes, they both generate closed meshes. Since the foundation section shape is open, the PlanSweep has a cap on top. The rail section is also open, but since it comes back around, it forms a sort of piping form. Since we never see the bottom of the rail we don't need to close the section and we can turn the PlanSweep Top Cap off.

    Since it would be undignified for Kyle to climb of the rail, we want to create and opening. An easy way to do this is to simply open the plan shape as it enters the railing PlanSweep. To do this, we can click on the "Open/Close" shape toggle. Now the pipe form of the rail is open.
    Archimatix 2017-03-11_05-56-28_PM.jpg

    If we continue to adjust the original plan shape, both the foundation and the rail continue to be modified together, but with the rail remaining open. Archimatix 2017-03-11_06-12-08_PM.jpg
     
    Sheriziya, Teila and Xepherys like this.
  17. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Hi @LennartJohansen - yes, in fact part of the secret sauce of AX is that you can build a model off a plan and then swap out the plan, generating the same style of building but in a new shape.

    Using the example above, we can group all the nodes but the plan:
    Archimatix 2017-03-11_06-15-26_PM.jpg


    Leaving us with what appear to be a single node with a plan input.

    Archimatix 2017-03-11_06-16-15_PM.jpg

    Then we can swap the plan out with a new shape:
    Archimatix 2017-03-11_06-17-18_PM.jpg

    So the new node object could be fed a series of different plan shapes and generate multiple buildings. The series of plans could itself be from a complex shape composed of city blocks. When we get Replicator nodes going in the future, the generation of the parametric object from each plan (city lot) could have its parameters vary, e.g. for number of floors) from a script or a perlin-based distribute node, etc.
     
    Sheriziya, Teila and Xepherys like this.
  18. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    Last edited: Mar 12, 2017
    Sheriziya and roryo like this.
  19. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
  20. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Very cool! Did you use a 2D Repeater for this? If you don't mind a few more triangles, maybe add a rounded bevel to the extrude. Also, you could try rounding the plan shape to see what happens. This shape is a good example of the serendipitous results that come from shape merging rather than FreeCurve drawing. There is something magical about geometry!
     
    Xepherys likes this.
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
  22. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    No repeater, just a ShapeMerge.

     
    roryo likes this.
  23. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    I could be wrong, but I feel that using a four-sided "circle" instead of a square in the middle gave slightly different results.
     
  24. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,485
    This is a very exciting tool.

    Curious what type of system specs you have in the PC that you are running this tool.
     
  25. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    For what it's worth: I'm on a 2013 iMac, 3.5GHz i7, 16GB RAM, GeForce 780M 4GB and it runs very well.
     
    roryo likes this.
  26. Sheriziya

    Sheriziya

    Joined:
    Oct 5, 2011
    Posts:
    241
    I had the beta version running on
    Windows10 with GTX650, 8gb RAM and i3-6100 processor (3,7 GHz) and it worked like a charm!

    I've just gotten my PC back from repairs, so I can slowly start setting things up again :)
     
    Teila, roryo and Xepherys like this.
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Hi @longroadhwy - great question! My main dev machine is a mid-2014 Mac Book Pro 2.5 GHz i7 with 16 GB RAM and
    NVIDIA GeForce GT 750M 2048 MB. Even with large models, dragging parameter handles in scene view is pretty fluid. From time to time I work on my 2015 27" Retina iMac, just to see Archimatix on the big screen!
     
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Thanks for posting the graph, @Xepherys - very useful to see! I didn't suspect just two squares as input. Now you are surprising me!
     
    Xepherys likes this.
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    @Xepherys, here's what I meant by trying some rounding - its a whole other sort of geometric magic:

    Open the foldout for the plan input of your Extrude node. Set the JointType to Round and then slide the Roundness parameter.

    Archimatix 2017-03-12_08-16-34_AM.jpg

    A positive roundness is depicted above. If you set a negative roundness, the triangles merge together until there is a circle in a square:
    Rounding.gif
     
    antoripa and Xepherys like this.
  30. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    The four-sided Circle may need to be "rectified" before it will behave exactly like the Square:

    Archimatix 2017-03-12_08-28-34_AM.jpg
     
    Xepherys likes this.
  31. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198
    I'll have to play with the roundness value. Definitely a lot of fun to just see what happens.

    And when I get back to my computer I'll see what changes rectify makes and also try another square again to see if there really was a difference or if I'm wrong. Though I kind of hope there IS a difference since that means there's just one more way to do something unique.
     
  32. jonlundy

    jonlundy

    Joined:
    Apr 15, 2016
    Posts:
    25
    I'm enjoying the tool, but right now I'm enchanting some strange behavior. I'm trying to create a group for rooms for a dungeon, and the shape tool seems to have some strange behavior when there are gaps. I found that having my shape routed to a shape distributor will cause it to change shape when the distributor is moved inside a grouper.

    The following is the shape distributor outside the group.
    Screen Shot 2017-03-12 at 12.44.34 PM.png

    Then when I move it into the group, I get the following (no other changes other than moving it).
    Screen Shot 2017-03-12 at 12.45.47 PM.png
    If I change the ShapeState back to Open from closed (the change was done when I moved it), it goes to the following:
    Screen Shot 2017-03-12 at 12.56.32 PM.png

    My turtle code for the original shape is:
    mov -width/2 height/2 90
    back height
    right width/2-DoorWidth/2
    mov (DoorWidth/2) -height/2
    right width/2-DoorWidth/2
    fwd height/2-DoorWidth/2
    mov width/2 DoorWidth/2
    fwd height/2-DoorWidth/2
    left width/2-DoorWidth/2
    mov -DoorWidth/2 height/2
    left width/2-DoorWidth/2

    (I had originally tried to use shape differences to create doors, but I found that would give strange and inconsistent results sometimes, so I just wrote my desired shape directly.

    Thanks, the tool is very neat.
     
  33. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Hi @jonlundy - glad you are having fun with Archimatix! And really glad you are already trying out some shape scripting!

    It looks like there may be a bug where, when you add an open shape to a grouper, it closes the shape. But that doesn't explain why reclining the shape has the result you saw. Let me take a closer look and get back to you.

    By the way, another way to get the openings is to subtract two rectangles from the room shape rectangle and use the "DifferenceRail" output. That way, you can use the same "cutter" rectangles to cut out holes in the shapes of the neighboring rooms.

    I need to finish a tutorial on this, but this post starts to describe this.
     
  34. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    198


    Futzing around with some shapes and pieces and figuring out how to implement them into elemental statues for my game.
     
    roryo likes this.
  35. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    2,476
    Just want to say that the manual is oozing with charm! I love the party hats :p

    What about for non-bugs but stuff in the manual that seems wonky?

    For instance, page 57 instructs the user to instantiate a cube from the library. However, I don't have that in my library. And there are a few other more minor things.
     
  36. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,485
    Thanks @roryo (and the others that replied) on the PC systems specs.

    A few questions.

    (1) Is the current price the introductory price? Will the price go up after the next release?
    (2) My main interested in the API (run-time) and the add-on capabilities to provide my own plugins. Do you have a best guess on when that will be officially exposed?
    (3) The turtle graphics api for making your own shapes is also very interesting. I was thinking of some adobe postscript designs that I would love to put into this system. Is the API only what is listed on the documentation page or is there more than has not been exposed yet?
    (4) When will Robot Kyle get to visit underwater city? :)
     
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    The current price is indeed introductory. Coming down the line are Deformer nodes, Replicators and the runtime API. I don't have a date yet for these just yet. :)

    Once the API is out, you will be able to generate objects through script and extend nodes to create your own nodes. There is a quick example of coding a new node here (though things have change a bit since that post).

    Per the turtle script, what additions to the API would you like to see? It would be great to continue to enhance its capabilities, since 2D shape manipulation is one Archimatix's core strengths.

    A underwater city will be great for Kyle! He has proven to be waterproof, but I am not sure to what depth! ;)
     
    Last edited: Mar 13, 2017
  38. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,261
    o_O What kind of plugins…? :cool:
     
  39. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Thanks for the feedback, @EternalAmbiguity! Sorry about the confusion on page 57. It should be "Box" instead of "cube". :) zz-AX-3DLib-Box.jpg

    I'll make the change in the manual. And keep the fixes com'in!
     
    Xepherys likes this.
  40. jonlundy

    jonlundy

    Joined:
    Apr 15, 2016
    Posts:
    25
    Thank you, I had actually attempted 2Do manipulation first but ran into even weirder behavior. However the differen between my attempt and the post you linked is that my 2Do shapes were lines, which were being extruded into 0 thickness walls. It looks like your example worked much better than my example which had disconnected line segments I was attempting to extruded, after your merges you had multiple closed shapes

    I like the power of the turtle script, I think once you have a runtime API it will be even more powerful. Do you have a complete reference for the language, I figured out how to do loops by examining some existing shapes, does it support if statements?

    I also discovered it is very space sensitive, my command would go off at angles if I put spaces between a mathematical operation.
     
  41. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Hey,

    Finally home from work... spent half the morning trying to purchase AX... finally worked..
    Going to spend the next few hours of my life glued to my computer screen.
     
  42. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    [EDIT - moved to AX Trello support site] - Amazing tool and excellent service and support.
     
    Last edited: Mar 15, 2017
  43. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,439
    There are little buttons labelled 2D and 3D at the top left of archimatix editor window that bring up the full library windows.

    I wouldnt want the right-hand side toolbar to be hidden because dragging wires from node outputs onto the right-side icon of the new node you'd like to create and wire the output to is a nice workflow that archimatix supports.

    Do you mean for the free version of Unity? Because when Unity has dark skin archimatix already looks pretty dark to me!

    Archimatix influenced my decision to buy an ultrawide monitor recently and I dont regret it!

    I guess it would need to be a private repository to stop non-customers from obtaining Archimatix without paying. I assume there is a cost associated with this functionality on github, but I havent actually checked my facts!

    I do plan on pouring over the source of Archimatix myself in the next month or so but I dont know if it will result in any useful contributions from myself.

    Anyway I'm just a user, so hope you dont mind me chipping in with my thoughts on some of your points.
     
  44. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Ah, excellent. I saw the buttons, was unsure what they did, hadn't clicked them as two buttons labeled 2D and 3D did not convey much to me as far as what they did. I assumed maybe it altered the scene cameras view mode... Again going at this blind before i read the manual to give a true "user friendliness" report.

    Ah yes, i do remember seeing that in the forums... and indeed is a nice feature. But if you can toggle them visible or not you could simply toggle them visible when you need to work on the overall schematic. Or it they auto-popped out you could simply start dragging your wire and when you got close enough to the edge the window could appear. As i said just a suggest. My preference is anything im not currently using i like to have hidden and have it either easily accessible, or even better "just show up" when i need it. This would also help with trying to work in split screen mode as it would allow more real-estate for viewing of a graph.

    Yes, for the free version. I have a custom project viewer i made, and console output windows, and wrote a custom inspector that over-rides the default for anything that doesn't have an existing over-ride class and make most of my windows "dark". The hierarchy window and the top menu are the main things that are light colored for me normally. The main issue for me is any large area that is a light color that I end up looking at for to long starts to really hurt my head late at night. So large editor windows (like the AX graph window).

    It would indeed need to be a private repo. I am unsure of github, but i know on bitbucket you can have private repo's for free, and as far as i know there is no limitation on the number of users you can add to a free private repo.


    No at all, constructive input is always appreciated.
     
  45. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    @RuinsOfFeyrin - welcome aboard! I am glad AX has lived up to expectations for you so far!

    Per the pixelation of UI text when you zoom out in the node graph... what version of Unity are you using? When I open AX in 5.34, it looks pretty craggy. I think they added scaling with antialiasing in 5.4. Or was it 5.5? I would like to add a super node minimization which would leave only the thumbnail visible in a square node.

    Great thoughts in general. Its so valuable to hear first impressions of a UI, before too much familiarity sets in! Nice point about the 2D/3D buttons seeming like viewing preferences. Per the sidebars, I'd like to take a look at a user setting where one could specify a that the sidebars are hidden until you mouse near them or click to expose. Also need to get the ability to reorder the sidebar and to drag your own creations into the library (as opposed to "Save to Library" from the node palette menu). Let me noodle over the idea of a shared repository.;)

    @Ruis
     
  46. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,408
    Let me add the loop and conditional statements to the turtle API doc today. We have an if, but not an else (yet). Also, I will expand the tutorial on the shape merging with extrusion.
     
  47. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Hey/ Im using 5.5 and at anything smaller then the default zoom it is unreadable. Yes, something like that form of node minimization would be great! Perhaps auto-expanding if you are dragging a connection from a node and go over a collapsed node with your mouse... i know, i complicate things.
     
  48. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    3,562
    Inspeinre likes this.
  49. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,485
    I hope to be able to get this within a month or so before the price changes. Do you plan on posting a warning before the price changes?

    That is good example. Thanks.

    Does this product have a separate PDF manual or is all of the documentation on-line only? I was looking for references to the other language (other than logo) that you said inspired your variant of turtle script. It looks like the company that wrote that variant was purchased by RIM.

    Anything under 100 feet would be cool to see.
     
    Last edited: Mar 14, 2017
  50. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,485
    Several different types of plugins. :D

    The main interest for a plugin would be able to create bridges by passing in high level definition and have the tool generate a bridge for it. For example if you look at these various railroad bridges that is something I would like to be able to create.

    http://www.american-rails.com/railroad-bridges.html

    Of course generating a bridge at run-time like GALLOPING GERTIE TACOMA BRIDGE would be interesting too.

     
    Last edited: Mar 14, 2017
    wetcircuit likes this.
unityunity