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

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Robot Kyle likes the style, but he's just not sure if the location's not just a bit too remote...

    Archimatix 2019-01-29_02-09-27_PM.jpg

    This Archimatix model uses PlanDeformer for the basic panel:

    Archimatix 2019-01-29_02-16-59_PM.jpg

    The panel is fed into a RadialRepeater and then into TaperDeformer to pinch them all in at the top.
     
    Last edited: Jan 29, 2019
    Hitch42 and DasBiot like this.
  2. morphinegames

    morphinegames

    Joined:
    Mar 13, 2015
    Posts:
    33
    I most certainly do not mind :)
     
  3. morphinegames

    morphinegames

    Joined:
    Mar 13, 2015
    Posts:
    33
    I am not familiar with incremental compilation and Unity but I'm going to look into it now and I'll report back if I find anything
     
  4. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    When I save an AX Model to the AX library it does not save my exposed parameters. How can I do that please? Cheers!
     
    Last edited: Jan 31, 2019
  5. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419


    @roryo -- See 26:24 and onwards to see some low-hanging fruit AX could easily accomplish with pipes...

    Then see 28:05 onward to see how Houdini does this. Quite useful imo. :)


    As a bonus -- check out 40:00+ to see a neat voxel technique that could work with AX. It might be relevant to WinWall... D:
     
    Last edited: Jan 30, 2019
    roryo likes this.
  6. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    I love that Winwall node very much.....please keep us posted on the progress! I am sooooooooo eager to use this node! Can´t wait :)
     
    roryo likes this.
  7. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @Eva-Dragonflame - Let me take a look. Sometimes when I add new features to AX, I forget to add their data to the serialization code for library objects. Should be an easy addition. ;)
     
    Eva-Dragonflame likes this.
  8. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    47
    Yesss, this is awesome! Any guess when you can include winwall with custom windowshapes in your build?
    Can't wait to get my hands on that :)
     
    Last edited: Feb 3, 2019
    Eva-Dragonflame likes this.
  9. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    Thank you so much! Awesome!
     
  10. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @morphinegames - I am looking into the library load lag you reported. What version of AX were you using when you encountered this?
     
  11. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    I am afraid for my LOD needs, this is not going to work, because I want to use runtime parameters....is there any plan to integrate some sort of imposters workflow? Does anyone has a LOD or imposter resolution that works in runtime (no stamps) for really complex models? Cheers!
     
    Last edited: Feb 3, 2019
  12. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    for Valentine's Day….

    HeartShape Node

    Screen Shot 2019-02-04 at 7.03.45 PM.png
    Screen Shot 2019-02-04 at 4.52.37 PM.png

    (it's actually just half a heart with symmetry, lol)
    Parameters are just height, width, segs, so it's pretty basic. You might need to send it through a ShapeOffsetter to rescale it.

    Download it here: http://community.archimatix.com/axshare/heartshape/
     
    Last edited: Feb 5, 2019
  13. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    47
    Hi,
    the node TwistDeformer seems to mess up the object normals or the shader..
    Do you have any thoughts on how to avoid that?
    AX_twist.jpg
    Thanks a lot.
     
  14. Nevercallmebyname

    Nevercallmebyname

    Joined:
    Nov 18, 2013
    Posts:
    120
    Sounds like it should be best practice (and perhaps one of the first steps in all future tutorials) to add the distributor node before adding any other nodes
     
    syscrusher and roryo like this.
  15. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Hi there!
    I bought Archimatix a while ago and has finally started using it today.
    Sadly, it doesn't work at all on Unity 2018.3.3f1
    When I open the node graph and click on a 2D or 3D shape, there's an error and no node is created.
    Nothing is working at all.
    It just spams the same error again and again.
    I made a new project from scratch just in case it was some incompatibility with any other plugin I had, but even on a clean new project it does the same :(

    Here is the error:
    Code (CSharp):
    1. FormatException: Input string was not in a correct format.
    2. System.Number.ParseDouble (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    3. System.Double.Parse (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    4. System.Double.Parse (System.String s) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    5. AX.SoftCircuits.Eval.ExecuteTokens (System.Collections.Generic.List`1[T] tokens) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:485)
    6. AX.SoftCircuits.Eval.Execute (System.String expression) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:121)
    7. AX.SoftCircuits.Eval.EvaluateParameter (AX.SoftCircuits.TextParser parser, System.Int32 paramStart) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:431)
    8. AX.SoftCircuits.Eval.ParseParameters (AX.SoftCircuits.TextParser parser) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:397)
    9. AX.SoftCircuits.Eval.EvaluateFunction (AX.SoftCircuits.TextParser parser, System.String name, System.Int32 pos) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:336)
    10. AX.SoftCircuits.Eval.TokenizeExpression (System.String expression) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:253)
    11. AX.SoftCircuits.Eval.Execute (System.String expression) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:121)
    12. AX.AXParametricObject.parseMath (System.String expr) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:6062)
    13. AX.AXParametricObject.executeCodeBloc (System.Collections.Generic.List`1[T] lines, AXGeometryTools.AXTurtle shape) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:5743)
    14. AX.Generators.Shape.generate (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean isReplica) (at Assets/Archimatix/Scripts/Core/Generators/ShapeGenerators.cs:62)
    15. AX.AXParametricObject.generateOutputNow (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean renderToOutputParameter, System.Boolean forceGenerate) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:4501)
    16. AX.AXModel.generateAllMeshes (System.Boolean doCacheTheThumbnails) (at Assets/Archimatix/Scripts/Core/AXModel.cs:3206)
    17. AX.AXModel.generateAlteredPOs () (at Assets/Archimatix/Scripts/Core/AXModel.cs:2968)
    18. AX.AXModel.generate () (at Assets/Archimatix/Scripts/Core/AXModel.cs:2867)
    19. AX.Library.instantiateParametricObject (System.String readIntoLibraryFromRelativeAXOBJPath) (at Assets/Archimatix/Scripts/Editor/Library.cs:853)
    20. LibraryMenu.display (System.Single imagesize, AXNodeGraphEditorWindow editor, System.String mode) (at Assets/Archimatix/Scripts/Editor/NodeGraph/LibraryMenu.cs:86)
    21. AXNodeGraphEditorWindow.OnGUI () (at Assets/Archimatix/Scripts/Editor/NodeGraph/AXNodeGraphEditorWindow.cs:2053)
    22. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    23. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    24. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    25. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    26. UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:342)
    27. UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:336)
    28. UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:310)
    29. UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean customBorder, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:361)
    30. UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:320)
    31. UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:266)
    32. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:438)
    33. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:421)
    34. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleEvent (UnityEngine.Experimental.UIElements.EventBase evt) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:401)
    35. UnityEngine.Experimental.UIElements.EventDispatcher.ProcessEvent (UnityEngine.Experimental.UIElements.EventBase evt, UnityEngine.Experimental.UIElements.IPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:511)
    36. UnityEngine.Experimental.UIElements.EventDispatcher.Dispatch (UnityEngine.Experimental.UIElements.EventBase evt, UnityEngine.Experimental.UIElements.IPanel panel, UnityEngine.Experimental.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:307)
    37. UnityEngine.Experimental.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.Experimental.UIElements.EventBase e, UnityEngine.Experimental.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:176)
    38. UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:245)
    39. UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
    40. UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
    41.  
    -EDIT:

    I just updated Unity to version 2018.3.4f1
    Same problem as above and same error.

    The sample scenes doesn't work either. At first the meshes are visible but as soon as you select them or try to edit them you get the same error plus a new one:
    Code (CSharp):
    1. InvalidOperationException: Stack empty.
    2. System.Collections.Generic.Stack`1[T].ThrowForEmptyStack () (at <3845a180c26b4889bc2d47593a665814>:0)
    3. System.Collections.Generic.Stack`1[T].Pop () (at <3845a180c26b4889bc2d47593a665814>:0)
    4. AX.SoftCircuits.Eval.ExecuteTokens (System.Collections.Generic.List`1[T] tokens) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:509)
    5. AX.SoftCircuits.Eval.Execute (System.String expression) (at Assets/Archimatix/Scripts/Core/plugins/SoftCircuits/SCMathParser.cs:121)
    6. AX.AXParametricObject.parseMath (System.String expr) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:6062)
    7. AX.AXParametricObject.executeCodeBloc (System.Collections.Generic.List`1[T] lines, AXGeometryTools.AXTurtle shape) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:5821)
    8. AX.Generators.Shape.generate (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean isReplica) (at Assets/Archimatix/Scripts/Core/Generators/ShapeGenerators.cs:62)
    9. AX.AXParametricObject.generateOutputNow (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean renderToOutputParameter, System.Boolean forceGenerate) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:4501)
    10. AX.Generators.Grouper.generate (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean isReplica) (at Assets/Archimatix/Scripts/Core/Generators/Organizer/Grouper.cs:236)
    11. AX.AXParametricObject.generateOutputNow (System.Boolean makeGameObjects, AX.AXParametricObject initiator_po, System.Boolean renderToOutputParameter, System.Boolean forceGenerate) (at Assets/Archimatix/Scripts/Core/AXParametricObject.cs:4501)
    12. AX.AXModel.regenerateAXMeshes (System.Boolean doCacheTheThumbnails) (at Assets/Archimatix/Scripts/Core/AXModel.cs:3111)
    13. AX.AXModel.Start () (at Assets/Archimatix/Scripts/Core/AXModel.cs:756)
    14.  
     
    Last edited: Feb 6, 2019
  16. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Just a wild guess: is your scene lightmapped?
    It seems like you lightmapped the scene and then applied the twist deformer, thus twisting the lightmaps textures with it.
    Try disabling lightmapping on the lighting panel.
    If that doesn't fix it, then it's definitively Archimatix's fault :p

    -EDIT: ok forget it, it's an Archimatix's bug
     
    Last edited: Feb 7, 2019
  17. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I've also reported a problem in 2018.3…. I didn't see all these errors (weirdly I had no errors, but many nodes are missing). Your info is more detailed so hopefully it helps.

    I've rolled back to 2018.2 (unity hub) and AX is working as expected. Don't know if it's worth it for you to download an older Unity or wait for an update for AX...
     
    atomicjoe likes this.
  18. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @photonic - as it turns out, I just fixed this normals bug a few days ago while doing some revamping of the Deformer nodes. It will be working in the next version of AX due out in a few days.


    twister.gif
     
    ftejada and photonic like this.
  19. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Hi @atomicjoe - sorry you encountered a problem right off the bat.

    It sounds like it is a number parsing issue related to your system prefs for region. Someone else just reported the same issue in 2018.3.4. I wonder if Unity has changed something under the hood so that the comma in a string as a decimal delimiter is passed along differently. I will see if I can head it off in the number parsing code.

    In the mean time, if you can set your region prefs temporarily to en-US, this should allow AX to run in 2018.3.4 on your system. Here is what the other user who reported the problem was able to set the prefs and work around the issue.
    Capto_Capture 2019-02-06_06-15-11_PM.jpg
     
    atomicjoe likes this.
  20. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The missing library Shapes is a separate 2018.3.4 related bug. Hope to have this fix in the upcoming AX version as well. ;)
     
    wetcircuit likes this.
  21. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    @roryo Great that you are updating the version in a few days....can you also please include the fix for the exposed parameters (not showing up when I save something to the library). That would be awesome! Thanks a lot!
     
  22. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Thanks!
    Any estimated time for the new version?
    Since submission to Unity's asset store use to be slow, maybe you can distribute fixes and patches via your website or github with private invites. At least that's what other authors do.
     
  23. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Sooo, as wetcircuit suggested, I installed an earlier unity version and I'm learning to use archimatix now.
    I have an issue though: I can't make the top of the meshes to smoothly blend with the sides no matter how much segments and bevel I use.
    Check the image below. The light always breaks were the top segment starts.
    Is there any way to fix this?
     
  24. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    47
    Great! That's awesome .. thanks a lot! :D
     
  25. photonic

    photonic

    Joined:
    Dec 29, 2012
    Posts:
    47
    Yes .. lightmapping was my first thought, too ... but as it turns out @roryo did his magic already ;-)
    Going to wait for the next AX Update ..
     
    atomicjoe likes this.
  26. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    This is how the Extrude node works. The shape is defined by that "face" because that is the 2D shape used to create it.

    that edge can be shifted with the "Lip" settings somewhat:
    Screen Shot 2019-02-07 at 8.06.29 AM.png

    you can also create shapes using PlanSweep with a Section designed to include that curve (as well as the top and side). Of course it will require adjustment of the Plan shape.
     
    atomicjoe likes this.
  27. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    You can also use a triplaner or geometry-aware shader that is designed to unify textures across seams.
     
  28. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Certain material will accentuate the break between the sides and the caps more than others. For example, this material looks a bit smoother:

    Capto_Capture 2019-02-07_10-48-30_AM.jpg

    And as @wetcircuit suggested adding a LipTop value to the Extrude helps the transition with the normals:

    Capto_Capture 2019-02-07_10-47-40_AM2.jpg

    Now with a non gridded texture and a Lip, the transition is smoothest looking of all:

    Capto_Capture 2019-02-07_10-52-59_AM.jpg

    Or a noisy texture:
    Capto_Capture 2019-02-07_10-59-43_AM.jpg

    I could add a feature that adjusts the top normals of the side to be vertical when there is a bevel. That would save some triangles compared with adding a Lip.
     
    Last edited: Feb 7, 2019
    awesomedata and atomicjoe like this.
  29. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Ok - done!

    In this GIF, a library item is instantiated and its exposed parameter is added to the runtime parameters in the Model Inspector.

    ExposeSerialized.gif

    Also, I realized that there was some other functionality missing. Now you can unexposed in the node palette as before, but you can also do this by clicking Delete in the Inspector. Additionally, now when you delete the node, any exposed parameters it had are removed from the model's runtime parameters list (before this they were orphaned).
    :rolleyes:
     
    Eva-Dragonflame, JLO and wetcircuit like this.
  30. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Yay! Orphaned parameters made me test everything in runtime, then re-build it out of runtime once I got it all worked out.

    Lot's of workflow improvements! :)
     
    roryo likes this.
  31. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    That's what I was expecting in the first place lol :p
    I mean, it's the simplest solution, technically speaking.
    Anyway, I have been playing with it and increasing the lip top and bottom to 0.25 do the trick to smooth the normals, there are however some inconsistencies between the walls and the top. It seems like they don't completely match their vertex positions: (this happens as soon as Lip Top>0)
    Could be a big problem with physic mesh colliders.



    Also, when I lower the lip height, this black polygons appear. (shadows are disabled in the scene)




    Another little bug is: when I'm rotating the camera around the object in the scene view (pressing ALT + mouse left), Archimatix keeps selecting and moving anchor points if I click over them. That's not happening with any other thing, only with Archimatix's anchors.
    It's specially problematic with rotation gizmos, which are quite big and easy to click over when rotating the camera.

    EDIT:
    here you have the Archimatix model. Put it in an asset folder and import it on a project with archimatix on it. Then open the archimatix node graph and press "rebuild"
    https://www.dropbox.com/s/eud379ih1bip6p5/AXModel Lid Vertex Bug.prefab?dl=0
     
    Last edited: Feb 7, 2019
  32. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Another thing: I LOVE ARCHIMATIX ;)
    I'll be using it A LOT in my game.
     
    roryo and wetcircuit like this.
  33. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    I'm afraid this doesn't work, since the problem is the actual orientation of the walls last polygons don't match the orientation of the top and bottom faces. I'm talking about the light, not the textures.
    The Lip thing did work though, thanks :p

    -edit: I just realized you were talking about unifying the texture tiling. Then you're right :)
     
    wetcircuit likes this.
  34. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    When you have acute angles with a bevel or lip, funny geometry errors can happen. One way to minimize this is to add rounding to the shape. This is done in the Plan input for the Extrude. For best results, choose "Round" in the option menu as opposed to Miter or Square.

    Rounded.gif
     
    AthrunVLokiz likes this.
  35. roryo

    roryo

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

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Thanks for posting the Prefab, but I can't seem to get it into my scene. Did you create with the Prefab button in the upper left of the NodeGraphEditor?

    Also, you could post the scene file itself.

    I would like to take a look at it, since I am having trouble reproducing this condition.
     
    Last edited: Feb 8, 2019
  37. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    I made a prefab the unity way, since making a prefab with Archimatix removes the nodes and saves only the finished mesh.
    The rounding option didn't fix it completely. The mesh behaves erratically.
    Here you have the whole scene file.

    By the way, how do you save an Archimatix smart object to the library or the asset folder?
    If I use the "prefab" option in Archimatix, it generates a simple mesh prefab, not a smart editable object with its nodes.

    I read the whole manual both online and offline (the PDF is way better than the online version btw, you should post it on your website) but I couldn't find info on that!

    Also, how do you make those awesome animated gifs you post here? :)

    - EDIT: I'm using Unity 2018.2.20f1 by the way, since newer versions break Archimatix
    And by "the Unity way" of making prefabs I mean dragging the AX model from the hierarchy to the project assets folder.
     
    Last edited: Feb 8, 2019
  38. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Drag the AX model from the scene hierarchy to somewhere in your project folder. (this is the "old" prefab way. I haven't worked much with the new prefab system)

    I have a video tutorial with some basic tips for how to organize the AX model:

     
    Last edited: Feb 8, 2019
    MikeChr, ftejada and atomicjoe like this.
  39. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Hey! that's a very handy video you did there! Thanks :)
     
    MikeChr and wetcircuit like this.
  40. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    I'm making great progresses with AX, but I find some values are hard limited to arbitrary numbers.
    ie: the circle shape segments can't be greater than 64, even if I open it's properties with the little triangle and set the min and max to other values, it never lets me go beyond 64!
    My circle is very large, I need more than 64 segments so it looks good.
    How can I change or remove the limits of the parameters?
     
  41. Eva-Dragonflame

    Eva-Dragonflame

    Joined:
    Jan 30, 2019
    Posts:
    33
    Great! You are awesome!
     
  42. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    It's probably coded into the Logic with Turtlescript. Swing open the Logic panel and have a look there, it's pretty easy to hack and parse.

    As, your models become very large and very complicated, it might be a good idea to look at some other methods to create the shape in sections. For a gi-normous circle the alternatives are to use the Lathe tool, or one of the Arc or Sector shape nodes, which can create "arcs" or partial sections of the circle (usually there is a start and end angle). The segments are probably still capped at 64, but it's 64 segments across a smaller arc rather than the full circle. There's also the RadialRepeater which creates GPU-friendly instances of the mesh. Combining them you could create (for example) a 30° arc consisting of 64 segments, routed through a RadialRepeater that repeats 12x to make the full circle with 1920 segments.

    3D Repeaters are GPU-friendly. They create Unity instances.
    2D repeaters are not GPU-friendly, they geometrically increase the number of vertices in the model.
     
    atomicjoe likes this.
  43. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    The max/min limits for the some shapes are set in the Turtle script if they were scripted before the max/min fields were added to parameters.

    Per @wetcircuit's suggestion, for the Circle segs, open the logic window and delete the line limiting the range of the segs parameter:
    MaxMin.gif

    I will go through the library shapes now and remove the old range lines and set there Max/Min values in the parameter settings so future versions of AX will have this set up so it is easier to edit. ;)
     
    atomicjoe and wetcircuit like this.
  44. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Nice! :)

    I forget which shapes load with a tiny offset in the transform, but maybe you could glance at those too while giving everything a polish…? I'm pretty sure all nodes are meant to be set to 0,0,0
     
  45. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    THANK YOU!
    You're a fountain of Archimatix knowledge! :)
    For others struggling with this, you have to change it BOTH in the turtle script AND the "segs" parameter properties (little arrow next to the parameter name)
    Now my circle is smooooth :p
    Thanks for the advise but since I'm using the circle to drive several mesh generators, I don't think it would work in my case. But it's good to keep in mind.
    The thing is, I plan to make several level of details for my models using the handy "detail level" feature of archimatix, so the highest quality level must be perfect. Then I can easily lower the resolution of the whole model at once.

    FEATURE REQUEST:
    @roryo
    A way to automatically generate LOD groups with Archimatix would be VERY welcome.
    Right now, I can manually create a Unity LOD group stamping or prefabing an AX generated model for each detail level.
    The problem is the model is no longer editable and you have to manually redo all the process of saving each detai level if you re-edit the model.
    It would be great if Archimatix could automagically create a LOD group in the main gameobject and populate it with a user defined number of level of details going from the 1 detail level in archimatix down to 0 or a little higher.
    Archimatix can already generate those lesser levels of details, so it would only need to automatically place them on each LOD level in the main game object each time you finish editing the AX model. Just like it generates the current geometry but for each LOD level.
    It shouldn't be hard to implement and that would make AX models super responsive for level design.
    Archimatix would then become the more powerful and fastest level design tool for Unity.


    Also, is there a performance penalty for keeping AXmodels in their editable (non stamped) way in the scene?
    I don't want to edit the models at runtime, I just want to keep the models always editable in my scene and behave as regular stamped models at runtime.
    It's for keeping maintenance and modifications over time as simple as possible.
    Level design is a VERY iterative process. Being able to go back and easily edit your levels even after release is a godsend.
     
    L0ve3d and roryo like this.
  46. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I think they are just normal geometry once the model is built.

    AX also becomes sooooo much faster in a final project as compared to the editor. I think that's about Unity Editor being single-threaded(?), but I remember working with a really slow-to-build runtime model and it felt like I'd hit the practical limit with AX, then I used it in a final project and I was like, oh. this is totally different…. (moral of the story: don't trust the Editor when you test the speed/effeciency of AX....)
     
  47. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    Automatic LODs are also high on @syscrusher and @Eva-Dragonflame's feature requests. So I guess I will have to finally do it!
     
  48. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,479
    I was at Unity Developer Day in New York today. Very well attended and some nice presentations. I got a bit of hacking time in during some of the talks and managed to chip away at LODs. :)

    LOD1.gif

    In this example, both the arch segmentation and the bevel segmentation are reduced. I still have to add some UI so you can adjust the percentage and detail level, but the bulk of this new feature is done!
     
  49. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
     
    Eva-Dragonflame likes this.
  50. FloBeber

    FloBeber

    Joined:
    Jun 9, 2015
    Posts:
    166
    Hi, I'm new to Archimatix and trying to find a way to have the FreeCurve points to "snap" to a grid (like ProGrid does).

    Is that possible? And if so, how?