Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

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

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

  1. XGT08

    XGT08

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

    Unfortunately, this is something that I have seen before in 2 other cases. I believe there is also a post on this forum about this. I could try and explain why this is happening but it won't change the fact that I can not do anything about it. The only thing that seems to work in this case is to remove the Octave3D script when building which I perfectly understand that it can get annoying.

    I am really sorry about this and I wish I could do more to help you out.
     
  2. Dee_Lucky

    Dee_Lucky

    Joined:
    Jun 26, 2015
    Posts:
    52
    Is there an easy way to exclude the scripts somewhere in project settings?
     
  3. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    The only way I am aware of doing that is the method described here. Which is exactly already what I am doing. But for some reason, Unity still seems to take those scripts into account. I don't want to make excuses, but to me it seems like a problem with how unity handles the script exclusion mechanism.

    If I find another way to accomplish the same thing, you can be sure I will.
     
    Mark_01 likes this.
  4. GrassWhooper

    GrassWhooper

    Joined:
    Mar 25, 2016
    Posts:
    45
    hey again
    your tool has been working pretty brilliantly for me, and saved me a lot of time.
    however, something i'd like to ask about, is it possible to select more than one Brush element in order to modify their properties all at once?.
    also is it possible to drag prefabs from the prefabs manager from its currently active category and drop them as brush elements?
    sorry for the many questions :)
     
  5. XGT08

    XGT08

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

    Selecting multiple prefabs for editing is not possible. Someone else suggested the same idea a while back but I don't know how best to implement it.

    You can however right click on prefabs inside the prefab manager window and they will be added inside the brush.

    Absolutely no need to apologize. This is why I have a forum. :)
     
    GrassWhooper likes this.
  6. Tom-Atom

    Tom-Atom

    Joined:
    Jun 29, 2014
    Posts:
    47
    Hi! I would like to ask you for advice. I am new in Octave3D and I am building city level. Not all streets are orthogonal. So after designing part of city I found it would be advantageous for me to rotate basic grid along XZ to align it with next planned street direction. Unfortunately, prefabs are still in its base direction (like if the grid was not rotated). If I rotate it with X/Y/Z/C keys it rotates 90 degrees. If I use fine rotation with LSHIFT+ X/Y/Z/C I can rotate it to align grid, but it is very tricky to match exact grid rotation.
    Is there any way to rotate all prefabs automatically in grid placement mode to align it to changed grid rotation? In fact, this is what I would expect as default - prefab rotation in grid's local space, so 0 degrees would be aligned with grid (in any rotation) and pressing C would rotate it by 90 degrees, but in grid local space (bacause I want to place objects into grid).
    Thanks for help!

    CityLevel.jpg
     
  7. XGT08

    XGT08

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

    The grid was never intended to act as an object container. In fact the grid itself is not an object and objects can not be attached to it.

    In your case, I believe there are 2 things that can help:
    1. object groups (video here) - they allow you to group objects under a common parent so if you need to later rotate those objects, you can rotate the object group parent and they will rotate along with it.
    2. object 2 object snapping (video here) - this is what I recommend since it allows you to rotate your objects at any orientation and snap to nearby objects. So for example, if you have a bunch of street pieces that you need to snap together, you might have them rotated at 45 degree around the Y axis and you will be able to snap them together.

    The grid rotation values were implemented mostly to allow the placement of sprites on the grid (i.e. align the grid with the XY plane).
     
    Mark_01 likes this.
  8. Tom-Atom

    Tom-Atom

    Joined:
    Jun 29, 2014
    Posts:
    47
    Thank you for reply! I understand - just to clearify: I did not mean grid as conatianer, just as guide to place objects in different direction. I will probably use both options you wrote - 1. to create more complex prefabs (like individual buildings, road parts, etc.) and 2. to combine them into final level.
    Anyway, I still think it would be handy to place objects to align it also to rotated grid. Grid has advantage over object 2 object placement, as you can start from various ends (which is exactly what you are doing on your first tutorial video - first, corners of library are built ...) and also measuring is easy (you simply count grid cells)
     
    Last edited: Jan 23, 2018
  9. Little_Gorilla

    Little_Gorilla

    Joined:
    Oct 11, 2013
    Posts:
    64
    Hey! Just tried this out today and going to keep using it, it's making my life a lot easier.

    I came across some weirdness though, the Prefab View is not correctly showing some models for me, instead it shows that blue-green plane. If I remove the offending prefabs and reimport them then they display normally, but then suddenly go back to displaying the same plane.

    upload_2018-1-23_22-11-52.png

    Not sure how the previews are generated, does it put them into the scene temporarily and take a photo? Because the plane is a similar color to the water plane in my scene and also has some specular highlights.
    upload_2018-1-23_22-14-58.png

    Unity 2018.1.0b3
     
  10. XGT08

    XGT08

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

    Really sorry about that. I know exactly what is causing this. When you place an object in the scene using Unity's standard interface (not Octave3D) this problem can occur. In order to fix it, you should press the Refresh scene button in the Inspector. You will need to load the prefabs again though.

    There is a way to make this work without having to press Refresh scene, but for some weird reason it was causing the garbage collector to go nuts for some people and had to remove that functionality.

    So Refresh scene and then reload prefabs. You might actually save a prefab config and load that.
     
  11. Little_Gorilla

    Little_Gorilla

    Joined:
    Oct 11, 2013
    Posts:
    64
    Yeah that worked for me!

    Update: These errors are spammed when the prefabs aren't being shown properly and I reload the config file:
     

    Attached Files:

    • 3.PNG
      3.PNG
      File size:
      98.4 KB
      Views:
      399
    Last edited: Jan 24, 2018
  12. NawarRajab

    NawarRajab

    Joined:
    Aug 23, 2017
    Posts:
    18
    Hi,
    I just started using Octave. My main problem now is that it takes a long time (30 seconds total)to enter/exit play mode. This is a serious hit on my workflow. upon checking the profiler, it seems that Destroy.ScriptableObjectPool is the main cause of the slow down when exiting play mode. I'm didn't check enter play mode. My project and scene are new and have nothing but content generated by octave.
     
  13. XGT08

    XGT08

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

    Yes, I know about this issue and a fix will be officially available in the next update. I sent you a PM with a link to the package and some info.

    For anybody else who is having the same problem, send me an e-mail or PM and I will send you the fix.

    Cheers,
    Andrew
     
    Mark_01 likes this.
  14. NawarRajab

    NawarRajab

    Joined:
    Aug 23, 2017
    Posts:
    18
    Received. Thanks for the super quick response!
     
  15. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    No problem :)
     
  16. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    877
    Hey there, a friend of mine showed me this and let me try it out on his PC. It seemed to work ok for him, but he had a much smaller scene he was working with. I loaded up my scene to give it a try but as soon as I tried to click on the Octave object it pretty much just locked my scene up. His PC isn't amazing, but it ran ok for his project. I would be willing to pick it up right now if I knew that it would work, but I'd also hate to drop the money if it is always going to be that slow. Is this something that is known and there are settings that can be changed or anything?
     
  17. XGT08

    XGT08

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

    I wish I knew what to tell you but the thing is that I don't know what could be causing that. The performance problem that I fixed for @NawarRajab was a bit different. In your case you said you clicked on the Octave3D object and it locked Unity. While it's possible that Octave could be causing it, it's also possible to have a corrupt scene file or something like that.

    I would suggest that you play around with a few more scenes and see if you can reproduce the behaviour. I don't ever recall anybody reporting this issue to me before. So please let me know if you do.

    All the best,
    Andrew
     
  18. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    877
    My project really just has one large scene, I planned on picking up Sectr Streaming in order to just have a large open world. I tried it again today, but unfortunately, it still did the same thing. If I use a smaller scene it seems to work ok, but when I loaded my actual scene it made the entire editor just slow as molasses. I have ProCore and the ProGrids system works great for getting things lined up on the scene and snapping and such, but there isn't much in the way for object placement from the project in to the scene minus the prefab brush and that is made more for randomizing object to the scene for grass, rocks, flowers, etc.

    I really like the prefab manager and want to use that in conjunction with the rest of the ProCore stuff I use. If I click the Octave item in the scene, quickly open the prefab manager, then disable the Octave item, the prefab manager will stay there and I can use it to just browse through my items, but I can't place them or anything. I am not sure what else I could try. I looked through the settings and what not to see if there was anything I could disable, but as soon as the world grid loads up, that is when things start to get slow, and it seems to get slower by the second. I am back on my PC now, so I will try again next time I go over there, but I didn't see much else I could mess around with as it seems to only happen when the object is selected, which is pretty much the main thing you have to have active in order to use the features. Browsing the prefab manager is nice with the categories and all, but if I can't use it to place them in the scene, it isn't that much help.

    Hopefully, I can figure something out. As I mentioned, I really like it and want to get it, but it doesn't help if I can't do anything with it except look at prefab categories, lol.


    ** Edit just to clarify, I originally tried it without ProCode active or even installed, so I know it wasn't a confliction with their grid system or anything.
     
  19. _Ayyya

    _Ayyya

    Joined:
    Jul 28, 2017
    Posts:
    8
    Hi,

    This tool looks great. Thanks for making it. There seem to be a few hotkeys that don't work on the Mac. Just a few that I tried that don't seem to work.

    1) T - Doesn't activate extrude in object selection mode.
    2) CTRL/CMD+MOUSE DRAG (while extrude is selected and dragging one of the handles) - Doesn't create new instances of the currently selected object.
    3) SHIFT+MOUSE SCROLL WHEEL - Doesn't cycle through prefabs in the active category in object placement mode.
    4) SHIFT+ALT+MOUSE SCROLL WHEEL - Doesn't cycle through prefab categories in object placement mode.

    There may be others but didn't get a chance to check them all.
     
  20. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    877
    I am not sure if this helps any, but I could barely open them any deeper, clicking on each one started to take like 10 seconds plus each row I tried to go down. You can tell as soon as I click away from the Octave object, all goes back to normal right away.

    https://i.imgur.com/88k6flr.png
     
  21. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Thanks for supplying the image. Please tell your friend to update to the latest version because those function calls have been eliminated for a while and they don't happen anymore.
     
  22. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi there @_Ayyya

    Thanks for contacting me. Glad you like the plugin.

    So, regarding the first issue. Yes, that was changed on purpose from T to Q. The reason was that I would like to use T for changing the grid position like in placement mode. This decision was made after I recorded the tutorial video. Really sorry of the confusion.

    Regarding the other issues, I actually fixed a similar bug some time ago. But I will check it out again. I will keep you updated as soon as I have some info.
     
  23. _Ayyya

    _Ayyya

    Joined:
    Jul 28, 2017
    Posts:
    8
    Hi, thank you for getting back to me.

    Regarding the first issue above, I forgot to mention that pressing CTRL/CMD when in extrude mode doesn't create more instances of the selected object on a Mac. It just moves the selected object.

    Another hotkey that doesn't work for me is "O" in object placement mode. It doesn't reset the guide's scale to the original value.

    A nice to have feature would be the ability to reset the guide's scale and rotation and change the guide's position from the Octave3D GUI (without hotkeys). It would allow for more precise control of the guide.
     
  24. XGT08

    XGT08

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

    I would like to ask you to update to the latest version because I am pretty certain that this issue no longer exists. It has been reported to me some time ago and was confirmed to be fixed by another customer.
     
  25. _Ayyya

    _Ayyya

    Joined:
    Jul 28, 2017
    Posts:
    8
    Hi, I tried deleting Octave3D and trying again but the problem with the extrude not working with the Ctrl/Cmd key in selection mode is still there and I also cannot reset the guide with the "O" in object placement mode on a Mac.

    Are you able to use those hotkeys on a Mac?
     
  26. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi @_Ayyya

    I am not using this on a Mac. I do not have access to one. But as I said, these issues have been fixed, and they should actually be mentioned somewhere in the version history file (except for the O key). Before I pursue this, I am going to kindly ask for an invoice number.

    Thanks,
    Andrew
     
  27. _Ayyya

    _Ayyya

    Joined:
    Jul 28, 2017
    Posts:
    8
    Hi Andrew, sure. I'll send you a direct message with the invoice number.
     
  28. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Thanks! I sent you a PM.
     
  29. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    56
    Hi,

    i have a feature request : a tilebased placement.

    i explain :
    I work on a 3d isometric world. for convenience, i use standard unity scale with 1x1 tiles, but with "overlapping" possibilities to hide some seams.
    If if place by hand walls it's okay (walls on top of the picture )
    but if i use the "path" or "block" thing, the 1x1blocks don't behave like Tile blocs (even with pivot things and others, i tried everything, except the tile connection things because i find it a little too much complicated for what i want to do.)
    They place themselves one next to the other.

    Thanks.

     
  30. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    56
    And another thing :

    Your MeshCombiner is interesting and works well. (i like the vertex welder ! )
    But instead of doing it as a "window" thing, i would find more useful to have a monobehaviour script, with the same option, and that can "rebake"

    i explain : i have 3 octave3d group : ground, walls, staticObjects.
    I make 3 emptyobjects groundBaked WallsBaked StaticObjectsBaked.
    Now, i must rebake with the window for the 3 group (that i want to keep separate for the lightmap), and it's painful.
    A script in the empty "baked" object, that i call when i want (even at the start of the runtime) could be useful !

    (Like meshBaker but simpler, and like MeshCombineStudio but with vertex welder feature)


    And in 2.2.1, i don't know why but the "combinedParentDestination" is not well parented
    Here, i bake SolEtMur in SolEtMurBaked (with "Combine Children" Button)
    but when i combine, the object "cmbParent_Octave3D" is placed at the root and not at "SolEtMurBaked" Transform.


     
  31. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi @dozhwal,

    Regarding the tile-based issue, you should be able to fix that using padding (Padding along extension plane property in the Inspector). However, I believe in this case it would make more sense to use the right models instead of asking me to implement a solution for a problem which does not exist.

    Regarding the mesh combiner, the Destination parent field applies only for selected objects. If you hover the field, you will get a tooltip which inform you about this.

    There are currently no plans to change the mesh combiner window. I like this arrangement and I believe it is working very well.

    For future inquiries, I would like to ask you 2 things:
    1. invoice number;
    2. please do not address me like this: "i have a feature request : a tilebased placement." OR "And another thing :" It is incredibly annoying and you won't receive any help from me if you do that.

    Cheers,
    Andrew
     
    Mark_01, TeagansDad and dozhwal like this.
  32. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    56
    Thanks for the answer, and sorry for asking. i will change my meshes, and use a combiner adapted to my needs.
    Duly noted for future inquiries.
    Keep up the good work on this great asset !
     
  33. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    44
  34. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
  35. redmugstudios

    redmugstudios

    Joined:
    Dec 21, 2016
    Posts:
    60
    Anybody having lag issues on the Editor? I'm following the tutorials on youtube and everytime I dolly and zoom around the Editor, I'm experiencing a little lag, a 1 to 2 second pause.
    I know Unity Editor also has a lag problem but I just thought I ask here maybe others are getting the same experience on using Octave3D. I'm using 2017.3.0p4 btw.
     
    Thirias likes this.
  36. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    44
    now is that to say it wont work in conjunction with the aforementioned link i posted? Like i cant add premade nested prefabs into octaves libraries?
     
  37. XGT08

    XGT08

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

    What I meant was that the functionality of nested prefabs is not implemented inside Octave3D.

    Regarding the nested prefabs package, I don't see any reason why it shouldn't work. As long as you can drag and drop a prefab from the project folder inside the prefab management window, it should work with 0 problems.

    However, I am usually hesitant to promise compatibility with other packages and therefore I can not make any guarantees. My package will change, other packages change, and that is something that makes me want to stay way away from compatibility promises.
     
    danrt50 and Mark_01 like this.
  38. redmugstudios

    redmugstudios

    Joined:
    Dec 21, 2016
    Posts:
    60
    Is there a hotkey to toggle the Align axis checkbox on the Surface alignment settings when in Decor Paint mode?
     
  39. redmugstudios

    redmugstudios

    Joined:
    Dec 21, 2016
    Posts:
    60
    Hey XGT08,

    I have sent you an email question regarding prefab layers.
     
  40. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    @silvershunt

    Hi there,

    Really sorry for the late reply. I sent you an e-mail reply containing the answer to all your inquiries.
    Apologies again.

    All the best,
    Andrew
     
  41. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    105
    Hello, I'm loving Ocvate 3d, I only wish there was a way to reference a parent object where created objects will become children to easier, object groups work but it's so clunky to place something quickly.

    I have one question, I want to place triggers and spawn points using octave, but it seems that objects not using any rendered don't work with octaves placement, is there any way of having this function?
     
  42. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi @LunaTrap

    Happy to hear you are still enjoying Octave3D!

    I'm afraid I can't think of a way to do that. Object groups were designed to solve the scene organization problem. No matter what I try to do, it would probably require another field and another toggle button which would make things more confusing.

    There is however, one toggle button which you can use in scenarios in which you would like the spawned object to become a child of the object which is hovered by the mouse cursor:
    AttachToHoveredObject.png
    So if you check the Attach to hovered object button, it will activate the behaviour mentioned above. Note: Attach to obejct group has to be unchecked. Otherwise, object groups have priority.

    I remember having some trouble with non-mesh objects and I believe this is why this restriction exists. However, it wouldn't hurt to try again :) So just to make sure I understood correctly, you need to place colliders and simple empty objects with a position only. Do you need any snapping for these or just a simple Decor Paint mode style placement.
     
  43. redmugstudios

    redmugstudios

    Joined:
    Dec 21, 2016
    Posts:
    60
    I think what LunaTrap wants is to have a separate field on the Editor that users can drag a gameobject of their choice, and that will become the parent of the active prefabs that is being added to the scene.
    Personally, I really like how the object group is implemented. There were only a very features left that I wished will be included on future updates. Looking forward on those updates Andrew :)
     
  44. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi silvershunt,

    I have sent you an e-mail with the requested features :)
     
  45. redmugstudios

    redmugstudios

    Joined:
    Dec 21, 2016
    Posts:
    60
    Thanks man.
    I got it and using it already :D
     
    XGT08 likes this.
  46. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    105
    Exactly!, that's is all I need, just give me a field where I can reference a parent object in a quick way.

    EDIT: Or even better, let me change the object that is assigned to each object group via a reference in the inspector, right now I need to mark the current group object as not group to change parent and then chose the new parent and make it an object group.

    Just add a way of changing the object reference easily for groups in the inspector:

    https://www.dropbox.com/s/1k3m5uj8emavfhj/5rerdddxd.jpg?dl=0
     
    Last edited: Mar 7, 2018
  47. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi there @LunaTrap

    Ok. I believe I can implement this inside Octave. I will let you know as soon as it is ready.
     
  48. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    Hi there @LunaTrap,

    I sent you a PM :)

    So in order to use the new functionality, the following controls have been added:
    PrefabReplace.png

    So you need to first drag and drop an object in the object field highlighted in red and then press the Replace button to replace the current group object with the one in the field.

    Cheers,
    Andrew
     
    Mark_01 likes this.
  49. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,304
    @LunaTrap

    Forgot to mention something. The package I sent to you contains a change which is meant to reduce waiting times when switching to playmode and back. These changes might cause compiler errors to appear or exceptions to be thrown.

    I recommend you do the following:
    1. save the current prefab config;
    2. delete the Octave3D object from the scene;
    3. delete the Octave3D folder;
    4. import the new package;
    5. load the configs and you're good to go.

    This is actually available for everybody starting with the next update, but I will post another quick announcement closer to when I release it.
     
    Mark_01 likes this.
  50. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    105
    Awesome! Thanks!