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

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409


    AX runtime models in Sine:space.
     
  2. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @wetcircuit - very cool! Did you rig up that model? Lot's of potential for smart world building here!
     
  3. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yes, just a simple "building block" to test.... Somehow I missed the whole HANDLES feature in AX so I was scripting everything with playmaker – never realized AX has onscreen-click control built in! :cool: It's a great fit within the virtual world.

    (Deciding where to place the handles and how to rig them could probably fill an ergonomics textbook :eek:)

    Here's an earlier test with a more elaborate model, with some poorly designed controls :rolleyes:… although it does give me ideas for runtime models that work like puzzleboxes where you need to move one part to expose the controller for another part….

     
    roryo and chelnok like this.
  4. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I am using AX for an academic research project at the moment and revisiting features of AX that I haven't worked with in a while. Sometimes I forget how much is in there!
     
    wetcircuit likes this.
  5. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Let's say I want a curved wall with fancy windows here -- are one of the deformers decent enough to be used for this along with, say, a freecurve to shape the path of deformation -- or do you suggest another option?
     
  6. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Use the path deformer, but the trick is you have to add extra vertices to the model that needs to bend around the path.
     
  7. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Thanks, @wetcircuit -- I wasn't sure if it would work this way (I've not tried the deformers yet since I've heard they tend to break a lot).

    So what technique do you tend to use to add verts to the model (the most effectively) with, say, a window prefab (with a windowsill and maybe a light) placed on it? -- And can the deformer curve prefab meshes too (or is there a way to just add a regular mesh?)


    As an alternative technique, I had thought about using a plan-repeater for something like a wall-segment prefab that repeats/tiles endlessly, but making it go around curves/corners with a deformer seems like it could be a problem, considering it is not an AX model. Any ideas on this method too?
     
  8. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Add vertices to a Plan under the Input using Subdivision:

    Screen Shot 2018-08-07 at 1.04.36 PM.png

    Add vertices to an Extrude using Segs

    Screen Shot 2018-08-07 at 1.05.20 PM.png

    Combine Meshes will lock the verts as one object so everything deforms together.

    You'll have to experiment with deform on a prefab. As I recall it again depends on the original's vertices, if there are enough it will deform "smoothly", if there aren't enough it will be janky.

    You can get the exact cell size from a Path Repeater (called Actual Bay?) and use that to control the X-scale of the prefab.
     
  9. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Sweet! -- That's exactly what I needed! -- Thanks @wetcircuit! :D

    LOL -- He still hasn't changed the name for that??

    I guess that's a good thing as long as the documentation is so sparse (...at least as long as there is someone here who still knows what it's actually for!)
     
  10. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
  11. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    wetcircuit likes this.
  12. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    The potential for this is unlimited but you know what is the most advanced thing I can imagine doing with this?
    Game levels that shape-shift gradually while you're playing them.

    I don't have an example but imagine just setting up some lines to be corridors and then making them wiggle their way around the inside of a bounding box in slow-motion. When the lines cross, an intersection opens up. There would also be rooms along the outside of the bounding box that the corridors can connect too. Some containing monsters, one containing the exit.
     
    wetcircuit likes this.
  13. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yeah this sounds cool. And by the time they finish the "puzzle" the entire environment has changed and all the beasties released.

    I've been using Archimatix in Sinespace the last few weeks. The potential for interactive environments like that is huge, and since Sinespace handles everyone's avatar and the MMO networking that is some major headaches out of the way. You can upload "regions" (large Unity scenes) with AX buildings that can be manipulated with handles and conform to the terrain – most of the AX stuff works as expected so you don't need to stamp AX models or create prefabs. Just build a scene with live AX models, and add a couple of components so your region is accessible and the avatars have somewhere to land.

    They've just opened up scripting access to the AX parameters (as of yesterday), so AX could be tied to scene elapsed-time, or time-of-day, or even just getting to a "goal-area" that triggers a change (doors, gates, bridges)…. They have vehicles and a quest system too, I haven't tried them yet but imagine "pod racing" through a mutable course where passing a trigger brings in new obstacles or narrows the track...

    I've got a kind of tutorial about AX in Sinespace (plus some other AX goodies) coming next week.
     
  14. dnoparker

    dnoparker

    Joined:
    Aug 28, 2013
    Posts:
    63
    Hello! :D
    I noticed that you are on sale. I just wanted to ask again (I know.. I'm sorry) if the bezier curves are breakable yet?
     
  15. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409


    While AX is on sale, and Rory is in Greece teaching how to make new procedural ruins in C# :cool:
    I will be guest-hosting ARCHIMATIX WEEK! :eek:
    AXWeek2018.gif
    Login to Community.Archimatix.com to vote in our Next Features Poll

    I've added 20 possible Next Features from forum discussions and user-requests. Some have made brief appearances in the beta and are in various stages of development, some have been hinted at by Rory, Some we've been waiting on since launch, and some are new….

    If you don't see your feature in the Poll, add it to the forum post or start a discussion in Feature Requests.

    AX development resumes when Rory returns (mid-September) so make your choices known!
     
    roryo and chelnok like this.
  16. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I've googled "breakable bezier curve"… o_O …and, I am not sure this is an actual thing, at least not by that name. Google doesn't know what it is, and I'm not actually sure what you are asking for either.

    Beziers are on the FreeCurve node and I have a feature request in the Poll for FreeCurve to be fully-parameterized. That would (probably) include an update to "catmull bezier" which was mentioned one time by Rory, but there are other flavors of bezier controllers…. Does the "breakable" flavor have another name? Or maybe if I understood what you're asking for I could nudge Rory about it…? (He may not answer you this week since he is away)
     
  17. dnoparker

    dnoparker

    Joined:
    Aug 28, 2013
    Posts:
    63
    Hi, thanks for the reply.

    I am talking about the handles on the free-curve to be breakable. Right now the handles run parallel with each other. If they were breakable it means you can freely move each side of the handle independently. Which means you make things like sharp corners and all sorts of lovely shapes.

    I have asked Rory before about this and he said that he plans on adding it. I just check back every other month to see if it is in. Otherwise, the only alternative is to learn turtle programming, and I am not very technically minded for that.
     
    wetcircuit likes this.
  18. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Ahhh! I understand. ;) I will make sure that is included in the discussion of new bezier controls.

    (and yes, that would be a great feature!)
     
  19. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Actually @dnoparker I just tried this… It's not what you were asking for "broken bezier" but it's effectively not that far different...? I just use the adjacent bezier. The "broken" points are not bezier, they are corners...

    Screen Shot 2018-09-04 at 1.44.13 PM.png

    I understand that it is not what you are asking for…, but it's not exactly a deal-breaker. I don't see what can be accomplished with a broken bezier that can't be accomplished this way too with (maybe) a few extra points…?

    (...but not sure it needs extra points since I can mix corners and bezier, and bezier segs are adjustable in the node, bezier is really just adding more points on the model at regular intervals, it could be done most accurately with only corners and no bezier smoothing. leave the smoothing to the mesh node tools.)

    Anyway, it doesn't seem like a "block" to functionality. It's just a slightly different way to look at the 2D shape.
     
    Last edited: Sep 4, 2018
  20. dnoparker

    dnoparker

    Joined:
    Aug 28, 2013
    Posts:
    63
    I understand where you are coming from. There are definitely some shapes that are difficult to achieve without breakable handles (the Batman logo for example). Like you said, you can just add more points. It just irks me to know that complex shapes can be achieved with 3 points instead of like 10, and in the process look a lot cleaner and run faster.

    Makes the whole thing a lot more editable too. If you want certain sections of the shape to go in a different direction, you have to contend with moving dozens of points around instead of just dragging a single broken handle.

    I am from a 2D animation background, so maybe it's just me that wants this! :p but thank you for considering it. Hopefully, there will be a chance to add it in the future.
     
    Last edited: Sep 5, 2018
  21. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Someday you will show me how you make a batman logo with 3 broken beziers, I'd sure like to see that. :rolleyes:



    I spent about 10 sec attempting to trace this with bezier LOL, but stopped because tracing the actual points is faster and more accurate. I can add as many points as the shape needs, no more no less.

    Bezier gets converted to points and adds more facets (there's an adjustment setting for how many are created), so bezier are NOT using fewer points or running faster.

    Meanwhile normals and tangents are smoothed on the 3D mesh. You can have a low-poly model with smoothing, or a high-poly model with facets…. Adding a half-dozen extra vertices to "round" each curve, could add thousands of polygons that aren't even necessary.

    I get wanting a familiar 2D workflow, but artist-to-artist (I'm not the developer) Unity is never going to have clean 2D vectors, the choice is smoothed triangles or faceted triangles. Batman logo is maybe a challenge for 2D bezier, but in 3D it is just another triangular model. ;)

    For automated conversion, there's 630 Studio's SVG Importer which converts to turtle in a few clicks. It has a quality setting to convert angles into points.
     
    Last edited: Sep 5, 2018
  22. dnoparker

    dnoparker

    Joined:
    Aug 28, 2013
    Posts:
    63
    Haha I knew you would do that! :D

    Like I said, I understand your point! I am just thinking about it from a design standpoint. If you were asked to change or flip a curve on that Batman logo, it would require you to move all those points you've created individually. Whereas if the handles were broken then all that would be required is to drag a handle.

    :p You win though! Ill keep hushed :D
     
    wetcircuit likes this.
  23. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    LOL, yeah, not going to work in all situations… It's ok for quick and just a few points, but tedious if I have to go back and clean up all those X-Y points one-by-one…. this shoddy placement would not make a bossman happy :confused:

    But thanks for the challenge! :D
     
  24. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Archimatix was updated on the store yesterday to 1.1.7

    According to the description Rory has added some hooks for a C# API… :cool: That means controlling AX without a graph...

    :) Which is one of the choices on the community Next Features Poll

    But, I promised tutorials this week! Here's Tips for Parametric Models.



    It covers organizing the child gameobjects by labelling AX nodes, and combining meshes by material – very useful if you stamp geometry into a scene or create prefabs -- typical AX model will stamp tons of child meshes and colliders into the scene… with cryptic emo-band names like Extrude_7:rolleyes:

    Clean it up into just a few gameobjects with sensible names! (Good for runtime models too!)
     
    shredingskin and chiapet1021 like this.
  25. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Another video tutorial for ARCHIMATIX WEEK! :p

    Animate AX runtime models with Playmaker

    This one is a step-by-step, with some tips at the end to get models animating faster and smoother – rebuilding the model causes dropped frames, but a runtime model can be animated without rebuilding. ;)



    Turn on youtube CC for text, or read the full transcript on the Community Forums:
    http://community.archimatix.com/ax-beginner/video-tutorial-animating-with-playmaker/#post-281
     
    roryo, pixelsteam and chelnok like this.
  26. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I've made something a little different for today.

    Secrets of the Archimatix Interface – including Rectify, Subdivision, and that little white cross on all the Shape Nodes… cryptic features I didn't understand for the longest, a few things I'm asked "where is the…?" and "How do I…?", and 1 or 2 quirks that I uncovered accidentally.

    I've made a Buzzfeed-style "listicle" of animated GIFs, but I couldn't decide on a click-bait-y headline…

    T̶h̶e̶ ̶S̶H̶O̶C̶K̶I̶N̶G̶ ̶T̶R̶U̶T̶H̶ ̶a̶b̶o̶u̶t̶ ̶A̶X̶ ̶t̶h̶a̶t̶ ̶y̶o̶u̶ ̶t̶o̶t̶a̶l̶l̶y̶ ̶w̶e̶r̶e̶n̶t̶ ̶e̶x̶p̶e̶c̶t̶i̶n̶g̶
    H̶o̶u̶s̶e̶w̶i̶f̶e̶s̶ ̶W̶e̶i̶r̶d̶ ̶T̶r̶i̶c̶k̶ ̶c̶o̶u̶l̶d̶ ̶s̶a̶v̶e̶ ̶y̶o̶u̶ ̶m̶o̶n̶e̶y̶,̶ ̶a̶n̶d̶ ̶a̶s̶s̶e̶t̶ ̶c̶r̶e̶a̶t̶o̶r̶s̶ ̶a̶r̶e̶ ̶A̶N̶G̶E̶R̶Y̶
    W̶T̶F̶ ̶i̶s̶ ̶R̶e̶c̶t̶i̶f̶y̶ ̶a̶n̶d̶ ̶o̶t̶h̶e̶r̶ ̶t̶h̶i̶n̶g̶s̶ ̶y̶o̶u̶ ̶w̶o̶n̶t̶ ̶l̶e̶a̶r̶n̶ ̶b̶y̶ ̶R̶T̶F̶M̶

    10 Archimatix Features Explained with GIFs

    1. Rectify on the Circle Node


    What does Rectify do, exactly?

    It's obvious the shape is being tilted, but what is it for...?


    Find the answer, plus 9 other quirks of the Archimatix interface you probably weren't obsessing about the way I was.

    :p Have a fun weekend!
     
    shredingskin, pixelsteam and chelnok like this.
  27. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    is this clickbait, because It clicked the bait
     
    pixelsteam and wetcircuit like this.
  28. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    :eek: I forgot to post artwork!!! :rolleyes:

    Screen Shot 2018-09-01 at 3.51.41 PM.png

    The "trees" are Archimatix with parametric control over the height and radius of trunk, the width of the steps and how many times they twist around.

    Screen Shot 2018-09-01 at 3.38.36 PM.png

    In the twilight hours of Archimatix Week :D I hope you had a few minutes to check one of the tutorials.

    I am not going to finish my last video tutorial before tomorrow morning, but I'll get it up in the next couple days…. Better to do it right than to try to hit a deadline… :p
     
    Last edited: Sep 10, 2018
  29. RuinsOfFeyrin

    RuinsOfFeyrin

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

    I just wanted to pop in to share a little teaser screenshot and some information about an upcoming asset that I will be releasing (Package was uploaded today) that has some custom integration in it just for Archimatix.

    @dnoparker
    You may find this of interest as well, as it provides the functionality you are looking for I think ,breakable beziers, though im not sure if its in the way you want as it generates Turtle Script instead of using the free curve node, which may, or may not be more beneficial to you.


    One of the biggest complaints about Unity has always been the inability to just draw something in the editor right there in the scene, and turn it into a mesh. This has also been one of my biggest 'I wish' things with Archimatix as well. FreeCurve is good, and when it works it works, but when it doesn't, it fails miserably. A lot can be done with Turtle Script, but who really wants to sit there and type all that out? Editing it is just as tedious.

    Enter Poly Doodle...
    poly_doodle_ax_exporter.png


    Poly Doodle is a 2D Shape, Spline, and Bezier editing tool with extrusion and exporting capabilities. Poly Doodle is its own full fledged editor extension, but features integrations for exporting to Archimatix graphs making drawing exactly what you want, how you want it a breeze.

    Brief Feature Overview
    • Custom UI allowing you to quickly and easily draw shapes, splines, and beziers.
    • Supports Compound Shapes and Clipping operations.
    • Live scene view and editing capabilities.
    • Multiple Extrusion Exporters
    • Export Shapes, Spline, and Beziers to Archimatix Graph nodes.
    • Save and Load Shapes, Splines, and Beziers as objects for editing and use in other 630 tools.
    • Expandable - easily create your own plugins, tools, and exporters for poly doodle.
    • Integrated with many other 630 Studio products.

    Poly Doodle (Basic) will be released for $35.00

    I will post more videos and pictures of Poly Doodle and its Archimatix Integrations here in the coming weeks.






    The Archimatix Master Pack is the complete set of add-on tools and nodes that 630Studios currently produces specifically for Archimatix and huge discount over buying each package individually.. This pack is truly immense and adds all sorts of new nodes, SVGImport capabilities, a Re-Designed UI, and additional tool windows like a graph mini-map all of which makes Archimatix almost a whole new experience.

    I have included the full package breakdown in this spoiler as its rather long.
    This pack contains everything found in the following packs.

    There are currently 9+ Tools, 23+ Nodes included from the above packages included in this package.

    Included Tools
    • SVGImporter
    • ObjExporter
    • Graph MiniMap
    • AXModel Parameter Viewer
    • Shape Merger Layout Tool.
    • Re-designed and improved Graph UI.
    • Scene Parameters
    • Extended Turtle Script.
    • Improved Toolbars

    Included Nodes
    • Improved Shape
    • Shape List
    • Shape List Grid Repeater
    • Shape List Repeater
    • Shape List Selector
    • Shape List Spanner
    • Shape Selector
    • Shape Splitter
    • Shape Toggle
    • Mesh List
    • Mesh List Selector
    • Mesh Merger
    • Mesh Repeater
    • Mesh Selector
    • Mesh Switcher
    • Mesh Toggler
    • Material List
    • Material List Selector
    • Material Selector
    • SVGTurtle
    • Command Node
    • Scene Parameters
    • Instance Controller


    As always any questions, comments, or feedback is always appreciated.
    For product questions, support, and general discussion feel free to join us on our Discord Server.

    Thanks,
    Jason
     
  30. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    those trees are so cool although in a level that would be a very long and plain staircase. could you add a platform every X many steps?
     
    wetcircuit likes this.
  31. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I was thinking there would be a circular "gatehouse" every-so-often to cover the transition from lower trunk to middle and upper, that way I could re-use the same trunk model (just reduce the radius) until I get up to the branches (where the "village" is)….

    And I started thinking about who the gatehouses are suppose to keep out, and if the village has multiple routes to the ground on adjacent trees, they are probably within arrow-shooting distance so a cluster of gatehouses all defend each other from different angles like towers on a castle… That's a potential game, getting up or down a tree while another tree is shooting at you.

    Then I realized I needed a Unity tree tutorial because eventually it isn't Archimatix anymore, the branches are windzone trees in a prefab instancer – and are there giant acorns that fall out of the tree and smash the roof??? It is giant trees or tiny people?…. bla bla, basically I over-thought it. hahaha. But thank you. I need to finish it!
     
    Last edited: Sep 13, 2018
  32. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    @wetcircuit, for some reason the forum software stopped notifying me about posts to this thread, and I just now saw how many walkthroughs you've added. Your work is excellent, and thank you for sharing your techniques!
     
    wetcircuit likes this.
  33. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    @roryo I've been testing Archimatix with a new asset, called Bakery, which does GPU lightmap baking. I've run into the problem of Archimatix objects not baking in Bakery, though they do bake (with some small issues) in Enlighten. Originally I reported this to Bakery's developer, but when we investigated together we found that the UV2 generation in Archimatix produces some overlapped UV2s that are causing Bakery to skip processing.

    The author of Bakery is implementing a workaround for me, a way to override the validation of the UV2 and proceed anyway, but I want to engage with you on the AX side to help isolate and fix the bug. I've been using AX quite a lot, and it is absolutely my go-to tool for procedural geometry. I've got a very complex cinematic scene in the works that I'm ready to lightmap bake, and it is almost impossible to do that in Enlighten or Progressive because it takes *days*. I really need to get Bakery working in order to finish my project.

    The author of Bakery has created a shader to visualize UV2 overlaps, and gave me permission to share it with you and others.

    What's the best way for us to engage and work on this together? I'm willing to do testing at my end, but will need some guidance. I can replicate the problem in a very simple AX scene. Just place a default-sized arch on a flat plane, assign materials, set the appropriate flags in AX to enable the lightmap bake, and then try baking with Bakery.

    I also noticed that the flag to create UV2 maps seems to switch off by itself after doing that just once. Is that intentional? In testing, I kept forgetting to turn that back on for each build. :)

    Sorry to bring a bug report. Make no mistake, I absolutely *love* Archimatix and have created things in this asset that would have taken so much longer with Blender.
     
    wetcircuit likes this.
  34. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Thank you @syscrusher :)
    I'm jealous of Bakery it looks fantastic (windows/invidea only, I think)
     
  35. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    It's working well for me so far, and the dev is responsive about bug fixes. It's not beta, but it's an early release and still has some rough edges, but the dev is polishing those. Yes, it's Nvidia Windows only, because it uses CUDA compute logic.
     
    wetcircuit likes this.
  36. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    Hopefully the hardware-agnostic GPU lightmapper in 2018.3.0 will deliver some fancy later in the year :)
     
    wetcircuit likes this.
  37. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @syscrusher - for the secondary UV's, AX simply uses Unity's Unwrapping function:

    Unwrapping.GenerateSecondaryUVSet ( Mesh mesh, UnwrapParam settings);

    AX generates standard Unity meshes and, on request, these meshes are fed into this function. I am using the default UnwrapParams. Might something other than the default help? I don't have a Windows machine, so I can test it myself. In the meantime, I will take a look at the arch to see if there is anything unusual in the mesh generated such as a rogue vertex, etc. Does the problem happen on anything simpler, like a Box?

    Per the flag to generate secondaryUVs, it is expected to go off after you regenerate the model. The reason is that the secondaryUVs are computationally intensive to generate (in the order of seconds) and, since one goes through many iterations in parametric design, it makes sense to generate the secondaryUVs only just before baking. I have tried to find an event such as "WillBake" to automatically generate the secondary UVs on baking, but I could not find one.

    Glad to hear you are generating complex cinematic scenes with AX! Are there ant screenshots you can share? :)
     
    Last edited: Sep 15, 2018
    syscrusher likes this.
  38. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Ha - finally!

    BezierBroken.gif

    Will be out this week! :)
     
  39. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Hmm.... I wonder if their function is broken? That would be yucky.

    I don't know, but now that you've explained what you're doing, I can go search that out in your source code and experiment. :) Thanks.

    I'll test that. I picked the arch as a simple test case that was still interesting enough to be a meaningful test. Standard Unity cubes work fine in the same scene in Bakery, but I haven't tried an AX Box shape to see if it functions equivalently.

    My initial tests of this were on your demo scene with the Romanesque architectural structure.

    What about leaving that flag alone (as the user sets it) if I am in "manual build" mode? Then it's on me whether my manual builds take 500 mS or 15 sec. :)

    Soon, I hope. I have about 90% of the environment completed and am working on the characters and animations next. I'd share a screenshot or two privately if you want, but I don't want to share publicly just yet. :|)
     
  40. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Would you consider comping a copy of AX to the developer of Bakery so they can test? Or perhaps sharing a limited-time license with them under a private NDA? (I know that's a lot to ask...I have a published asset of my own, so I understand if you're not okay with that.)
     
  41. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Sure - could you ask him to send me a PM?
     
  42. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    I will do that. Thanks, and please let me know what else I can do to help from either end. I'm not trying to shove this off onto you, just wanting to bring together all three of us if we can, to make both assets even better and more compatible. :)
     
  43. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    Hope I haven't already asked
    Is it possible to set a parameter to random? Like if I build a structure can I go in and say I want it to have a random height, radius and number of sides each time I drop one in the world? And can I draw a circle and tell it to fill with evenly spaced instances of said structure resulting in a town?
     
  44. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    With scripting this is easy. My AX-Playmaker video is about animating exposed AX parameters with random floats. If you control the parameters externally with scripting, it can be any game mechanic (random, achievement, faction, local resources, etc).

    But internally, no. Many of Unity's MathF functions are in AX, but not Unity's random.range or random.insideunitcircle…. Easy to assign with a scene manager script, but AX can't do it on its own.

    I used a "self-randomizing prefab" to generate the room lights in the pic below. AX scatters the prefabs inside the building with a PrefabInstancer, but the prefab itself has a playmaker FSM attached that decides whether a light should be created and picks the color and intensity from a random range. (They could also be controlled by a time-of-day script, etc).

    Screen Shot 2018-09-17 at 7.04.38 AM.png
    I've also used proxies where AX generates a named/tagged GO and a script looks for them in the scene.

    I'd love a random generator inside AX :cool:. But scripting is probably the only way to get the models to regenerate in the same random way the next time you visit that location, or to create "smart" models that are reacting to scene information, evolving over time, changing because of resources), and can be saved with PlayerPrefs.
     
    Eva-Dragonflame and syscrusher like this.
  45. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Is it possible to use a proxy AX Model too? -- I think this could sort of add "subgraph" possibilities with the potential for "culling" based on the camera, and all without taxing the hardware too much.


    What about generating a random seed? -- You just share this random seed with the next guy (or the next scene, before it loads.)

    Minecraft does it this way, so I see no reason AX couldn't do it, assuming it grabs its "new" random values from the same random string each time (with a pre-calculated "index" for each node that would be decided upon the initial generation of the random seed, and then upon each subsequent node added).

    Just an idea...
     
  46. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    This method is supported by Dungeon Architect and (I'm pretty sure) DunGen.

    You have to be a little careful with predictable pseudo-random sequences, because even if the sequence of numbers is predictable and repeatable, different parts of your code need to be sure to ask for the "next number" in the same temporal order every time. IOW, you don't want 20 GOs each asking for their number in an order that depends on the GOs' execution order during init as decided by Unity. Dungeon Architect solves this problem by having one external integer determine things predictably for the entire model, and if you have more than one DA model in your game, you track which numbers go to which models somewhere outside DA itself. This is a very solvable problem, but one that needs to be reflected in the code design.
     
    wetcircuit and awesomedata like this.
  47. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yeah, that's definitely a consideration… I would not stick all those lights up in a model ever again, LOL. If you can do intelligent culling and generating…, or get AX to hand it over to Unity as much as possible, that's big.

    AX is like a noodle spline modeler, and a runtime-thingie-maker, and then Rory is into architecture so it is all framed as an architecture tool. But really everything is so granular, there are no rules. AX does great stuff with the repeaters (like terrain), but there's so many other systems to be the "brains". I think at some step it makes sense to go to script control, but it would be great if there was a "tumbler" to jiggle all the variables.

    I remember Rory had a name for it: Replicants…?
    Like, I guess it is a step up from Duplicates... It's duplicates with the exposed numbers jumbled, or something…. Makes more sense on a parametric model for stamping.

    Not sure how it would work as runtime. Random everytime? Sequential (growth)? Cycle (seasonal), cycle once then stop (age and die)…. I think if AX gets a jumbler that's a good thing, but I can't see going over a certain level without breaking into some code or FSM brain…. Although I just started programming the nodes, so who knows?
     
    Last edited: Sep 17, 2018
    syscrusher likes this.
  48. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    @wetadigital, good memory! Replicants are like Instances with the ability to vary the main control parameters of the source object. That way you could have one node/Grouper that defines the logic of the parametric object, but then each Replicant of it can vary the parameters. With a Replicated tower, you should be able to get individual buildings like these from a single source node:

    Archimatix 2015-08-16_09-52-48_AM.jpg


    The Repeaters could have JitterTools added per control parameter, so as the Repeater creates and distributes Replicants, it creates unique versions of the building (or of a set of buildings that it chooses from a Channeler node).

    Archimatix 2016-03-07_07-41-19_PM.jpg

    In this way we could make entire cities procedurally.

    A semblance of this is possible in AX now. In the following city example, the JitterTool attached to the repeater is only varying the Y-scale of the source model and the Repeater is stamping out Instances rather than Replicants. Image if the Y-scale jitter was controlling a Height parameter. Then the number of floors would increase with height. etc.

    Archimatix 2016-09-16_05-00-46_PM.jpg

    You can make a city like this right now in AX with just a few nodes:
    Archimatix 2016-09-16_02-52-18_PM.jpg

    In the following example, the size of the block is influencing the Y-Scale of the buildings. When switched to Replicants, then each building would have more floors.

    UrbanPlannerSM.gif

    I had a version of Replicants working a couple years ago, but the generation chain in AX has gotten more complex since then. I will do some evaluation to see how big a job it is to get Replicants going quickly. One caveat with Replicants: they will be slower than Repeater Instancing with scaling jitter, since each unique building is generated individually rather than simply given a custom transform matrix to a Unity Instance of the object.
     
    Last edited: Sep 18, 2018
    syscrusher likes this.
  49. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Sounds great, @roryo! -- I don't think that will be a problem for those of us either modeling in AX, or using an imposter system...

    That being said...

    Do you think you could hook replicants (and maybe AX models themselves) up to something like "Amplify Imposters" (or, as I noticed on your features request forum post, perhaps implement a basic imposters solution yourself?) to get it performing smoothly for those of us using Replicants extensively?

    I think it would be a great option to include for all models generated in AX imo... >___>
     
    Eva-Dragonflame likes this.
  50. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    :oops: ahhh, that was me actually. Rory never agreed to (or suggested) imposters. I threw that one in for me. :p