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

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    810
    I completely feel ya man, and @roryo's example probably took a little more setup than it appears because AX doesn't have the ability to deform stuff in specific ways just yet. However this is one instance where taking from Polygon modeling isn't a bad idea...

    Perhaps a simple "Bridge" Node might be something on @roryo's radar?

    No need for a Deformer node yet, as it would take the verts of a 2d shape positioned at any angle and linearly extrude (or possibly sweep?) them to some other 2d shape with the same number of verts, allowing the mesh to be generated with start and end shapes both at a different orientation or scale (allowing a shape merger to generate a ramp, for example, without requiring any extra geometry besides at the slope bends to combine with the rest of the pathway). It wouldn't even need to have the same vert heights, as any geometry could really be used, as long as at least one of the shapes are a 2D AX shape node.

    Maybe something like that is already in the pipeline @roryo ?
     
    Last edited: Apr 28, 2017
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Here is the graph:
    Archimatix 2017-04-27_11-26-34_PM.jpg

    As @awesomedata, surmised, the graph took a little while to set up (about 15 minutes). @Fraust guessed correctly that I split the model into three parts: the two platforms with ramp landings protruding and the ramp in the middle. The Ramp is a group in this graph and is itself a generally useful parametric object whose height can be related to the height of the platform it is connecting to.

    If this were a one-off form, then it may be easier to model in Blender and import into Unity (for me, i would still use AX ;-). But once you do set a graph like this up, you can begin to make many permutations quickly, either by varying the parameters or by replacing shapes. For example, the green arrows point to the three main shapes that determine the overall 3D form. If you swap in other shapes here you will get very different results.

    Once you save this graph to your Library, you can use it many times in the future, so you don't have to start from scratch every time. Over time, your personal library will grow and continue to make your model building more productive and allow for lots of variation within you particular style.

    Once you set a graph up and begin to play with the parameters, all sorts of serendipitous results emerge. For example, if I just make the rectangle that is determining the ramp landing protrusions wider, I get something like this:

    PlatformRamp2.gif

    Because I hadn't related the width of that rectangle to the width of the ramp itself, I wasn't sure what I was going to get. So I just made the rectangle wider and kind of liked what happened.

    Since AX is non-destructive editing, you can continue to play with all the parameters.

    PlatformRamp3.gif

    I will include in this graph in the Library for the next AX update so you won't have to start from scratch on this.

    I think after a while you will get a good sense of what AX does better than other modelers and when it is time to export and do autographical vertex and polygon editing in something like Blender.
     
    Sheriziya, awesomedata, S4G4N and 2 others like this.
  3. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    810
    Working on multi level structures like this can be a pain sometimes because the base 2d shape that includes the handles you manipulate are affecting the upper story of the structure as well as the lower story of the building. This got particularly frustrating with the Villa Romano example. What if I needed 6 different looking floors of my building? That would require some way to visualize what story of the structure your handles are being displayed.

    @roryo, is there any way to let the user toggle whether to display a given shape (or group) and its handles at at the current actual shape's height, perhaps taking into account the height parameter to display it's handles and 2d shape profile? This could make editing ramps and high-rise style buildings so much easier for the user. Perhaps even just a button that will add a new story and its nodes to the graph automatically could solve this since it would inherently be a copy and thus its handles/profile could be seen and edited separately from the other floors?
     
    Last edited: Apr 28, 2017
  4. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    It will be nice to get the Grouper in charge of its subnodes able to curate which handles are displayed when. This is already possible to some degree, but there is room for improvement. I like your idea (from earlier) about an icon list of handle sets that appear when you choose an object. Also like the add floor button!
     
    Last edited: Apr 29, 2017
    Sheriziya likes this.
  5. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    810
    Thanks @Rory -- I'm really glad to hear my ideas work for you! These are general usability things that I think could take AX very far in terms of usability.


    Speaking of taking AX usability...


    I've been mulling over how to handle complex 3D parametric forms (such as a multi-layered gabled-roof or fancy 3D parametric objects with lots of special geometry) in AX for weeks now, with no good results -- This is especially necessary for users like me who just can't seem to shake the need for polygonal modeling while modeling in AX. However I think I've figured out a way to finally make users like me happy. I'm sure this one will even please Robot Kyle too!


    Without further ado, here goes:


    I love AX, and think it's a strong modeling program -- however it's not a polygonal modeling program. On the other hand, we're dealing with polygonal models in our games. AX is also capable of generating lots of useful polygonal geometry too right? The issue is that it can't generate the sort of complex polygonal geometry we sometimes need for complex portions of our models. On the other hand, everything else it does is still really AWESOME, so we've just got to find a way to work with it harmoniously.


    So let's start by redefining the issue first....


    Instead of the issue always being about how AX and Polygonal-Modelers are at odds, how about taking the inevitable polygonal modeler OUT of the follow-up / refinement stage, and putting it into the MIDDLE of the workflow instead. Rather than first pushing AX to its limits to generate 3D geometrical forms that it can't easily do and trying to find ways to make that happen with special nodes, how about letting the 3D modeler ITSELF set parametrics for its full-fledged 3D forms, and then let AX handle shifting the existing geometry around based on the parametric relationships of the 3D geometry defined in the modeling program (or Unity!) for the specific shapes until one reaches the desired result in AX?


    This workflow would allow you to use actual 3D shapes AS parametrics (that now no longer have to be generated in AX as 2D shapes first, which opens up a whole new world of possibilities!) You would simply define edges and points in the modeling program and label them as a "new relationship" using some form of an editor and scripting to label the data, then AX would import and act accordingly on the geometry that was labeled based upon what the actual relationships were, be they verts related by distance on a specific axis, all directions, angle of the edges, edge rotations, face extrusions, bevels, or whatever!


    Define a set of points, edges, or faces in the model in Blender or ProBuilder, where custom data is allowed and can be exported on a per-model basis, complete with an interface to do the labeling and relationship-type selection, and we'll be well on our way to having full-on 3D parametric objects.

    These data labels/relationship files can then be imported into AX alongside their respective 3d models and AX can translate the verts of the model. For example, the verts involved in the relationship labeled "width" would be translated by AX on the x-axis using an "x-distance" relationship-type defined in the relationship file by a Blender toolset/custom-editor/panel/tab/interface that lets you export the data when you're done to a file that AX can read, preferably one that is read automatically when a model node is added and the file exists with the same name.


    Keeping with the example, once you have your parametrics file for your 3D model loaded in AX, you could simply slide the "width" variable and the verts would translate based on that x-distance relationship between them, since that's the type of relationship those verts have been given in the modeling program.


    In the end, complex 3D shapes could then be serendipitously doubled as 3D parametric objects in AX as well !!
     
    Last edited: Apr 29, 2017
    C_p_H likes this.
  6. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Hey @awesomedata

    Excuse me, but this, for me is complete bullshit. For me the strength of AX is, i can do it all in Unity, and had not switch back/and forth 3D-modelling apps(even if they are inside, like ProBuilder).
    AX 3D capabilities are based(mostly) on 2D-Shapes, which you can create with build in turtle-script(but you have to learn it!!). In it you can set your shape, with lines, beziers and arcs. And in this shape, you can even set handles, that can alter your shape. And you can expose parameters. That is pretty amazing! This shape is parametric.
    But you had to learn the thing! And not all, what is imaginable, could be build with AX.
    I´m struggling the last weeks, learning AX, for me the foundation is turtle-script. If you have something in mind, or rebuild, you most often, begin with a shape(unless you begin with free curve).
    As i said, i´m struggling. Especially the loop-functions are sometimes frustrating. And as lousy coder, i always had to look for the right mathematics(https://www.mathsisfun.com/algebra/trigonometry.html helps a lot :)).
    But last year i coded something(easy) parametric in three.js (in the end it was more than 2000 lines of code) over months, and with this kind of experience, all is pretty fast going in AX. I replicated the base of this model, in only a few hours in AX.
    And there was this other request on trello for a HollowCone shape. I saw it and tried it out. I have it going in less than half an hour, and i´m really not well structured, for me its always try and error coding! ;)
    But i totally agree, there is a lot of frustration. And need for enhancements.
    And you had to break down modeling-needs to the things possible in AX. And there is some lack here(like 3d-Shape-Extrusion, and, and....), but they will come.
    And really complex modeling, would never be possible in AX. Therefore apps like FormZ had to use underlying libraries for their modeling, which they had to license.

    I think, there is a lot of room for improvements, especially in this turtle-script thing.
    For example: we have this free-curve. With it we can trace object. It would be great, if it could generate the necessary code for turtle-script(as a beginning point)! Will post it on slack!
    And since Rory is the only coder(i think) working on AX, its also about prioritizing features.

    But in the end, all will have their special needs. I´m a pretty happy customer so far, for me(i´m mostly in this visualizing thing), breaking down models to their parametric nature and values, and having only one model(instead of a few dozens, or even more) in scene, and perhaps would (soon?)be able to regenerate this model in runtime, or even let the end-user grab some handle to alter the model, is just a fantastic perspective!

    Cheers
    Michael

    Edit: And now we can even do our own custom nodes! I think, @RuinsOfFeyrin is hard at work now ;), i´m a little bit confused :rolleyes:
    2nd Edit: Unfortunately all the requests and slack posts and and and... will take time to reply. I caught myself posting more that i want... Remember, this will also strip time from the developer to improve AX.
    So i will be quiet for some time... :oops:
     
    Last edited: Apr 29, 2017
  7. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Great news on Archimatix + Surforge integration - @Sergeyv_3d, the Surforge developer, has worked out a way to edit Surforge textures without having to Stamp out the Archimatix model. This means you can modify the texture and modify the model, back and forth iteratively. He just posted a video showing the workflow.



    Both Archimatix and Surforge are on sale at the Asset Store today and tomorrow!
     
    Sheriziya, ibyte, Teila and 8 others like this.
  8. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    810
    You seem to both misunderstand me and just really dislike using modeling tools too (and I completely understand the latter btw~!)

    However saying something is "complete bullshit" before having a solid grasp on how what is being suggested is for the betterment of all involved (instead of just your preferences or mine) is actually a bigger problem.

    Due to this, I want to address a couple of things you said:

    Firstly, the only thing I'm suggesting is dropping the implied notion that the prerequisite of ALL parametric output from AX is required to originate as 2D AX-shapes first before it can be parametrically-controlled and reshaped by AX.

    Beyond this, let the user offer another means to supply that missing data to AX, which includes what vars, controls, and operations to allow it to perform on what portions of the 3D mesh, making the 3D mesh sort of a node in-and-of itself.

    This leads to a HUGE number of possibilities for AX that it cannot do alone with the 2D approach, and with the supplementary help of a 3D app OR something like ProBuilder (which you have already stated your dislike for numerous times), the amount of skill one requires to generate the type of parametric objects they envision is minimized if you already have a 3D object you wouldn't mind making parametric by simply passing in a special descriptor file to AX and letting it figure out where everything should adjust visually based on that file describing how verts and edges should relate to one another, or special cases where an AX effect should apply to a set of selected polygons (i.e. internally making a 2D shape from some of this data where necessary.) It in no-way says "toss the 2D and make everything 3D now!" because there happens to be a LOT that's much easier to produce in 2D the way AX currently does it than it is to produce that very same thing in 3D. The same thing is true BOTH ways though, so why can't they work together to achieve what the user actually wants to make?

    Instead of forcing the user to be limited by what AX can't do and waiting for @roryo (or someone else!) to magically make you a node to do specifically what you want, why not just make it yourself in a modeler, or take an existing model and make that parametric? Then you can take that 3D parametric model into AX and manipulate it just as you manipulate 2D shapes, minus a little flexibility to change the whole form at any point in its construction?


    This pretty much renders your case for modeling entirely in AX impossible.

    Instead, why not make it possible by taking what I'm suggesting and integrating an already-existing modeler into the AX workflow (without licensing issues, as you mentioned), rather than using it solely as a corrective-tool at the end. My biggest pet-peeve of 3D in general is that I have to use so many separate tools to author my content that (here's the important bit: ) that have no idea about one-another. In the end, unlike the cool Surforge integration, if you keep the workflow to where Blender, for example, had no reason to know anything about AX except for what data AX needs to operate on AND what operation AX needs to perform, then send that data authored by Blender to AX to execute that data, you'd have no limitations at all in AX, and, now, AX could author and even do parametrics on ANY geometric form.

    Please, @mensch-mueller, feel free to continue this in private to avoid cluttering the thread, but I hope my explanation was sufficient this time.
     
    Last edited: Apr 29, 2017
  9. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    Hey everyone, here's an unofficial site that I set up for sharing Archimatix Objects. Feel free to use it. It has no ads or login, and I hope it's easy to use.

    AX_CommunityLibrary.jpg
     
    Last edited: Apr 29, 2017
    Arganth, Teila, punk and 7 others like this.
  10. Hitch42

    Hitch42

    Joined:
    May 12, 2015
    Posts:
    97
    This is a real "You got your chocolate in my peanut butter" development. I'm really looking forward to trying this.
     
    roryo likes this.
  11. Vartib

    Vartib

    Joined:
    Jun 14, 2012
    Posts:
    71
    I just bought this asset during the sale, and it was perfect timing since I was just about to get started on some models. I'm blown away, this is such a game changer. And now I'm reading that Surforge is integrating with Archimatix... wow.

    Not sure if this is the place to submit something like this, but I wanted to provide a slightly altered version of the ArchPanelShape logic. I needed a freestanding "arch" with a single inner segment (looks like a standard doorway). When I set the segment value as 1, it instead created an archway with a segment count of 2. It's up to you, but I think it'd be helpful to update the ArchPanelShape with this behavior. If there's a reason not to, then it'd be nice to have the minimum segment count set to 2 since the current logic can never create an "arch" with a segment count of 1.

    Code (CSharp):
    1. let rad lesser(radius, width*.49)
    2. let rad greater(rad, .01)
    3. let sprpt lesser(springHgt, height*.99-rad)
    4. let w1 width/2-rad
    5. set segs range(segs, 1, 32)
    6.  
    7. mov -width/2 0 90
    8. right w1
    9. fwd sprpt
    10.  
    11. if segs GT 1
    12. arcr 180 rad segs
    13. endif
    14.  
    15. if segs EQ 1
    16. right rad*2
    17. dir 270
    18. endif
    19.  
    20. fwd sprpt
    21. dir 90
    22. right w1
    23. fwd height
    24. left width
    Also, I wasn't able to get nested if statements working. Here's what I had:

    Code (CSharp):
    1. if segs GT 1
    2. arcr 180 rad segs
    3.  
    4. if segs EQ 1
    5. right rad*2
    6. dir 270
    7. endif
    8. endif
    Did I maybe do something wrong in that snippet?
     
  12. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Hi @Vartib - welcome aboard! Looks like you jumped right into the deep end of the AX pool!

    Thanks for posting this turtle script. It seems to make a lot of sense. I will take another look at the ArchPanelShape this afternoon (enroute to Vision Summit at the moment).

    Nested loops are supported but I haven't implemented nested conditionals yet. :rolleyes:

    If you would like to join the Archimatix slack site, please PM me you asset store invoice if and an email to send the slack invite to. ;)
     
  13. jmacgill

    jmacgill

    Joined:
    Jun 17, 2014
    Posts:
    9
    The surforge / Archimatix combo looks great - now... iiuc surforge surfaces are built from widgets that are actually 3d objects you just need to go full circle and have parameterized surforge widgets that are archimatix models that are used to texture archimatix models....
     
    roryo likes this.
  14. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    133
    Hi Rory - I just purchased Archimatix and Surforge during the last day of the sale. I was sweating a bit when I went to purchase Sunday morning and nothing was on sale anymore, but luckily Unity fixed this fairly quickly!

    I'm really looking forward to using AX and also with Surforge. I'm not an artist, but am still hopeful that I can come up with some interesting and unique creations for our next game. In the past I have bought all models that we have used, as my own attempts at modeling from scratch were pretty bad looking! :)
     
    roryo likes this.
  15. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    193
    @roryo
    I just bought your asset. I love it.
    It seems the official manual and tutorial are still under developing? :)
    I guess you are still busy adding new awesome features into Archimatix.
     
    roryo and marie-hmm like this.
  16. marie-hmm

    marie-hmm

    Joined:
    Mar 25, 2016
    Posts:
    6
    Stuggling precisely with making this work ;) I mean there are some example 3D figures doing that but I don't know the app well enough yet to do the proper reverse engineering.

    Will try harder ;)

    Amazing work with the app, it seems to have amazing possibilities once you really master it.

    Edit: Got it (sort of)
     
    Last edited: May 1, 2017
    roryo likes this.
  17. Tommy-Core

    Tommy-Core

    Joined:
    Jan 24, 2014
    Posts:
    20
    So I just had my first weekend with Archimatrix and Surforge, and let me tell you - it friggin rocks! I'm a coder/gamedesigner by trade, and only recently started art to be more flexible when it comes to my personal projects. What I would love to do, sooner or later, is making a complete city filled with parametric buildings. I would really love to see more tutorials on just about any subject regarding AX. Next thing I'll take a closer look at: Turtle Script =)

    Also, what would be a really great addition (hope it hasn't been posted yet): being able to expose parameters to group nodes, so I can have a few selected handles that control multiple inputs within a group. Would make stamping a lot easier.
     
    roryo likes this.
  18. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Yes - this would be great for LOD as well. Wen near the building, the window frames are 3D, as you get further they become textures. This starts to blur the boundary between AX and SF in a good way!
     
    Tommy-Core likes this.
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Hi @hoodoo - gals you were able to get in on the sale!
     
  20. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Hi @Dan2013 - yes, the manual and tutorials are still being developed. Since the launch I have a much better idea of the priorities for documentation based on people's questions. :)
     
  21. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    If you haven't done so yet, it will be very helpful to go through the entire User Manual and one or two of the tutorial videos. As you become more fluent in Archimatix, you can become more poetic with it!
     
  22. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Thanks, @Tommy-Core! Yes - exposing parameters in the Group interface is in the roadmap, as is promoting them to the model level (a key part of runtime AX).
     
    Tommy-Core likes this.
  23. Hendrix06

    Hendrix06

    Joined:
    May 9, 2014
    Posts:
    1
    I took the plunge and bought Archimatix during the sale, and coming from a traditional modelling background I'm quite impressed. I was actually inspired by the piano tutorial which was one of the deciding factors in my purchase since I can see lots of uses for creating variations on props rather than just architecture.

    Here is what I was able to come up with in my first day while trying to learn the tools. I haven't implemented handles yet for things like the neck and allowing the frets to adjust automatically, but that would be a good next step to learn.

    archimatrix_test_1.png

    archimatrix_test_2.jpg

    Traditionally doing the variations would have taken me some time. Instead they took about 2-3 minutes a piece. Game changing for a solo dev.

    Looking forward learning more and getting a handle on the architecture side of things.
     
    Sheriziya, Teila, coverpage and 9 others like this.
  24. Vartib

    Vartib

    Joined:
    Jun 14, 2012
    Posts:
    71
    Some questions/thoughts:

    1. Is it possible to randomize material uv shift for meshes created by repeaters? I have a big grid of square columns that are supposed to be stone, but since they're all made of the same extrude, it's really obvious they use the same texture. If it's not currently possible, would there be a reason it's not possible to add it in the future on some technical level?


    2. Can a repeater somehow use multiple meshes and randomly choose which mesh to generate, possibly with weights to determine the chance of each mesh being selected?


    3. This is a feature request I believe, but would it be possible to add a new random value tool to work based on increments? So, we'd have three values: minValue, maxValue, and incrementSize. It would select a value between minValue and maxValue, at increments of incrementSize.

    As an example: minValue = 0, maxValue = 12, incrementSize = 3. The possible values it could return are 0, 3, 6, 9, and 12. I guess some logic would need to be added when setting the values to ensure they'll never divide out with a remainder.

    Actually, I think there would need to be two new tools: RandomIncrementValue that calculates a random value as described above and provides it as an output, and RandomIncrementOffset for Repeaters. In order for this to be used with Repeaters you would need to change the "Jitter" inputs to something more general, like "Offsetter" (maybe there's a better word?). If you connect a now renamed "JitterOffset" node it would work as it currently does, but if you connect a RandomIncrementOffset it would randomize the appropriate values based on the the increment system described above.

    Using RandomIncrementOffset, you could rotate objects at random 90 degree angles using: minValue = 0, maxValue = 270, incrementSize = 90. The possible rotations it could produce are 0, 90, 180, and 270, but it would be random for each object.

    This would allow for some really fine-tuned randomness.


    4. I'm sure you caught on to the theme of my questions at this point :D Archimatix is so, so close to being an awesome tool for random proceduraly generated objects, and all it would really take is the ability to set a seed value and the new "Random Increment" tools described above. Ideally, there would be two seed values: one for the model overall, and one for any randomizer nodes. When a randomizer node gets added, it should set a random seed of its own, which can be changed after the fact. Setting the model seed could be done by adding a new input field in the bottom right corner of the Archimatix window, next to Detail level.

    This would add a whole new world of options for Archimatix. Instead of directly setting the size of a building, I imagine creating individual RandomIncrementValue nodes for the length, width, and height. When you change the seed value for the building, the building's shape would change automatically. As long as all the other relationships are linked up correctly, you'd have a completely new building/object simply by changing the seed value.

    I'm obviously biased, but I think this would add a lot of value to what's already one of the most useful Unity assets.


    EDIT: After posting this I remembered reading a post of yours on the previous forum page where you mentioned that creating custom nodes was added, so I was going to go ahead and put together an implementation of the RandomIncrementValue node. Am I correct in saying that the custom node functionality hasn't been released yet? I'm not able to find the ICustomNode interface to implement.
     
    Last edited: May 3, 2017
  25. Tommy-Core

    Tommy-Core

    Joined:
    Jan 24, 2014
    Posts:
    20
    That sounds promising. It would definitely be great for having many objects that need to be rendered from different distances, i.e. a city skyline =D

    Awesome! Looking forward to the coming updates.
     
    roryo likes this.
  26. movra

    movra

    Joined:
    Feb 16, 2013
    Posts:
    571
    Today I received an email about the free online LOD generation service Simplygon Connect, so I tried feeding it the Archimatix RedShip model. I was curious what Simplygon would return with all those Archimatix scripts. To my surprise it came out pretty well. All the Archimatix editing capabilities seem to be intact and the model looks just like the original but with only ~60% of the triangles.

    SimplygonConnectAX.jpg

    On top is the Archimatix Detail Level set to 0.64, parts of the model have disappeared and have been distorted. On the bottom is Simplygon's version set to 50% reduction and it looks pretty much unaltered.

    In conclusion it looks like Simplygon is a much more accurate alternative to Archimatix' Detail Level. The biggest caveat is Simplygon's license system that seems to change every month. But maybe it will stabilize now they've been acquired by Microsoft.
     
    Last edited: May 3, 2017
    zyzyx and Vartib like this.
  27. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    There is a feature for this currently: in most of the Repeaters, there is a n incremental rotation parameter, "IncrRot_X, _Y and _Z. If your columns are square, you can set the IncrRot_Y=90 and each column will be rotated, giving the impression that the texture is not repeating. If you columns were hexagonal, you could set it to 120, etc.

    It is also fun to use the IncrRot to create twisting effects with FloorReater, etc.

    This is a node currently in development, called Channeler. You will link various meshes to Channeler and they will get letters assigned. Repeaters will have a simple rule set added o you can author how the the pattern of which objects are called by the repeater as it iterates. For example, your rule might be "abacaba" or a[30] b[20 c to give a percentage likelihood, etc.

    This is a nice idea! Will think about whether this is anew Tool node or an added feature of the Jitter tool.

    There is a new class of nodes in the works called Replicants. These are Instances that copy the parameter interface and adjust those when creating there Instance. So you could have there Replicants of a building, each with a different height and number of floors, etc. Repeaters will also get the ability to create Replicants and Jitter the source node's parameters algorithmically.

    I am glad you have gone deeply enough into AX to have the insights!
     
    Tommy-Core likes this.
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    This is really wonderful, @Hendrix06! Thank so much for posting them. I hope you weren't too slowed down by the fact that the midpoint handles are inoperable at the moment (Fix will be submitted to the Asset Store tomorrow).

    I am so glad to see that someone coming fro traditional modeling is finding AX useful!

    These guitars look awesome!
     
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Thanks for doing this test, @morva! I will use the RedShip model to reassess how the Detail Level feature is making its decisions. In the meantime, Simplygon looks amazing!
     
  30. Vartib

    Vartib

    Joined:
    Jun 14, 2012
    Posts:
    71
    Ah nice, that'll work for now!

    Still, being able to randomize UVs would be really useful. I'm thinking specifically in combination with a RandomInterval node. Imagine having a texture with a 10x10 grid of windows, a minValue of 0, maxValue of 1, and incrementSize of 0.1. You end up with a single window object that has 100 variations, all randomly distributed across the building. There are so many things along those lines that would benefit from being able to randomize UVs.

    Nice to hear about the channeler, btw!
     
    Last edited: May 3, 2017
  31. MasoInar

    MasoInar

    Joined:
    Feb 20, 2014
    Posts:
    90
    Hi,

    I really love archimatix! With shape merging it's very quick and easy to make different and complex shapes from few simple shapes. But what I also need is to export those models to fbx for uv-mapping and stuff like that.

    I quickly made few different shields, but now I need to uv-map them properly so I can make PBR textures. Is there any way to do it now, or is fbx exporting on roadmap? upload_2017-5-4_10-42-53.png
     
    Sheriziya, roryo and Teila like this.
  32. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,286
    It works with 3rd party fbx export utilities - pretty sure I found one on github recently by searching Unity fbx.

    You just need to make sure you press the stamp or prefab button in archimatix to turn the models into standard unity meshes, and then these other utilities should be able to work with them to export fbx, obj etc. I think the one I found let me just press stamp and then right click on the stamped gameobject root in the scene hierarchy and select export to fbx, so a nice workflow. Sorry I dont have a link to it handy.
     
    MasoInar likes this.
  33. MasoInar

    MasoInar

    Joined:
    Feb 20, 2014
    Posts:
    90
    Thanks. This worked perfectly https://github.com/KellanHiggins/UnityFBXExporter
     
  34. shinywhitebox

    shinywhitebox

    Joined:
    Feb 22, 2017
    Posts:
    6
    Hi, I recently purchased AX.

    Im still getting my head around it (er, any more textual docs I can read?)... I'm still waiting for it to "click".
    As a simple test, I'm trying to build a simple bunker. Think: rect extruded. Great, that's fine. What if I want to put two windows into it, on either long side? There's no "3d boolean" in AX, is there? How might I do this, without creating a "stack"?

    By stacked I mean, a vertically stacked "floor portion", "middle section with the windows cut out (where the extrude / shape subtraction would happen)" and then "roof"?
     
  35. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    These look great, @MasoInar! In addition to exporting to another application, you can also paint PBR textures on the shields using Surforge, which has an integrated workflow with AX, per the post above #1607
     
    Sheriziya likes this.
  36. wholtaeter

    wholtaeter

    Joined:
    Mar 30, 2016
    Posts:
    15
    roryo likes this.
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Hi @shinywhitebox - one way to cut openings in a wall is to treat each wall plane as a individual object that is the product of a 2d boolean.
    Archimatix 2017-05-04_01-12-43_PM.jpg

    Archimatix 2017-05-04_01-15-07_PM.jpg
     
    shinywhitebox likes this.
  38. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Hi @wholtaeter - yes - any Prefab in your project can enter the node graph via the PrefabInstancer node. The output of that node can feed into any other AX node that takes a mesh, such as the Repeaters.
    zz-AXNode-PrefabInstancer.jpg

    Thats how the roman statues are repeated in atop the building cornice here:
    RomanBuilding.gif

    The Channeler node is due out next week which will let you provide a series of PrefabInstancers and allowing the Repeaters to select from the list as they go using a simple text-based ruleset such as abacaba. In the meantime, you can vary your Greebles by feeding repeaters into repeaters, or Groupers into Repeaters and adding Jitter.

    That Greebles asset looks spectacular. Thanks for the link.

    Post some pics when you get some Greebling going!
     
  39. wholtaeter

    wholtaeter

    Joined:
    Mar 30, 2016
    Posts:
    15
    @roryo - ty for the answer - these are good news. - Just one questions. is it possible with AX to bend (to make them round or half-round) straight greebles?

    upload_2017-5-4_20-40-39.png

    I would like to achieve something like this:

    upload_2017-5-4_20-44-13.png
     
    roryo likes this.
  40. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Not yet. That is coming with deformer nodes ;)
     
  41. wholtaeter

    wholtaeter

    Joined:
    Mar 30, 2016
    Posts:
    15
    when will it be available?
     
  42. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Shooting for the Channeler node to be released next week. The deformers will roll out one by one in the coming weeks. :)
     
    Last edited: May 4, 2017
  43. shinywhitebox

    shinywhitebox

    Joined:
    Feb 22, 2017
    Posts:
    6
    Thanks. Good to know...
    I really like the idea of sketching out my walls using a path, then extruding that to create the wall itself. I presume there's no way to punch a hole through that extrusion at the moment?
     
  44. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,365
    Another way is to use to PlanSweep in layers, where the same plan is cut by doors and windows, by windows and then by nothing (for the wall over the windows.

    Archimatix 2017-01-18_07-15-52_AM.jpg

    Yet another is to make a wall opening and panel and repeated with a PlanRepeater:

    Archimatix 2017-01-19_09-38-15_PM.jpg

    When we have the new Channeler and simple abacaba rulesets, you will be able to alternate solid and window panels.

    The Equatorial Hall of Heroes is an example of PlanRepeater with Insets and a PlanSweep on top:
    Archimatix 2017-01-20_09-30-35_AM.jpg

    Finally, a new node is in the roadmap called WindowWall that will be a sort of 2.5D boolean where volumetric brushes (which themselves can be repeated, etc.) can cut walls extruded from a plan.
     
    Sheriziya likes this.
  45. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Hey everyone,

    So since Rory has introduced custom nodes for Archimatix, I may have went a little node crazy. So I decided to release a few of the nodes I made to all you other AX users, especially since they are something that many people seem interested in. NOTE: These require AX 1.0.4b2

    They say a picture is worth a thousand words so
    MainImage.png

    Toggle Node - This is the most basic node. It allows you to feed a mesh node in to its input, and then control if the mesh is sent to the output by a boolean parameter on the node.

    Switch Node - This node allows you to feed two mesh’s in to its inputs and then control which mesh is sent to the output via a boolean parameter on the switch node.

    Merger 3D Node - This node is similar to an Instance3D node with a slight touch of grouper added in. It accepts one or more Mesh’s nodes for inputs and combines them down to a single output. Sometimes you want to merge objects together, but you just don't want to use a grouper.

    These nodes as just a preview of the full package of nodes I am working on. Hope you all enjoy. Also if anyone has any request for nodes they are interested in seeing created, let me know.
     

    Attached Files:

  46. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    381
    Nice one ;)
     
  47. joelfivat

    joelfivat

    Joined:
    Aug 14, 2013
    Posts:
    45
    I'm very new to Archimatix so maybe my request makes no sense, but it seems to me it would be very useful to have a SwitchNode like the one you created that would select a random component from the input, to allow to create variety in the generated structures, or for example create a dungeon with random rooms:

    Specification:
    - n input meshes
    - a seed that can be changed manually
    - the output mesh is randomly selected from the input meshed, using the seed.
    - maybe also put different weights for the input meshes to change the frequency at which the meshes would be selected.
     
  48. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Heya,

    I actually have Such a node completed, and is one of the ones I plan to release in the full package. Later today I will post some more details about the other nodes in the pack im working on but right now I need to go find some coffee, lol.
     
    joelfivat likes this.
  49. RuinsOfFeyrin

    RuinsOfFeyrin

    Joined:
    Feb 22, 2014
    Posts:
    785
    Heya Everyone,

    So I figured now would be a good time to go over the comprehensive list of Nodes that will be available in my pack.


    Nodes marked with an asterisks are not yet completed, all other nodes are done and working properly and simply awaiting the latest build that supports node discovery to go live on the asset store. Nodes that are not yet finished should be done withing the next 24-48 hours.

    Shape/Spline/Plan Nodes
    • Shape List - Self explanatory for the most part but it allows you to create a list of shapes that can be feed in to the Shape Selector, Shape List Selector, and Shape Repeater nodes.
    • Shape Toggle* -This node allows you to toggle a shape on or off in a fashion similar to the Mesh Toggle node.
    • Shape Selector - Uses an integer parameter on the node to select a shape from its input Shape List and directs it to the nodes Output. This node supports the ability to "randomize" the selection process.
    • Shape List Selector * - Uses an integer to parameter on the node to select which list from its inputs of shape lists should be redirected to its output. This node supports the ability to "randomize" the selection process.
    • Shape List Repeater * - Repeat a list of shapes. This single node duplicates standard linear and radial shape repeater features in a single node while also making uses of lists.

    Mesh Nodes
    • Toggle Node - This is the most basic node. It allows you to feed a mesh node in to its input, and then control if the mesh is sent to the output by a Boolean parameter on the node.
    • Switch Node - This node allows you to feed two mesh’s in to its inputs and then control which mesh is sent to the output via a Boolean parameter on the switch node.
    • Merger3D - This node is similar to an Instance3D node with a slight touch of grouper added in. It accepts one or more Mesh’s nodes for inputs and combines them down to a single output. Sometimes you want to merge objects together, but you just don't want to use a grouper.
    • Mesh List - Allows you to create a list of Mesh nodes that can then be feed in to the input of Mesh Selector, Mesh List Selector, Mesh List Repeater, Mesh List Plan Repeater
    • Mesh Selector - Uses an integer parameter on the node to select a mesh from its input mesh list and directs it to the nodes output. This node supports the ability to "randomize" the selection process.
    • Mesh List Selector - Uses an integer parameter on the node to select a mesh list from a set of mesh lists which are connected to the nodes input properties and redirects the selected list to the nodes output. This node supports the ability to "randomize" the selection process.
    • Mesh List Repeater - Takes a Mesh List input and repeats it. This node combines the functionality of linear, step, radial and floor repeater in one and gives it the ability to use lists during the repeat process. This node also sports some other extra cool features that im gonna keep under wraps till release.
    • Mesh List Plan Repeater* - Just like the plan repeater, except it takes a list.
    • Mesh List Grid Repeater* - A grid repeater that takes a mesh list as its input and uses it during generation of the grid. This node supports randomization during the selection process from the list.

    Material Nodes
    • Material List - Just like the other list nodes, but for materials.
    • Material Toggle* - Just like the toggle tool for Meshs but for materials. Toggles are useful when feeding in to lists as lists consumers can ignore empty entries. This allow a toggle to be able to "alter" the contents of the list by turning certain aspects on or off.
    • Material Selector - Operates like the other selector nodes, but for Mesh Lists.
    • Material List Selector - Operates just like the other List Selectors, but for Mesh Lists.
    I also have a few other nodes I am working on, but I will be keeping those close to the chest till I get a bit further in their development.

    There you have it folks, the nodes i have in the pipeline. Any input is always appreciated.

    And just so it doesn't get lost in the scroll, here is the link to the package I uploaded above with the Mesh Toggle, Mesh Switch, and Mesh Merger nodes. https://forum.unity3d.com/attachments/ax_logicnodes_basic-unitypackage.229668/
     
  50. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    810
    Great stuff @RuinsOfFeyrin ! -- I was beginning to think it was impossible to create your own nodes!

    This should now free @roryo up from a lot of these highly-needed nodes so he can work on other important things! :D