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

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    94
    cool. Excited to see.
    I was trying to find an image of what I was talking about but apparently domes usually just sit there and rarely have anything on the sides besides the door (and I know the door can be made really simply).
     
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    @Nevercallmebyname - I hope this answers your question. Here is a example of a dome rig where the cornice (base molding) stays the same height while the radius changes.

    Dome.gif

    The dome Section and the cornice Section Shapes feed into two different Lathe Meshers. The width parameter of the dome Section is linked to the radius of the cornice Lathe. You can vary either the parameter and the other will change.

    Capto_Capture 2018-04-17_03-14-00_PM.jpg

    I also related the sets parameters on both Lathes so they would have the same number of segments.
     
    HXCMAN and Hitch42 like this.
  3. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    And just for fun, I added a couple more nodes: a RadialRepeated Column and a base Section, relating their radii to the others:

    Tholos.gif

    Capto_Capture 2018-04-17_03-30-26_PM.jpg
     
    HXCMAN, trilobyteme and kerrmedia like this.
  4. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    94
    is it possible to link the height and radius of the dome so it scales uniformly?
    and yes I can make what I was wanting to with that rig. I found a picture of the kind of dome I had in mind and as you see it's just the rig you made plus some modernized buttresses.
     
  5. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    604
    @roryo was wondering if you had plans to add tutorials and manual pages for the deformer nodes? I'm having a rough time figuring out how those work, which I acknowledge is probably at least partially due to my own struggle to grok all of these nodes and modifier values (not a criticism of the asset at all). :)

    If this documentation already exists and I'm just missing it, please feel free to correct me. Thanks!
     
  6. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    604
    On a related note, is it possible to deform a flattish mesh in a semi-circular manner along a particular axis? I think the domical deformer works for two axes (to make the dome shape). I'd be interested in bending a mesh along just one axis.
     
  7. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @chiapet1021 - it sounds like to deform in a semicircle rather than a dome, perhaps try the PlanDeformer using a semicircle as a plan shape?
    http://www.archimatix.com/nodes/plandeformer

    Thanks for the reminder to get a tutorial going on the deformers and to finish the manual pages for each deformer node!


    PlanDeformerClosedShape.gif

    WinInWallPlanDeformerAligned.gif

    HolesInCurvedWall.gif

    PlanDeformer.gif

    PlanDeformerWithATwist.gif
     
    chiapet1021 likes this.
  8. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    604
    Thanks! Such an easy answer. Sorry i didn’t come up with it myself.
     
  9. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    41
    Hi @roryo - I'm getting the error (Material doesn't have a texture property '_MainTex') I saw you had commented to another user that the _maintex bug was fixed in v1.0.11b4. I'm using the latest version 1.1.2 and so I'm guessing the bug is back.Thanks, also I'm definitely looking forward to the 3D curves.
     
  10. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @JLO - Thanks for posting this. I took a look and there were a couple more places where that case had not been checked for. The fix will be in the next version. ;)
     
    JLO likes this.
  11. EvilFox

    EvilFox

    Joined:
    Jul 23, 2013
    Posts:
    83
    Hi. Is it possible to set Cast Shadows to Two Sided? (in Mesh Renderer)
     
  12. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @EvilFox - In a Mesher node, such as the Extrude node, you can check the Backfaces parameter to render both faces. Here is a brief tutorial explains how to do this:

    Hope this answers your question!
     
  13. EvilFox

    EvilFox

    Joined:
    Jul 23, 2013
    Posts:
    83
    But I need just Cast Shadows: Two Sided.

    Here is for example I created Basic Stair:
    Create→3D Object→Archimatix→Stairs→Basic Stair
    bad shadows.PNG
    And I have a problem with shadow.
    If I forcefully switch (by remove AX Model Script) the Cast Shadows to Two Sided for generated mesh, then problem disappears.
     
    Last edited: May 1, 2018
  14. SixThreeZero_Studios

    SixThreeZero_Studios

    Joined:
    Jul 18, 2017
    Posts:
    106
    Looks like the problem is actually the bias on the light. While what your are suggesting "fixes" the problem, its not actually what you want.
     
  15. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Thanks for posting that image, @EvilFox. Explains A lot! I will go ahead and expose the choice for Cast Shadows->Two Sided in the Mesher nodes so that you can set this parametrically. In the meantime, reducing the Normal Bias on the directional light a bit will plug the light leak for now.
     
    EvilFox likes this.
  16. marcos

    marcos

    Joined:
    Oct 18, 2009
    Posts:
    582
    Hey @roryo

    Just wondering if the inflate deformer bug is fixed yet?

    Kindest,
    Mark
     
  17. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Thanks for the reminder, @marcos - just got it working! Will submit it in the update going to the asset store today. ;)

    Capto_Capture 2018-05-09_04-22-44_PM.jpg

    Capto_Capture 2018-05-09_04-36-18_PM.jpg

    InflateDeformer.gif
     
    Last edited: May 9, 2018
    marcos likes this.
  18. marcos

    marcos

    Joined:
    Oct 18, 2009
    Posts:
    582
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Flattery will get you everywhere, @marcos - I just added SceneView handles to the InflateDeformer.:)

    InflateDeformer 2.gif
     
  20. logixworx

    logixworx

    Joined:
    Jun 29, 2017
    Posts:
    71
    any news on the runtime nodegraph editor? roryo? RuinsOfFeryn?
     
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @logixworx - I don't have any plans to create a runtime node graph editor. This would be a very challenging undertaking and at the same time, I am not sure how many players could be expected to learn that level of modeling in the context of a game. I could be wrong, but I don't think there are any runtime node graph editors out there to do shaders or game behaviors, etc.

    The runtime strategy for AX is that the game creator would set up graphs and offer them to their players as "smart objects" via the AX RuntimeController as is the case with the SpaceShip Shop. There the complexities of 3D parametric modeling have been simplified to an interface where the player can have the feeling of modeling without any learning curve.

    In the future there could be some middle ground where the parametric building blocks can be connected and related without ever seeing the actual graph.

    To learn more about the AX RuntimeController which connects player UI with parameters, check out the manual page for AX Runtime for Artists.
     
    ledbetterman and logixworx like this.
  22. LongitudeZero

    LongitudeZero

    Joined:
    Feb 5, 2016
    Posts:
    4
    Hi @roryo,

    It is good to see Archimatix Pro adding useful features with each new version release.

    One feature that has been discussed in this forum (page 15) and was planned in the August 2017 roadmap for v1.1.0 is the Lofter (LoftExtrude, HullExtrude) that would allow for instance to create a ship hull (a bit something like this:
    - Rhino 3D example).

    Is this still in the pipeline?
    Not easy to implement, I realise...

    In any case, keep up the good work. AX is a lot of fun to work with!

    Thanks.
     
    Starpaq2 and wetcircuit like this.
  23. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @LongitudeZero - the Lofter is in the pipeline. It doesn't seem like it will be that difficult to implement, though I don't have a specific timeline. It does help to see which features people are looking forward to. ;)
     
    Starpaq2 and ledbetterman like this.
  24. Griot-Games

    Griot-Games

    Joined:
    Dec 3, 2015
    Posts:
    4
    Hi @roryo,

    When i was trying to do ship tutorial. I ran into bug. When i hook up a cylinder to PlanRepeater. The planrepeater preview image wont show.If you make it a group that has a planrepeater with the bug. the grouper wont have a preview image. this suck when u want add a Ax model to library.

    Archimatix Pro 1.1.3
    Unity 2018.1.0f2
     

    Attached Files:

    • arm1.png
      arm1.png
      File size:
      357.2 KB
      Views:
      272
  25. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @Griot-Games - looks like that bug slipped into the last build. I will try to knock it out tomorrow. ;)
     
  26. LongitudeZero

    LongitudeZero

    Joined:
    Feb 5, 2016
    Posts:
    4
    Hi @roryo, that is excellent news indeed! I'm currently deforming meshes in code (vertex by vertex) to accommodate different hull shapes and AX Lofter would be a much more elegant way to handle this... Looking forward to this!
    Thanks.
     
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    @Griot-Games - I finally tracked down the bounding box bug. It was caused by a bug in Unity's Mesh.CombineMeshes function that seems to have appeared in v. 2018.1. Fortunately there was an easy workaround. Just submitted AX v. 1.1.4 to the AssetStore, which includes the fix. It should appear there sometime tomorrow. ;)
     
    wetcircuit likes this.
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Almost done with the PhysicsRope node. This node takes two 3D points and strings a rope between them based on a slack parameter. The rope has physics Joints and colliders so that it can function as a tether in physics simulations.

    Most importantly, it is the first AX node with automatic skinning of a mesh and true 3D spline extrusion!

    Capto_Capture 2018-05-24_01-08-48_PM.jpg Capto_Capture 2018-05-24_12-13-51_AM.jpg Capto_Capture 2018-05-24_12-13-19_AM.jpg
     
    mbbmbbmm, coverpage, Hitch42 and 7 others like this.
  29. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    41
    Hi @roryo, first of all I'm glad the material bug has been fixed. :)

    Though, I have a question about the grouper node. I noticed that the bounding box values will stop updating once they get connected to another node. Even if i were to change the dimensions of one the meshes connected to the grouper node, thus changing the bounding box dimensions, the XYZ values still wont update to match the current bounding box dimensions (if they're connected to another input). So I'm wondering is this intentional or a bug? In the recent update you mentioned fixing the bounding box calculations and also mentioned it in the forum too, but I think its for a different issue. Thanks.
     
  30. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Ah ha - I see that my quick fix for the 2018 bounding bug needs some additional fixing! Thanks for letting me know about this, @JLO - hope to have this done today.
     
    JLO likes this.
  31. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Ok - the additional fix for the 2018.1 bounding box bug is in AX v1.1.5, which I just posted at the slack and will submit to the store this weekend. :)
     
    JLO likes this.
  32. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    41
    Much appreciated :)
     
  33. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    41
    @roryo I downloaded AX v1.1.5 from the slack, but the grouper nodes bounding box values still wont update accordingly to reflect any changes made to its dimension if its output is connected to another node.

    I attached GIF of a simple example hopefully to better show whats going on. Maybe, I didn't explain it right or maybe the grouper node doesn't actually work the way I'm thinking it should work. I can work around this by other methods, but using the grouper nodes bounding box values would definitely make things easier.

    I'm using Unity 2017 1.3, but I also did try AX v1.1.5 and AX v1.1.5b2 from slack on Unity 2018 1.1 but the grouper node still behaved the same. Thanks again for the great support and responsiveness you've provided :D It's greatly appreciated.


    archimatix grouper node.gif
     
  34. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Thanks for posting the GIF, @JLO. The thumbnails here are exhibiting expected behavior. Since the Cylinder is not in the Grouper, it does not affect the Grouper's thumbnail. The red connectors relate float parameters, but to not connote a combined mesh assembly. If you want the Grouper to include both the Box and the Cylinder, then feed the Output Mesh of the Cylinder into the Grouper inputs as well.

    Capto_Capture 2018-06-01_12-54-58_AM.jpg
     
  35. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    41
    Glad to know the grouper node is working properly. I think if anything I was actually hoping to use the grouper node's bounding box values to influence other node values.

    Getting the bounding box values of a box is a bit too simple, but say if you have an x number of meshes oriented and positioned differently getting their bounding box values without the grouper node would be more complex. So lets say I wanted to place an object at the very top of that complex group of meshes. I think it would make a lot of sense to be able to use the SizeY(height) value of the grouper node to move an object up on the y axis so it can sit perfectly at the top of that mesh/group. Though at the moment it's not possible.

    I hope that made more sense of what I'm trying to achieve. I simple want to use the height value of the grouper node to move an object up, very similar to the way the extrude height is used to move the cylinder up/down etc.

    Thanks again @roryo for taking the time to respond. Apologies for keeping on bothering you about this, I was thinking it was a bug. Hopefully this feature could be added, I think it would make doing certain tasks a lot easier. :)
     
  36. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    I see your point. Currently, the SizeY parameter of the Grouper lets you specify the bounding box so that you can then use that to determine the sizing of items inside the Grouper. So for example, I may want to control a parametric building with a bounding box. As I adjust SizeX, SizeY and SizeZ, the building parts adjust to meet the volume defined by the bounding box. So, you would relate SizeY to items in the Grouper.

    A good example from the Library is the ColonialStair. If you adjust the Size handles of the Grouper, all the parts modify themselves according to the parameters you related internally. If you adjust internal items, since they are related to the Grouper Size parameters, the Grouper bounds will change.


    ColonialStair.gif

    In this case, all the items in the Grouper are literally inside the Grouper. If you double-click on the Grouper node, it will open up to reveal the nodes in the Grouper's subgraph.

    If you then set a Chair on the top step and relate its Trans_Y to the Grouper SizeY, the Chair will always be atop the stair.
    StairAndChair.gif

    Capto_Capture 2018-06-01_12-49-16_PM.jpg

    In the early days of AX, the Size parameters did automatically hug the internal objects, but it wasn't easy to make self-contained parametric objects that could be controlled by simple boundary handles as with many of the library items. Without telling the grouper the relationship of the internal parts, then if you just resize the SizeY, it wouldn't know if it should just redistribute the internal objects, change their heights, or some combination of these behaviors.
    Again, if you construct the subgraph to use the Size parameters reciprocally, then adjusting the size of an internal item, will resize the Grouper bounds. For example, here I have placed a vase on top of a bookcase. If I adjust the Grouper SizeY handle, the vase follows. If I then select a part of the bookcase Grouper, the Box that defines the side panels and shelves, and extend it, it adjusts the Grouper SizeY bound, which then adjusts the vase's Trans_Y.

    BookcaseAndVase.gif
    So the Grouper is an interface that encapsulates objects and logic below, using the bounding Size parameters as a sort of grand adjuster for the parametric model (in the is case, a bookcase).
     
    Last edited: Jun 1, 2018
    JLO and chelnok like this.
  37. logixworx

    logixworx

    Joined:
    Jun 29, 2017
    Posts:
    71
    How can I access an individual generatedGameObject instantiated by a GridRepeater as a node in Archimatix? Is there a node that lets me select a specific instance from a list?
     
  38. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @logixworx - there is not currently a way create a node for a specific Instance created by a Repeater. However, coincidentally, I was just mulling this over a couple of days ago because I would like to add the ability to create physics joints between individual objects generated by Repeaters. There are two ways that I can see implementing this. The first is that you connect to an object at a certain "address". For example, in the GridRepeater, an address might be item_2_3, which would be the second column, third row. The downside of this is if you then modify the Repeater so that there are only 2 rows, what happens to the connections made? The second way could be to specify a zone, so that you connect to the item that is within a specified area. It would be helpful to know how you would like use such a feature. If it to manipulate the parameters of the object, then that would require an extra feature on top that lets you alter the item as a Replicant rather than an Instance.
     
    logixworx likes this.
  39. logixworx

    logixworx

    Joined:
    Jun 29, 2017
    Posts:
    71
    I've deduced that I likely have to write my own AX node in order to accomplish what I'm trying to do.

    As a graph, it would look like a long list of rectangle Shapes connected to a Shape Merger, which Intersections the shapes and feeds it to a mesher that is basically Extrude extended to generate a heightmap on the top and bottom caps.

    I want these three stages rolled into a single 'primitive' node that:

    1) Programmatically generates a list of application specific variable sized rectangle shapes (based on app specific heightmap data)
    2) Feeds the shape list to ShapeMerger, which outputs as Intersection to a custom mesher
    3) Generate a triangle optimized application specific mesh ( similar to Extrude but with a heightmap on the top and bottom)

    So I'll need to get up to speed on which AX files I'll have to look at to accomplish this and any advice that could be helpful.
     
    Last edited: Jun 6, 2018
  40. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    377
    @roryo is there any way to turn/control the shadows on a Mesh that is Extruded?

    i.e. to set it so it does not receive shadows?
     
  41. xj1982xj

    xj1982xj

    Joined:
    Sep 19, 2017
    Posts:
    35
    Hi roryo, is there anyway to save the prefab of "Prefab Node" when press "Save to Libray Folder" ? so that when i recall this saved file , the prefab will not be init as null .
    I have much "Prefab Node" in an "Grouper Node" , when i recall this Grouper , the "prefab" in this Grouper are all init as null , (i know when saved , it just save all param of Nodes into Jason , not include GameObject ) ,So is there any way to recover prefabs when recall Grouper from ax file?
    Because much Prefab Node recall from Grouper got null , i have to re-assign each specific prefab to prefab Node , that cost error-probe and ineffective , hope you can give some idea or new update version will fix this ? :rolleyes:
     
  42. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    911
    I have a few beginner issues :)

    Version 1.1.4
    1. Create new scene
    2. Add arts and crafts chair
    3. Make it wider by the red handle
    4. Stamp it
    5. Reselect the AX version
    6. How to i get the handles back?
    7. press ctrl z bunch of times most of the AX GO's are gone but not all
    8. The stamp copy remains in the scene hierarchy.
    EDIT: Okay so I figured out after a stamp in order to get the selection handles to show up when you select the highest level GO you need to select ArtsAndCraftsChair under generatedGameObects at least once.

    Is that expected behavior?
    Why doesn't undo ... well .. undo?
     
    Last edited: Jun 10, 2018
  43. AVOlight

    AVOlight

    Joined:
    Apr 15, 2014
    Posts:
    401
    Hi @roryo
    is there a supported way to animate node parameters? or plans for a separate asset that enables this?

    also i extended your PlanRepeater and added parameters for P_ProgressiveScaleXYZ, but the scale of the node meshes resets after i stop editing

    archimatix.repeater.scale.a.png archimatix.repeater.scale.b.png

    also, Thank You for creating this AMAZING asset :)
     
    roryo likes this.
  44. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    911
    Is there any real time assistance available maybe via a slack or discord server?
     
  45. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    There is a slack channel, though you will need an invite from rory. Shoot him a PM
     
  46. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,025
    The slack is ok if your question is very simple and can be answered in a sentence or two.

    try: http://community.archimatix.com
    Rory is automatically notified for each new subject.
     
  47. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    911
  48. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Hey @ibyte ,

    That was actually a site I ran. However it never got much use (actually mainly just me), and when it came up for renewal I decided against it for the time being.I do have any of the files you may be looking for from the site if there was anything in particular you were looking for. Also while the site is down for now, expect to see the repository capabilities for AX files returning to another project I have been working on.
     
  49. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @puzzlekings - Not yet, but it would be easy to add the MeshRenderer controls to the node palette. I will try to get to that in the next couple of days.
     
  50. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,367
    Hi @xj1982xj, this was a bug a while back, but thought it has been fixed. I just did a test in 1.1.5 and it is working there (though I notice the thumbnail is blank). What version of AX are you using?