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

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Amazing @roryo
     
    roryo likes this.
  2. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Nice stuff, @roryo ! You definitely got me looking forward to the new deformer nodes -- and those replicators especially! -- but it's nice to see what is already possible!

    Speaking of what's possible now, I was looking at the shingles on that oriental-styled building (the half-cylinder shapes that end on the edge of the slope as a cylinder trim) and started wondering if it would be possible to replicate those too on such a strangely shaped (nearly triangular) vertically-sloped face? Would you *have* to use a texture+displacement for that now (if you were to do this entirely in Unity, of course), or could you model it directly into the mesh with ARCHIMATIX somehow?

    Here's my theory (on the future workflow at least):

    I'm guessing the deformer nodes would be best for this task since they'd take a square sheet of repeating (basic) shingle shapes and allow you to warp/shrink the tops, then curve/deform them vertically into a nearly triangular, sloped shape -- right?

    I'm sure you'd also include the ability to do vertical deformation across an S-curve, making deformation on a sheet of shingles like this be even more rad too, especially if you could flare the bottom half of that sheet horizontally -- is something like this in the works? :D :D :D
     
    Last edited: Feb 22, 2017
  3. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    With Deformers, you could model the roof with shingles and then bend the corners up. Alternatively, an additional feature is planned for Repeaters that will let you provide a mesh as input, letting the repeater distribute items over the surface of the mesh. In this later case, the roof shingles or tiles would not be deformed or stretched, but rather distributed over a deformed surface (which is the more typical case architecturally).
     
  4. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Haha! You got to my post before I could finish editing it! Talk about a quick response! XD

    But yep, supplying a mesh input is definitely a better option for the shingles! Would it be possible to do the S-curve thing I mentioned too across different axis, so we wouldn't need a mesh? I'm assuming by what you said about "bending the corners" that you've got something planned like this already?

    It would also be cool to be able to offset the origin of the S curve too so that it could start deformation in different places (leaving the other areas unaffected), perhaps by scaling the curve as a whole. Maybe this too could apply to a mesh input deformation? Just food for thought.
     
  5. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The Deformer nodes will include spline deformers as well as volumetric deformers with taper, axis shift, etc. The most difficult part of Deformers is the subdivision strategy for the mesh to be deformed.

    By the way, even before deformer nodes are available, you can stamp you AX model and deform it with Megafiers.
     
    antoripa likes this.
  6. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Not sure if you caught my last edit in my previous post, lol, but offsetting the curve to avoid deforming the whole thing would be pretty useful too imo. :)


    I'm no math or meshing expert (and maybe I'm not understanding anything at all here), but would it be possible to let a user assist in this somehow, perhaps by letting them define a set of special meshing properties in the node?

    I know this might seem inelegant to some extent, but some users (like me) would appreciate that level of control.

    The reason ARCHIMATIX appeals to me is that I've been thinking about form for a number of years, and so far every way it has been approached so far in 3D modeling has been through brute-force (verts and triangles) when relational forms are what really make beautiful art, such as architecture, appear harmonious. It's the same in any kind of art, even music.

    So, perhaps your approach in sub-D meshing more abstract forms should be more relational as well?

    --


    (I sent you a PM to try to explain my thinking a little better -- it won't work as-is for all cases, but it's a thought.)
     
    Last edited: Feb 22, 2017
  7. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    There are important two ways to control subdivision: 1. when you are defining how the mesh is generated according to its geometric logic, and 2. with a means of subdividing a mesh after it has been generated, irrespective of the mesh's logic. In the first instance, you might, for example, specify that a Circle plan has more segments and the Extrude Mesher that it is fed into has some number of vertical segments. This would allow a Cylinder to be subdivided according to its constructional geometry. Another example is to add more segments to the Bezier curve fed into a PlanSweep. In the second method, you could take a Cylinder and feed it into a Subdivision node that would slice it up in a lattice, radial cutter, etc. In that case, the subdivision node would have controls and scene view handles that make sense for its mode of slicing.
     
    radimoto and awesomedata like this.
  8. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Can't wait!! :) Congrats, Rory!
     
    awesomedata, elbows, Whippets and 2 others like this.
  9. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    That makes a lot of sense. It's a really neat take on the grid curvature concept - except with realtime handles! I like! :D

    Being able to shift around subdivision loops (sort of like the non-uniform cells thing I mentioned in my PM that are able to be spaced based on a ruleset to control what verts are used for the curves or ignored in favor of the overall form) could allow for an easier/cleaner mesh topology when combining with other meshes in a psuedo-3d boolean operation that is very similar to what you do already when you shift shapes up/down on the y axis to merge/separate/cut-into them.
     
    roryo and Teila like this.
  10. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    304
    The wait is killing me!
     
  11. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I don't know about you guys, but I think Nintendo and the Asset store are in cahoots. Their master plan is to kill everyone with all the waiting.

    How many think "March 3rd" will be the day it finally arrives on the Asset Store?

    By then, I think everyone will already be dead.
     
    Whippets and Teila like this.
  12. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    I want it tomorrow, on my birthday! Seems only fair. Hey, Unity store! :D
     
    roryo, pixelsteam and wetcircuit like this.
  13. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    It's only the end of the first week. Could easily be another week yet
     
  14. MrIconic

    MrIconic

    Joined:
    Apr 5, 2013
    Posts:
    239
    I wonder if the unity staff want it as much as we do.
     
    roryo and wetcircuit like this.
  15. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Yeah, they are probably having so much fun playing with it that they haven't approved it yet! :p
     
    roryo, Xepherys, Whippets and 4 others like this.
  16. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Probably one of the most important assets to come out in a while
     
    roryo and pixelsteam like this.
  17. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    I have my pennies all lined up!
     
  18. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    You're 3 short
     
    antoripa, pixelsteam, roryo and 4 others like this.
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Looks like I am going to need a bigger piggy bank!
     
  20. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    We could all gather at the foot of Unity Castle with torches and pitchforks...
     
  21. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    I am in. :)
     
  22. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    We could threaten to cut off David Helgasons collar.
     
  23. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    This.
     
    roryo likes this.
  24. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Im just gonna toss it out there, in case I'm right. Archimatix from what i see in the screen shots is a game changer... Sure there are a lot of other tools for modeling out there, but not like this.

    What do I mean not like this? It changes the boundaries of creativity, and productivity. It brings the ability to quickly and easily create interesting and unique structures to anyone who can click nodes together, and play with variables, and it does all of this INSIDE unity. Oh yes, and you can quickly create multiple variations that all adhere to the same general stylistic theme.

    You don't need to figure out how to use modeling software, and worry about importing models from there to unity. You don't have to deal with hassles like are my materials working properly? Ok, now what shader do i need to use to achieve the same look i had in my modeling software? You are building the objects in unity, using unity materials, with the shaders and textures you have available,as they say "what you see is what you get".

    So... if i were in charge at unity... and I see this asset come across the store, you know what I would do? Make the developer an offer. I would want this as a feature of unity, by default, LOCKED IN. Those sorta things take time to hammer out...

    Who knows, maybe im crazy.... or maybe im a genius... idk
     
  25. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Who knows what the future will bring. Rory certainly deserves all the success and rewards. Great guy and a great product.
     
  26. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for all the kind words guys - they are helping me wade through this waiting period with uplifted spirits!

    It just occurred to me that the normal 5-10 day approval period might be lengthened a bit with the asset store folks distracted by GDC.

    Just so you don't go thinking that I am slack'in during this period, I've got a new node to show (first of the 1.1 feature set) – a PhysicsJoiner node that bonds parts together with FixedJoints to make an assembly that essentially behaves as a single rigidbody with a concave mesh collider.

    zz-AXNode-PhysicsJoiner.jpg

    For example, in the graph below a platform Box with a rigidbody has been joined to PlanRepeated Boxes, which also have rigidbodies. In this arrangement, the whole assembly will behave as a single rigidbody while allowing another rigidbody to rattle around inside. You can think of the PhysicsJoiner as a kind of physically-based merger node.

    Archimatix 2017-03-01_08-46-28_AM.jpg
     
  27. Cannes_xk

    Cannes_xk

    Joined:
    Apr 5, 2015
    Posts:
    4
    Very good work :)
    So, is it under review to go on the assetstore? (Cry of emotion)
    You could advance the price?.
    Thank you very much
     
  28. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    While waiting for the current release, I have a question for the future, will archimatix evolve to the point we can have an equivalent of the skin modifier in blender?
    I mean generating a "skeleton" using point, edge/curve and adding a skin modulated by parameter (adding further extrusion, scaling, rotation, spawn, mesh cycling along the edge/curve, etc ...), and outputting a skin meshed as an option.
     
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @Cannes_xk - yes, Archimatix has indeed been submitted for approval. The introductory price is $145.
     
  30. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Cash ready and waiting (for UAS) XD
     
    antoripa and roryo like this.
  31. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @neoshaman - do you mean to make a kind of architectural skin? That should be possible in the not so distant future. For character modeling with organic forms that are skinned, that might take a bit longer. It would be cool to have metaballs placed procedurally along a skeletal armature that control the organic body shapes, clothing, etc.
     
    Last edited: Mar 2, 2017
  32. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    MMMMmmmmmmmmmm MEATBALLS! meatball-rays-gif.gif
     
  33. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
  34. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    I thought the wait had been too long, and he'd lost the plot altogether. I was thinking wtf? meatballs?
     
  35. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Aw dang it, @neoshaman - now you have me looking into SkinnedMeshRenderer. There goes my morning!

    I also see that someone has kindly posted c# source for metaballs - this will help a metaball node easier to implement! We will just need to get a "meatball" texture to-go!
    Archimatix 2017-03-02_08-42-03_AM.jpg
     
  36. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    I'm not sure Kyle likes meatballs... He looks a little flat.
     
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I think he will find them more appetizing once we get that meatball texture on them!
     
  38. KingfisherWyvernStudio

    KingfisherWyvernStudio

    Joined:
    Oct 5, 2011
    Posts:
    324
    Oh, I suddenly see loads and loads of possibilities :D
     
    roryo, wetcircuit and Whippets like this.
  39. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Today I am working on a tutorial for making walls with windows using Archimatix. Before the forthcoming WindowWall node is available and since there are no 3D booleans yet, there are three strategies for wall openings.

    1. Layer plan extrudes made from various 2D booleans the same "thickened" plan shape (sort of like stereolithography in 3D printing).
    Archimatix 2017-01-18_07-15-52_AM.jpg Archimatix 2017-01-18_07-55-15_AM.jpg


    2. Make a wall unit with opening and repeat is around a plan:
    Archimatix 2015-08-12_12-55-54_PM.jpg

    Archimatix 2017-01-31_09-21-52_AM.jpg

    3. Make each wall plane as an extrude of a silhouette shape and a GridRepeater2D cutter shape:

    Voila_Capture 2017-02-15_10-58-32_AM.jpg
     
    antoripa and pixelsteam like this.
  40. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    Nah metaball is really really bad for modeling, especially when trying close shape together, I was thinking more like something like that:



    The actual technique is called bmesh: Unfortunately the paper and reference seems to have disappeared from internet, basically it's basically tube linked together by point node (with a radius that give the size of each tubes end) with node with 3+ edges using a convex hull based on all "opening" vertex (the arriving end of the tube).

    So conceptually there is 4 instances of mesh construction, "cap" (node with only one node that end a vertex), "ankle" (node between two edges), "branch" (more than two edges arrive at that node) and tubes (edges between two node, using the radius of the node to size it's two end). The mesh around the basic node skeleton can be called the "envelope".

    It's great because it allow to model organic for very easily and have some great analytic property, which allow to easily add stuff on top of the mesh even without having to compute the mesh, because it's edges you have a easy way to subdivide too and add extra stuff along the edges, for example you always know where the surface of the envelope is because you simply need to interpolate the radius along the edges, similarly, you add all sort of local modifier using teh basic data to influence even more the final shape. Also because thing are broken up is nice primitive, it's very easy to have a real coordinate system to locate any filter you would want on them (to sculpt details).

    The only real complex stuff in the implementation is the convex hull for animation ready mesh, in the paper (who has disappeared) they had some neat trick with comparing axis and the influences of spheres to get great edge flows (essential if you generate animated character).
     
    roryo likes this.
  41. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    [QUOTE="roryo, post: 2979113, member: 7431
    Make each wall plane as an extrude of a silhouette shape and a GridRepeater2D cutter shape:

    View attachment 221498 [/QUOTE]

    @roryo could you show how this was made. I am a node learner versus a text learner.
     
  42. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @roryo could you show how this was made. I am a node learner versus a text learner.[/QUOTE]
    Here is an example of the 3rd strategy - the side walls are each a single extrude for the whole face of the building. The openings are made by a square subtracted from a circle and then that merged shape is 2D GridRepeated and then extruded:


    Capto_Capture 2016-05-07_05-47-16_PM2.jpg Capto_Capture 2016-05-07_05-45-01_PM.jpg Capto_Capture 2016-05-07_05-45-57_PM.jpg Capto_Capture 2016-05-07_05-56-55_PM.jpg Capto_Capture 2016-05-07_05-44-28_PM.jpg
     
  43. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    I like that .....I can give my rate in advance .. billions of stars ...
     
  44. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Sorry .. I did not see last post ... I cannot confirm my rate . I have to change .. billions of billions of stars ...
     
  45. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Wow - this is definitely worth pursuing! Thanks for posting this, @neoshaman!
     
    neoshaman likes this.
  46. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hmmm, looks like this c# library called Plankton will essentially do bmeshes and can be included in AX under GNU license conditions. It was originally created for Rhino's Grasshopper. Wooohoo!
     
  47. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    URGH my F5 key broke
     
  48. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Sorry it wasn't there for your birthday, but I hope you had a good one any way, @Teila!
     
    Teila, antoripa and Xepherys like this.
  49. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Are you able to sell the asset outside the store? Could everyone waiting for the asset pay you in another way and get it ahead of time... and then when it is finally released on the store you could "gift" the asset to those already purchased so that they could properly get updates... etc etc...
    This would also mean you get paid quicker instead of the way unity pays out.... though im unsure if this is allowed as i have yet to sell anything on the store...
     
    roryo and pixelsteam like this.
  50. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    204
    It IS allowed. And could even charge a different price... until it's live on the asset store. :p