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

Octave3D-Level Design - Snapping, Prop placement, Multi-Prefab painting

Discussion in 'Assets and Asset Store' started by XGT08, Aug 10, 2016.

?

Do you prefer written documentation or video tutorials? (regarding the Octave3D remake)

Poll closed Jun 10, 2023.
  1. Written documentation

    68.8%
  2. Video tutorials

    31.3%
  1. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Is there a way to get colliders back as an option ? Because the plugin just doesn't work with meshes like in the image i posted.

    Placing paths or blocks on terrain is needed i think, like placing blocks or paths of decoration or pillar in outdoors.
    Also Path and Blocks doesn't work with models whatever i start clicking on some model, it always start drawing path or blocks on the grid.

    I have many plugins some does not have lot of support while some others have regular support , it's all related to how the developer considers it's clients.
    I can understand you finished your plugin and moved on other things, and doesn't care to improve it or make it better because it's used mainly as a grid placement plugin, so i stop bothering with new features.
    For now i will use QuickBrush plugin that works out of the box on any models.
    https://www.assetstore.unity3d.com/en/#!/content/15237
     
    Last edited: Apr 11, 2017
  2. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @zenGarden
    Please feel free to use whichever plugin suits your needs best. :)

    Placing paths and blocks on other objects works perfectly for me and no other customers have complained about that. You probably have the Ignore objects when snapping checked and for this reason it doesn't work. Otherwise, I do not know what is happening here.

    I do not know what you are trying to imply, but this product is constantly maintained and updated. I do have other packages on the store, but that doesn't mean I just 'moved on to other things'. In any case, I am glad that now I know who I am dealing with.

    I can see you have edited your reply. All I did was ask for an invoice number and then you started accusing me that I have moved on to other things. I consider my clients very carefully and there are many people who can attest to that. However, since you refuse to perform a simple action such as supplying an invoice number and also have the nerve to waste my time and post links to other assets on my forum, then I do not consider you a client. Period.

    EDIT: Here is a video in which I demonstrate that the brush can be used to place objects on meshes. I do not have access to a terrain mesh, so I used a sphere mesh instead. But it should be enough to prove a point. In the same video, I also show you that you can use the Path and Block placement modes on the surfaces of pother objects.
     
    Last edited: Apr 12, 2017
    Mark_01 likes this.
  3. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    Quickbrush is abandoned and not a serious competitor of Octave anyway. @zenGarden, while I agree with your gripes about colliders, let's not undermine the morale here. ;) Octave3D is great as it is, and it's getting new updates.
     
    Mark_01, TeagansDad and XGT08 like this.
  4. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hi @Gregorik

    Thanks for dropping by :)

    Just wanted to let you know that colliders have been removed because they were more of a hindrance than a good thing. Let me explain why. So at the core, my tool does 2 things: snapping and painting. In order to do those things, some form of raycasting is needed. In the early version of the tool, raycasting was performed using Unity's collider system. This meant that for every object that was placed in the scene, 2 colliders needed to be attahced: a box collider for snapping along the object's surface and a mesh collider to allow for painting (at that time it was known as precise snapping).

    Some customers started to complain because the tool was forcing them to use colliders on their objects when they did not want to do that. And I can totally understand that. Not to mention the fact that it wasn't just one collider that needed to be attached. There were 2: a box and a mesh collider.

    So my initial solution to the problem was to create an additional dummy object for each object that was placed in the scene and attach the colliders to the dummy objects instead. After the level was finished, there was a button which the user could press to remove the dummy objects from the scene. This was a total wreck as the scene size doubled (2 objects per object - the object itself and the dummy) and when I started working on the brush functionality which wasn't available at that time, there was a big lag when placing objects using the brush. So this solution wasn't working either.

    Finally, I settled for the currently available solution which basicaly consists of a custom made raycasting system which bypases the need to use Unity colliders and also eliminates the need for dummy objects. The only collider requirement is for terrains. Terrains still need a terrain collider to interact with them.

    I know you have approached me in the past regarding colliders, but I do not know how much I can help in this particular case. I thought that allowing users to attach their own colliders when they want to would be the best approach. Maybe if you give me more details as to what you need with respect to colliders, I might come up with a solution.

    Thanks :)
    Andrew
     
    shyamarama, Mark_01 and AGregori like this.
  5. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    Andrew, thank you for a thoughtful reply. :) I absolutely understand the thing about colliders now.
    Once again, Octave3D is a uniquely comprehensive placement tool, and I wouldn't abandon it just due to some collider issues.
    My simple workaround after my question has been to doublecheck that all prefabs have colliders before using them with Octave. As you said, preexisting colliders are an expectation when using Octave anyway.
    Thanks again, and keep up the good work!
     
    Mark_01 likes this.
  6. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Thanks Gregorik!

    No, no! :) That's what I am trying to say. You shouldn't need colliders. If you need coliders to use the tool, then it must indeed be a bug. :) You only need colliders for terrain objects. Can you give me more details about the situation where you needed colliders? This must be fixed if that's the case.

    One other requirement is that the objects must be children of the Octave3D object. Otherwise, they can not be interacted with. Maybe that's the issue. I don't know. Again, if you ran into a situation where you needed to attach colliders to be able to work with the tool, please give me more details as that needs to be fixed :)

    Thanks,
    Andrew
     
  7. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    What I meant was that I used preattached colliders at the time when I bugged you with collider questions, but now I'm getting to understand Octave's custom raycasting system. No bugs here currently. ;)
     
  8. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    A... :D Ok. Glad to hear that! I kind of panicked a bit because that would have been a serious issue. :)

    Thanks for letting me know.
     
    AGregori likes this.
  9. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    You could let user choose if they want to use the objects colliders or not :rolleyes:
    There is specific usages where it is needed, for example some mobile terrain composed of meshes each with mesh collider, i just need to use a brush to paint objects on top of these models, another example is to paint objects on top some tables or on floors of a house at different height.

    It depends on what are your needs, grid usage or simple objects painting using a brush ? I already own Procore with QuickBrush, if the tool gets the job done it's what matters. Otherwise there is Gaia Plugin that does all that and even more.
     
  10. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Like I already told you before, you do not need colliders to work with the tool. If the tool doesn't work for you the way it's supposed to maybe it just doesn't like you as a person. :)

    EDIT: Here is a video in which I demonstrate that the brush can be used to place objects on meshes. I do not have access to a terrain mesh, so I used a sphere mesh instead. But it should be enough to prove a point. In the same video, I also show you that you can use the Path and Block placement modes on the surfaces of pother objects.
     
    Last edited: Apr 12, 2017
  11. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Well like in pictures i posted the brush does not work on models whetever they have colliders or
    not, or make a video showing brush objects placement work on nay model that is not terrain.
    You can simply say it dfoes not work on meshes instead or show me i am wrong.

    I didn't know your customers was a joke for you.

    Have a nice day.
     
    Last edited: Apr 11, 2017
  12. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    I would be more than glad to provide support and proof of any existing features for any of my present or future clients. In fact I encourage everybody to take a look over the existing videos and if it's not enough I will do more.

    However, you @zenGarden are not entitled to ask me anything since you are not a client of Octave3D. Good day to you too and please don't forget to close the door as you leave. Thank you.

    EDIT: Here is a video in which I demonstrate that the brush can be used to place objects on meshes. I do not have access to a terrain mesh, so I used a sphere mesh instead. But it should be enough to prove a point. In the same video, I also show you that you can use the Path and Block placement modes on the surfaces of pother objects.

    Signing out,
    Andrew
     
    Last edited: Apr 12, 2017
  13. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    How would i had made the screenshots or made a review on your plugin ? lol
    You seem stupid and treating any customer as you want, have a nice day i'm moving to Gena plugin at least it's not a kid behind the plugin and we can have serious talk.
     
    Last edited: Apr 12, 2017
  14. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @zenGarden
    It is late here, so tomorrow I will provide a link to a video in which I will demonstrate that the brush can be used to place objects on meshes. And I will also record myself downloading the package that currently exists on the store just so that there won't be any doubts as to what version I am using.
     
  15. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @zenGarden
    Here is a video in which I demonstrate that the brush can be used to place objects on meshes. I do not have access to a terrain mesh, so I used a sphere mesh instead. But it should be enough to prove a point. In the same video, I also show you that you can use the Path and Block placement modes on the surfaces of pother objects.
     
    Mark_01 and zenGarden like this.
  16. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I tested the way you did and the brush works with models, but only doing it in a specific way :
    You can't use the brush on prefabs placed manually in the scene or placed without using Octave plugin.
    In my scene the houses where placed using Gaia plugin, so Octave brushes doesn't work with the prefab houses because house prefabs have not been placed using Octave plugin but automatically by Gaia plugin.
    Anyway Octave plugin remains usefull and brush can be used on prefabs placed using Octave plugin.
    Thank you for the usefull video.
     
    Last edited: Apr 12, 2017
  17. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    AA. Ok. I understand what the problem is now. Indeed, I tested this and it seems the objects are indeed being ignored when being placed manually. This is a bug and I will start working on a fix right now.

    Note: There is however a requirement that for the moment at least I can not eliminate. The objects must be made children of the Octave3D object. So I can fix the manual placement issue, but you will still have to make the objects as children of Octave3D.

    Thanks for letting me know about this.
     
    zenGarden likes this.
  18. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This is not a bug , but the way your plugin works.

    In scene view you need to move the house prefabs as child of the Octave 3D World Editor , this way you'll be able to use the brush , path or block on the house prefabs for example.
    So we need to be carefull like you said and only check that prefabs we want to use the brush are child of 3D world Editor object.
     
    AGregori and XGT08 like this.
  19. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Yes indeed. I just made some more tests and it seems that it works even if you create objects in the scene manually or using another tool, if you attach them to the Octave3D object, it will work. There was however one time when this failed. I created a sphere manually attached it as a child and I could not place any objects on it. So there is definitely something wrong here.

    :) Well it would be nice to be able to place objects manually and be able to use them. As I said, after I performed more tests this seems to work like 99% of the time but there was one time when it just didn't. I will keep trying to reproduce this issue.
     
    AGregori likes this.
  20. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @zenGarden
    I can't seem to reproduce that issue any more. Every time I create an object and add it manually it works fine now :)

    What you can do in case it happens to you is to press the Refresh scene button as shown in the image below. That should make things work.
    RefreshScene.png
     
    Mark_01 and zenGarden like this.
  21. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Yep, this point should perhaps be mentionned on the hot keys manual.
    BTW our discussion has finally been constructive and i changed the review of the plugin.
     
    Mark_01 and XGT08 like this.
  22. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Thank you very much for updating the review. :) I am glad we managed to get past our differences :D
    I will update the hotkeys manual to include this point and this will be available in the next update.
     
  23. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Good.
     
  24. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hi everyone,

    Octave3D is now on MADNESS SALE 30% OFF!
    Octave3D.png
    Don't forget to check out the presentation video:


    ... and video tutorials. Here is a link to the tutorials list.

    Don't hesitate to contact me if you have any questions!

    Kin Regards,
    Andrew
     
  25. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Where is the brush paint on models video tutorial ? :p
    I wish good sales, your plugin is among the best about objects placement and it deserves more attention.
     
    Mark_01 and XGT08 like this.
  26. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    :) Thank you very much zenGarden! I really appreciate you saying this :)
     
    Mark_01 likes this.
  27. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    630
    Andrew, Good luck as well on the sale ... having been a customer since
    the first version called ObjectGrid3D. I am sill amazed, that once you know
    Octave3d, how good it really is. Thank you for your continued support :)
     
    XGT08 likes this.
  28. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hey there Mark! Thank you for the kind words! :)
     
  29. Ninlilizi

    Ninlilizi

    Joined:
    Sep 19, 2016
    Posts:
    294
    I have a problem where when I have lot's of items placed... I'm trying to build an entire town in Octave from small prefabs... Performance tanks heavily. At over 1000 prefabs it degrades into seconds per frame with the Octave object selected.

    Any ideas for fixing this. The vertex snapping had been saving my sanity thus far. But this is creating a new special hell instead.
     
  30. Ninlilizi

    Ninlilizi

    Joined:
    Sep 19, 2016
    Posts:
    294
    Seems after a bit of fiddling. Removing and re-adding the Octave3D script from the parent object fixed my problem and made it fast and snappy again.
     
  31. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hmm... That's interesting. Can you please tell me approximately how many prefabs you had in the active prefab category?

    Also, if it does happen again, you should try pressing the button shown in the next image instead of removing the actual script:
    RefreshScene.png

    Please let me know if this happens again.

    All the best,
    Andrew
     
  32. Ninlilizi

    Ninlilizi

    Joined:
    Sep 19, 2016
    Posts:
    294
    Maybe 20-30.... A few were complete buildings made of about 100 smaller prefabs though. Will do if it happens again.
     
  33. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    Hi @XGT08 ,

    Do you have any idea when you'll do the package update containing the changes concerning the rotation randomization mode?

    The latest asset store version doesn't seem to include this (at least the brush setup doesn't look like the content of your screen shot).

    I'd need this feature :)

    Thanks.
     
  34. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hi there @Metron,

    The changes should be there. If they're not, it means I screwed things up big time :D or the package did not upload correctly. This change is also mentioned in the version history.

    Let me make a quick check. I will download the asset from the store and see what I get. Be back ASAP.

    Thanks for reporting this to me!
     
  35. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @Metron

    I just imported the package in a project and the feature is t here. Just to be clear, I am talking about this feature:
    PrefeRotRandom.png

    If this is what you mean, it should be there. I did upload the package for different unity versions though. Can you tell me which version you are using?

    EDIT: You are probably using the previous version. The latest version has been approved just a few minutes before I saw your post. So we are probably using different versions. Latest version is 2.0.9.7.
     
    zenGarden likes this.
  36. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @Metron

    I saw your post on the Smart Move Gizmo forum. Octave3D does allow you to place objects on meshes and align.
    Here is a screenshot with the required settings:
    DecorPaintAlign.png

    So you need to work in DecorPaint mode, set the paint mode to Single and then make sure Align axis is checked.

    Merging Octave3D with Smart Move gizmo is probably not possible, due to the fact that they use duplicate modules (e.g. custom raycasting systems). Let me know if this helps.
     
  37. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    @XGT08 Thanks for the reply.

    In fact, I saw this morning that there was an update since yesterday (when I purchased and installed Octave3D). I did the update (this morning), but the Rotation randomization mode didn't show up.

    I had to remove Octave3D from the gameobject AND the project, reimport the latest version and recreate my brush. Only then, the new rotation mode appeared.

    Edit: Another question: Objects that are under the gameobject which contains Octave3D don't get highlighted anymore when I select them. Is this a known issue?
     
    Last edited: Apr 26, 2017
  38. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hi there @Metron

    Glad to hear its working now. I am guessing Unity was still using the memory representation of the scripts as they existed before the package import and that's why it was using the old script.

    Regarding the highlight, this was done intentionally since the first version of the tool for the simple fact that for me, the wireframe was just simply annoying so I decided to just hide it for all objects that are placed in the scene via the Octave3D interface. I can change this behaviour or make it configurable if you wish.
     
  39. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    @XGT08 It would be cool if this would be configurable. That way, everyone can choose how to use it.
     
  40. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @Metron

    Hi there Metron. Sorry for the late reply :) I will have a solution for you tomorrow.

    Thanks,
    Andrew
     
  41. shamsfk

    shamsfk

    Joined:
    Nov 21, 2014
    Posts:
    307
    Hi! Just bought Octave. I have a trouble. Some of my prefabs are rotated by X axis by -90 degrees and some by Z by 45 and some by both and etc. But octave ignores that rotation and in a result, they all are placed on their sides.

    There are hundreds of assets and there is no way that I could redo all of them.

    If I drop prefab from Project it is positioned right, but Octave places it on a side.

    Right now Octave is unusable for me :(

    What to do?
     
    Last edited: Apr 26, 2017
  42. shamsfk

    shamsfk

    Joined:
    Nov 21, 2014
    Posts:
    307
    I've looked through the doc and found no solution. Basically, I need Octave to treat prefab's initial rotation as a "zero value" when calculating rotations.
     
  43. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Sent PM with updated package.
    EDIT: Prefab categories will need to be repopulated/refreshed.
     
  44. Ninlilizi

    Ninlilizi

    Joined:
    Sep 19, 2016
    Posts:
    294
    I'm still finding that with about 2000 prefabs placed. While Octave object is selected, Octave chews a lot of CPU each frame. Which results in the editor getting less than 1fps on my fairly beefy workstation.

    Any ideas for a clever way of mitigating this performance drop?
     
  45. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    Hi there,

    Yes, I have had another customer who complained about the same issue. What did the trick for him was to disable the Octave3D game object (not the script, but the actual game object) and then enable it again.

    I am currently trying to identify what the problem is, but in my case I can not reproduce it. With 7000 objects in the scene I do experience a small performance drop, but nowhere near so serious. I even went to 10000 and still the same. So for the moment, enabling and disabling the Octave3D game object should do the trick. Please let me know if it worked for you.
     
  46. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @Metron

    Hi there,

    I totally forgot, but what you needed is actually already implemented. Please take a look at the following image:
    Highlight toggle.png

    So basicly the Hide wireframe when placing objects can be unchecked and in that case all future objects will have their highlights shown. The word wireframe is used, because back then a wireframe was used to highlight the objects.

    No I have also implemented the Toggle wireframe button which was there before, but it was called Hide wireframe. So it was a one way street. Now you can use it to toggle the wireframe on/off for existing objects as needed. Will send PM immediately with updated package.
     
    Mark_01 likes this.
  47. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @shamsfk

    Hi there :)

    Just wanted to let you know that I am working on more options for the prefab rotation thingy. There will be an option which will allow you to choose the type of default rotation (identity or from the asset itself). This will apply globally to all prefabs.
     
    shamsfk likes this.
  48. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @shamsfk

    I'm afraid that a simple customization option is not possible because it would become confusing in case there are already prefabs which have been used and manipulated with the tool because in that case their last used rotation is used. So you will end up with some prefabs which are rotated randomly and others which have an identity rotation and others that have the same rotation as the prefab asset.

    I would like to propose the following solution: to have a button somehwere in the prefab management window which resets the prefab rotation to either Identity or Asset Rotation. So when you press this button the rotation of the prefabs in the active category will change accordingly. Would this work for you?
     
    shamsfk likes this.
  49. shamsfk

    shamsfk

    Joined:
    Nov 21, 2014
    Posts:
    307
    @XGT08 Hi! I'm not sure I understood your proposal correctly.

    I have an idea, don't know if it is viable thou. What if we had a button to encapsulate a prefab (or each prefab in a whole group) in the empty GameObject(s) which will have an identity transform?
    Maybe it should be a separate tool, to not to complicate an asset

    And I'm currently looking into a way to batch rotate models, but with no luck up to this point.
     
  50. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,894
    @shamsfk
    What I meant was to have a button near the active category view with the label: Set prefab rotation and right next to the button have a popup control which allows you to choose the type of rotation: Identity (sets prefab rotation to identity) and InheritFromPrefabAsset (what you need - it will inherit the rotation from the prefab asset). So this way you can just press the button and all the prefabs in the active category will modify their rotation accordingly.

    The solution you proposed is already implemented. See this video. But it requires to first place the prefabs in the scene and then create a new prefab which sounds like what you might want.

    EDIT: I think I understood what you meant. So you actually want a button which creates a new prefab with a parent. :) I'm not sure where to put this and how to handle this.
     
    shamsfk likes this.