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

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    As it turns out it looks like difference rail either has a bug or I don't fully understand its use.

    Do the following make a square, do difference rail with a rectangle to cut out two room door openings, one at the top and one at the bottom, use this resulting 2d shape as a plan with a wall profile.

    The result has the normals on one side facing out while the normals on the other face inward. This seems impossible to fix as it's the same 2d shape (so I can't invert it, I can't invert only one side) .

    Does anyone know of a possible work around?
     
  2. tosvus

    tosvus

    Joined:
    Dec 27, 2016
    Posts:
    44
    That sounds great Roryo! I just have to convince the boss (wife haha) that this is a must have for my project :) Good explanation, though it would be great if you can touch upon your mentioning of "Substance Support". That means Substance Painter/Designer right? SD is node-based so marriage made in heaven I guess! :D I've started playing with SP and SD but hoping the workflow is better than working with models from Blender.

    Also, I see you have mentioned several new features down the road - are you planning on selling new versions and charge upgrades, or do you see yourself maintaining and adding features without requiring (at least) frequent upgrades?

    Thanks again!
     
  3. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am hoping to push this update out at the end of this week.
    If all goes well, I will post the update at the end of this week. ;)
     
  4. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Great! I will check to make sure we don't have any incompatibilities with DunGen.
     
  5. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    There is a bug where the resulting open lines of the DifferenceRail are not all always running in the same direction as the source shape. The work around for now is: on the Extrude node, turn on Backfaces. Another workaround is to "thicken" the square input first and then cut the door openings with a Difference.
     
    Last edited: Mar 19, 2017
  6. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Ah - sorry, I forgot your substance question! Substances output by SD/P can be applied to a Material node in Archimatix. I still need to figure out how to expose the parameter controls for the substance in the node's Inspector. For now the default parameter settings for the substance are what will be transformed to the AX-gerneated GameObject.

    Right now the plan is that owners of Archimatix will get new features included in free updates as they are available. I am thinking of releasing an Archimatix Basic for a lower price in the future that will have a starter set of nodes for basic modeling. For Archimatix Basic, major new nodes and other features will be packs the can added with additional purchases.
     
  7. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Unfortunately, neither of those work for me. I need backfaces culled so thickness doesn't work for performance reasons but even if I can suffer through that, I still have issue as I am using a plansweep and the bevel faces the opposite direction when the normals are reversed. So half the room has bevel facing out the other half has bevel facing in.

    Thanks for the input. This one is kind of a big deal for what I plan to use Archimatix for, so the sooner this gets in the queue the better. Thanks for the support keep up the good work, this is a great piece of tech.

    Update: its looks like I can get thickness to work, but it still produces more backfacing geometry than I would like for performance reasons., but your right it does look like it works.
     
    Last edited: Mar 19, 2017
  8. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Great - glad it is working for you for now. The DifferenceRail bug is a high-probity one, so hopefully a fix soon!
     
    joelfivat likes this.
  9. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    That is good news, I can't wait for that fix.

    After looking around i have my first request for a new node:

    -I would love for PlanRepeater to have a way to submit a pattern of models to cell. What I mean is that I would love if every other model could be say an arch, followed by a wall decor, then an arch again, etc ( or every third model, or setup a repeating pattern of 3 or 4 models). Perhaps a new node that would alternate between a list of models that we can use as input to the cell (or any other model node input really).
     
    roryo likes this.
  10. tosvus

    tosvus

    Joined:
    Dec 27, 2016
    Posts:
    44
    Great, sounds like a good approach! I think I will go for the full version, as it sounds like your planned stuff seems very useful :)
     
    roryo likes this.
  11. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    :)
     
  12. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    This is certainly a must have feature! Just added a card for it at our Trello site. There's also a card for the DifferenceRail fix on the "Developer Hot List" ;)
     
    Last edited: Mar 20, 2017
  13. C3P

    C3P

    Joined:
    Oct 26, 2014
    Posts:
    46
    bought the asset and i must say it's an incredible tool, i'm pretty sure this will be the next big thing in game design.
    You could best compare it to World Machine in my opinion, Archimatix will be the go-to tool for architecture modeling.

    Rory, i'm interested to see your workflow for simple structures(interior/exterior) like the one in the picture below:
     
    roryo likes this.
  14. tosvus

    tosvus

    Joined:
    Dec 27, 2016
    Posts:
    44
    Ok, I managed to buy it, so looking forward to playing around with the software tonight! :)
     
    roryo likes this.
  15. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks, @C3P and welcome aboard!

    For a box-like building I might model the walls separately and use a GridRepeater2D to cut the windows.For example, the end wall closest to us has the windows off to the left side. You can feed a Rectangle into a GridRepeater2D and subtract that from a larger rectangle using a ShapeMerger. Then feed the output mesh of the ShapeMerger into and Extrude with its axis set to NZ. Then you can play with the grid controls and/or shift the centroid of the grid off to the side.

    Archimatix 2017-03-20_06-08-43_PM.jpg WindowGrid.gif

    Then you could make the long wall with a similar setup. Both walls could be PairRepeated to complete the box.

    For a more complicated building plan, you could use PlanRepeater and PlanSweep together (I need to do a tutorial on this!).

    Another new node in the roadmap is WindowWall, which will automat "punched hole facades". This node will take as input a Plan shape and RepeaterTools, applying the logic to each segment of the plan.
     
    antoripa, DasBiot, C3P and 3 others like this.
  16. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks, @tosvus! Looks like you got your purchase in just before the Asset Store went down for the day!
     
  17. tosvus

    tosvus

    Joined:
    Dec 27, 2016
    Posts:
    44
    I did but was at work, so I guess the download will have to wait until tomorrow :/

    That said, your tip above was useful for how to do windows, so will try that, plus I spent 1.5 hrs learning a bit more of Substance Designer, which will come in handy anyway :)
     
    Last edited: Mar 21, 2017
  18. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Another bug report, Since you seem to have a card for it. This may be extra information:

    Prefab Instance doesn't seem to work at all, except if you group it with another parametric object. When grouped everything works. However if you disable the the second object in the group the the Prefab Instance disappears as well.

    I tried this with a parametric cube, as long as the cube was active I could see the prefab. Note the preview image for the prefab generates just fine on prefab instance node. The groups preview image did not include the prefab just the cube.

    Even when combined in a group, working with a repeater and dragging the group around via the handles made the prefab disappear (however the cube appeared just fine, just the prefab from the group disappeared). It reappeared after dragging was complete.

    For those trying to work with prefabs and having trouble, simple group it with a planeprimitive and scale the plane with zeros. it adds an extra 4 verts but it's better than nothing. Whenever he gets this working just go back and remove the plane. Also note that you can't combine meshes on the group or your prefab will disappear again.
     
    Last edited: Mar 21, 2017
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for reporting this, @Enoch. I am having trouble reproducing it, but I have added a new Trello card for it until we figure it out. Could you post an image of the node graph in a state where the PrefabInstancer is not working?
     
  20. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Sorry I should have been more specific. Its the usage of Prefab Instance in a Plan Repeater that makes it disappear. Its fine if you put it in the graph and drag it around. I will try to post a screen of a simple graph displaying the issue.

    ArchimatixBug01.PNG screen_512x512_2017-03-21_13-16-59.png
     
    Last edited: Mar 21, 2017
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Excellent! Thanks for the clarification and thanks to the extra detail you provided, the bug has been squashed! Will be in the first update. The upside of the misunderstanding is that now I can close two Trello cards instead of one!
    Archimatix 2017-03-21_12-11-11_PM.jpg

    The Prefab being repeated here is Statue_3 from the Statues Pack by ChermandirKun.

    I still need to fix the drag-display of the prefab meshes and the thumbnail. Should also be in the first update. ;)

    Hmmm, and this makes me remember how nice it would be to alternate all the statues in this pack... now tempted to move this card into the Developer Hot List!
     
    Last edited: Mar 21, 2017
  22. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    -------------------------
    Fantastic. I can't wait.

    You won't see me cry if you hot list alternating inputs (however you do it);).
     
    roryo likes this.
  23. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I think I have squashed all the bugs related to PrefabInstancer (including the thumbnail renderings). The fixes will be in the update I submit on Friday ;)
     
    punk, Enoch, wetcircuit and 1 other person like this.
  24. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Well I have another bug to add to the list regarding prefabs unfortunatly:

    -It looks like prefabs saved in a group to the library lose their links when instantiated from the library. Meaning while all of the transform configurations at set correctly for the PrefabInstancer there is no gameobject attached.

    -Also is there a math node to perform complex calculations on multiple inputs with possible multiple outputs? For instance I need to set the value of something based on say the width and x position of a 2d shape. Is that possible right now?
     
  25. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Nice catch on the lost links coming from the library... I'm on it!
    Per the mathematical expressions, have you had a chance to take a look at the "Getting to Know Your Relations" chapter in the User Guide from the Documents folder? That is a good starting point for using mathematical expressions to relate parameters to each other.
     
  26. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    I looked at that, but it looks like misunderstood because you are required to drag a relation from one variable to another.

    If I drag Square.Trans_Y to SomeShape.Trans_Y can I then put the following in the box?:

    [SomeShape.Trans_Y = ] Square.Trans_Y+ (Square.size/2)

    It wasn't completely obvious to me that you could use two variables. If this is the case how do I get SomeShape.Trans_Y to update if either Square.Trans_Y or Square.size changes?
     
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Ok - I see. This gets into an advance topic in relations. Let's continue this on the slack. ;)
     
  28. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Outstanding! Would love to have a flying carpet to can the full experience of this environment!
     
    wetcircuit likes this.
  30. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    I am making progress on a setup that allows me to essentially change the height or width or both of a room and everything adjusts correctly, in real time:
    TestRoom.gif
    For this I am using assets I repurposed and retextured from the Multistory Dungoen asset, the result (after some post processing to add prop spawn information) gets feed into dungen eventually.

    This is the first iteration is nothing fancy (it's a square room), but this base will allow me to eventually very quickly throw down a rounded room section anywhere and every thing should (mostly) work. Or have a room built from square or rectangle sections of any size and all the pillars and corner pillars and door frame pillars should still be logically placed and correct.
     
    Last edited: Mar 23, 2017
    antoripa, Arganth, Fab4 and 3 others like this.
  31. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  32. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @Enoch, this is a great example of how modeling one room with some smart in Archimatix can let you buildout dozens (hundred) of versions quickly. Love that vaulted ceiling. A PlanSweep node?
     
  33. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I really like the detail around the shaft of the column. Is that a wall profile shape from the 2D Library PlanSwept around a Gear shape from the Library! Has a great look! I am going to go out on a limb and guess that there are seven nodes used to make this scene...
     
  34. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Really cool how you used other assets to make something new. I love it!
     
    punk and roryo like this.
  35. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Ok - since you guys are posting AX work, I will toss out some bacon too! A five minute Roman building model, with the following two variations each taking a second or two!

    Archimatix 2017-03-23_02-35-10_PM.jpg Archimatix 2017-03-23_02-34-56_PM.jpg Archimatix 2017-03-23_02-34-45_PM.jpg

    The meshes are all generated by AX, with the exception of the statues which are generated by a PrefabInstancer that instantiates Statue_3 Prefab from the Statues Pack by ChermandirKun.

    I'll include this model for free in the AX 3D Library for the first update (coming soon). ;) Of course, I can't include the statues, but the PrefabRepeater will be in the graph, so you could drag any prefab you like in and it will repeat along the roof automatically.
     
    laurentlavigne, DasBiot and Teila like this.
  36. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Neat!
    Now, can you make that with a variety of statues on the roof? :)
     
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Alternating Repeater Inputs is a new feature high up on the Developer Hot List. It may not make it into this upcoming first update, but certainly by the one after that!
     
    wetcircuit likes this.
  38. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yes! Gear and a wall sweep. The "sepal" at the top of the column is molding from the same gear, then the rain catcher is the dome inverted on a 12-gon, but I should go back to the gear for rib support maybe….. Grid repeater of course. idk how many nodes in all, lol.
     
    roryo likes this.
  39. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The problem of making a "smart model" with Archimatix... you can't stop playing with it!

    RomanBuilding.gif
     
  40. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I tried to do this with the Villa Italinan, but WAAh WAAH it does not do this. lol.
     
    punk likes this.
  41. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    Started building a fortress for Brides of Vampira here's some WIP shot's
    amazing tool you have created here bro @roryo I really love it!
    bang goes all my free time :)

    darkFortress.png darkFortress2.png
     
    Xepherys, roryo and wetcircuit like this.
  42. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    punk likes this.
  43. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    thanks for making it bro, it's a joy to use!
     
  44. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    is it possible to isolate an object?
    also can we access PI in the expressions tab - do you have a list of supported functions?
     
    Last edited: Mar 24, 2017
  45. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277

    could you give a quick rundown on how you accomplished this?
    That would be really nice :)
    my setup is nearly the same (DunGen, AM, Dungeon Assets)
    and I also would like to use the Assets in AM
     
  46. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am not sure what you mean by isolate?
    Glad you are starting into turtle scripting! All of the Math functions have been mapped into AX script functions. For the constants, you need to call them as though they are functions, so in the script, you might say fwd pi().
     
  47. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    When I say Isolate I mean if you have a bunch of nested group nodes say and you want to work on one that's deep inside the model, isolate it and the rest of the model disappears, so only the isolated group shows

    I've been getting heavy with the expressions you can do some cool thing's with scripting!! Gonna build half my game with this stuff :)

    Another thing with the expressions are you able to do conditional expressions?
    e.g. if radius<1 radius = 1
     
    Last edited: Mar 24, 2017
  48. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Great idea! I'll create a trello card for this.

    :)

    if radius LT 1

    LT <
    GT >
    EQ =
    NE !=

    unfortunately, we don't have an "else" yet.

    To see how loops work, see the Gear shape's logic
     
    punk likes this.
  49. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Ok, I will try and do this but this work is in a huge state of flux currently. So you might only get something as simple as posting my graph and then fielding questions. However I need to point out that I actually had to work close with roryo and even make some changes to the code to get some of this to work in the current version. I will try to post some screenshots of my graph later tonight.
     
    Arganth likes this.
  50. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    Ok So here is the graph:
    RoomGraph.PNG

    The section in blue is where I defined the doors for them I used size 6 square sections and positioned there center where I wanted the door center to be.
    DoorsOverhead.PNG
    If you look at the graph the orange lines represent where I tie the size of the base rectangle to each of transform positions of the door shape squares. This moves the doors to the edges when I adjust width and height of the base rectangle.

    Inside the yellow grouper box I put the prefabInstance nodes for all of the details the door needs, both door pillars, both window archs that sit on either side of the door, and I used a new extrude of one of the bevel shapes to form the bottom frame of that decorative window. Note that all of these are transformed relative the door center.

    I used the door shapes to cut the room shape so I could form the shape for the walls and trim and cell pillars. The walls are about 6.5 m high and sit on top of the trim that is about 1.5m high. The cell pillars are the 8m Half pillar prefab (so they have no back geometry) from the multistory dungeon set. Note they are attached to cell so they should appear at the center of each cell. The cell size is 6m, this means I need an inset of 3 meters (we skip the first 3 meters in either direction around a corner). This puts a pillar every 6m skipping the corners (they have a separate pillar type).

    In the lower right corner you will see where I now construct arches dynamically using a plansweep versus before where I used MS dungeon prefabs, this changed the look my room a little:
    RoomArches.PNG
    I needed to do this because I am starting to get away from fully square rooms and the corners are no longer 90 in all instances (some 270), so I couldn't use the archs like I was using them. It became so much easier to let Archimatix generate them as they fit the room better.

    Let me know if any of the other sections don't make sense and I will try and explain. Hope this helps.
     
    Last edited: Mar 25, 2017
    Arganth, punk, Starpaq2 and 1 other person like this.