Search Unity

[RELEASED] SECTR COMPLETE: Spaces, and the Connections Between Them

Discussion in 'Assets and Asset Store' started by MakeCodeNow, Feb 21, 2014.

  1. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,622
    Yep. Exactly.

    I considered leaving asset store (its not the magical cash machine that some people seem to think), but decided to double down and give it a crack instead.

    All revenue goes back to the team as they deserve to earn a living as well, and this means that the $$ go straight back to the community in the form of better support and better products faster.
     
    TeagansDad, Barritico, rrahim and 4 others like this.
  2. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    181
    Hi.

    It's been a while since I bought the product and I had it on stand-by when I saw the null evolution of it.

    Now that you have new "owners" I will try again. But first I want to make sure about whether it meets my needs.

    - I have OFF-ROAD competition terrains that have an average of 15x15 km

    - These lands have: AQUAS, CTS, VEGETATION STUDIO PRO

    - It's been hard for me to get stable FPS. Despite this, in the best graphics they reach 60 FPS. In the "standard" they reach a maximum of 40 FPS.

    My questions:

    - When doing "split" of the land I will divide it in 4 or in 8. I do not have it clear.
    - Each of these lands must have CTS applied. Will the profile I have created for all of them work? Do you have to create new profiles? Or, what would be worse ... should we texturize again?
    - Sometimes there are AQUAS applied. Lakes in the middle of the land that, when divided, would be "small AQUAS" in each one of them. This is possible? Would it be better to have the AQUAS already created and tenero as "common object" to all the splits?
    - As for VEGETATION STUDIO PRO, I suppose that since you already have the possibility of applying it to several terrains in the same scene, it will be easier for me. But I do not know.

    What I want to know, in short, is whether the "migration" will be acceptable or will it give me more problems than the FPS I can win.

    Thank you.

    PS- I agree with julianr's comment. The important thing is that it continues to be developed and kept active. A "dead" tool is money lost.
     
  3. PretzelTail101

    PretzelTail101

    Joined:
    Apr 16, 2018
    Posts:
    6
    I bought SECTR at the end of 2018 and kinda disappointed that SECTR 2019 came out a few months later.
    Don't get me wrong it's a great asset but spend $100 then wait a little and poof spend another $100.
     
  4. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Please note that there is a $17 upgrade path for existing SECTR owners. See this post from Adam for the different upgrade paths: https://forum.unity.com/threads/rel...ions-between-them.229910/page-15#post-4483729
     
    julianr likes this.
  5. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    There is no "gold standard" for the terrain sizes yet: The smaller a terrain is, the faster it can be loaded, but smaller terrains also mean more frequent performance spikes due to the loading / streaming process. I have made good experiences with about 512x512 terrain chunks. For your terrain I would start with 8x8 split at least, if not even 16x16. I would recommend to make a backup before you start, so that you can always go back if you want to try another size or there is any issue.
    The existing profile will work. If you have the correct CTS profile on your terrain already, there is nothing you need to do, the terrain window of SECTR will split up the terrain and give each chunk the same CTS profile of the original terrain as well. After the split, while still all terrains are in the scene and not exported yet, I would recommend to run Window > CTS > Disconnect all Profiles. This will go over all terrains and turn the CTS shader component into a persistent material with as little overhead as possible, which is good for streaming.
    You can put the Aquas gameobjects in the sectors so they will be loaded and unloaded with the terrain. This is what I would try initially, as this is probably best for performance. If it turns out that the AQUAS water planes create issues or a performance spike when streaming, you can still put them from the individual sectors to the main scene to make them global.
    Vegetation Studio Pro is great in so far as it fully supports terrain streaming. You basically need to do two things:
    1. Setup the total world size in the Vegetation System Pro component under the "Terrains" tab
    2. Add the "Unity Terrain" component from Vegetation Studio to all terrain chunks before you export them
    There is more detailed instructions over here: https://www.awesometech.no/index.php/setting-up-run-time-loaded-terrains/

    For adding the "Unity Terrain" component to all terrains at once, there is a neat little trick: You can search by type in the scene hierarchy to find and then select all terrains at once. Then you only need to add and configure the "Unity Terrain" component once and it will be on all terrain chunks the same:
    allterrains.JPG

    I would say it is worth to give it a try. The total process to do it should not take that long as the other assets that you are using should not cause problems with SECTR. You can watch our new tutorial video in preparation, the only thing you would need to do in addition is to add / configure Vegetation studio before exporting the terrain chunks:


    Thanks for supporting us! :)
     
    Barritico likes this.
  6. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    181
    Thank you very much for your extensive and concrete response.

    Of course, I will try.

    What really amazes me is that in a terrain of 4x4 km, with "4 plants and trees" I can not surpass 55 FPS. I do not know what's wrong with my project.

    I will try your instructions and inform you of the result.

    Thanks again.
     
  7. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,622
    Is VSync off ?
     
    Barritico likes this.
  8. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Have you tried profiling the scene already? This should normally give you some insights about where your performance is going: https://docs.unity3d.com/Manual/ProfilerWindow.html
    If you switch to hierarchy view in the lower part of the window and sort by Time descending, you can see how long what process takes on the CPU, if you add a GPU profiler then you can do the same for GPU as well.
     
    Barritico likes this.
  9. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    181
    Yes. Off.

    I am investigating in many places, because I do not like to ask questions without having tried to inform myself on my own.

    I can not raise 60 FPS in a stage of mountain in which the camera does not render more than 300 meters.

    In the "profiler" in the section "memory" appear textures that I do not use in the scene for many versions. I placed some rocks a while ago and removed them. But in the profiler they keep appearing (in Textures2D)

    I do not know if it's light, terrain, definition ... I'll continue investigating to see if I can get something.

    Many thanks.
     
  10. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    181
    My experience.

    I have found two problems when using SECTR STREAM in my project.

    The first one is with Vegetation Studio Pro. Once the division of the land is done, and before exporting, I have incorporated VS to all the divisions. This process was done correctly and in "terrain" of VS all appeared.

    Then I made the export. And there the problems have come. When executing the project, the lands that had been incorporated in VS have disappeared. I guess it's normal, since VS does not detect the terrains anymore because they have become independent scenes. The fact is that no vegetation appears.

    The second problem (it is NOT a problem of the product, but of MY needs) is that, in fact, it does not improve the FPS.

    In my "original project" the camera rendered about 300 meters of road. It is a section of mountain rally. Even if you divide the terrain to 512, the camera range is the same, so there is no decrease in vertices, triangles, or anything. It is true that the load of RAM and VRAM are greatly reduced, but (I insist ... in my case) do not reduce the FPS.

    For the rest, it is a very good asset. Fast and easy to use. And, I suppose, for other types of projects it will be very advantageous.

    Greetings and thanks for the support.
     
  11. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,101
    You could try a SECTR hibernator on the VS Pro stuff, it will prevent those objects from being removed if child objects of your Sectors/Chunks.

    SECTR doesn't increase your FPS as such on a busy project with lots of gameObjects (lighting and Vegetation), at least not on its own, it depends how you handle things and how many chunks you show at any given time and how much detail you have on those chunks. If you have proxy meshes (preloaded before chunks), then you are still adding to the batches. You'll also need to do some optimization. I tend to stay away from proxy meshes and use LOD game objects that are really low detail and disable them as the chunks with more detailed versions and interiors are loaded, and use other gameobjects for greater distances so the visual effect is still there. But requires some custom code to change the loaders.

    Combining Meshes will also have a performance increase. Keep a copy of your originals though! GPU OC or SECTR VIS will also help to not render anything that is not visible.
     
    Last edited: May 13, 2019
    Barritico likes this.
  12. mindfulmx

    mindfulmx

    Joined:
    Mar 21, 2017
    Posts:
    31
    Hello, I want to express my displeasure for having to pay for this update (SECTR COMLETE 2019), in fact I bought SECTR waiting for the promised update that would facilitate working with the rest of the products of "procedural worlds" (gaia for example), this is not a cheap asset and It does not seem fair to me that apart from its high price I have to pay for an update.
     
  13. PretzelTail101

    PretzelTail101

    Joined:
    Apr 16, 2018
    Posts:
    6
    I agree but I guess they need to make a profit somehow.
     
    mindfulmx likes this.
  14. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,101
    I doubt they will make a profit initially after taking over the development of the asset. It's more like a long term goal. Not that I know how much they paid for it, or the internal support after it. It compliments their other products, gives them a strong position in the market place, but also strengthens their company for the future. I'd rather see a product flourish, than be depreciated (also not saying that was the case) but eventually every developer moves on. This gives it new life.
     
    mindfulmx and AdamGoodrich like this.
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,622
    I have been operating at a significant loss since I acquired SECTR and grew the team.

    People need to realize that EVERY CENT of the money we make from things like upgrades goes back into the community and their assets, in the form of building a team, improving our products, making new products and providing quality support.

    As @julianr points out - my investment into growing the team has breathed new life into everything we do and we are super excited by what is coming.
     
    mindfulmx and rrahim like this.
  16. rrahim

    rrahim

    Joined:
    Nov 30, 2015
    Posts:
    160
    I for one am glad to see the advances you all are making on all of your products. I've purchased and upgraded quite a few recently and I will always support your assets because of the constant improvements I've seen over the years.

    I'm excited to see what you all will be doing with sectr in the future.
     
    AdamGoodrich and PWPeter like this.
  17. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    174
    I upgraded Sectr and im using it for my project. However how do i make vegetation studio work after using export all sectors?
     
  18. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Are you using regular Vegetation System or Vegetation System Pro? For regular VS you can attach one Vegetation System component on each terrain chunk and it should work. It is a bit more efficient though to create a pool of Vegetation System components and assign them the different terrains as they are loaded and unloaded.
    With VS Pro there is functionality for runtime loaded terrains included. Basically you need to attach an "Unity Terrain" component to each terrain that has a checkbox for "Add/remove at enable/disable" set, here are the instructions: https://www.awesometech.no/index.php/setting-up-run-time-loaded-terrains/
     
  19. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    174
    Ooh nice. I'm using VS Pro and i'll try it out. Thanks.

    Edit: I tried adding the unity terrain component and exported all sectors. I even enabled the checkbox but it still didnt work.
     
    Last edited: May 22, 2019
  20. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    I set the dynamic objects to be set as children to sectrs, during the sectorizing, but that didn't seem to do anything. is there a easy way to set the children of the sectr area as child of the sectr? or just move them in the hierarchy?
     
  21. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    You can just move them in the hierarchy, another way is to drag and drop them on the box at the bottom of the Sectr terrain window - it will automatically sort all objects that you throw on there in the matching sector (determined either by the bounds of the GameObject, or by its position)
    sectr.JPG
     
  22. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
  23. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    Streaming, using the region loader seemed to give performance a big boost. I tried the culling camera, and the prewarm culling costed a huge amount of performance. Inprobably had it set up wrong. Sectr itself would probably work fine with unity occulsion culling no?
     
  24. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    And 3 of my terrains wont stck to their sectrs anymore... odd.
     
  25. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Yes, you just need to keep in mind that since the GameObjects are distributed within multiple scenes when you are streaming, you need to have them loaded in for baking the occlusion culling, please see this link for more info ("Baking Occlusion Culling" section): https://docs.unity3d.com/Manual/MultiSceneEditing.html

    Can you describe the issue a bit more please, what does "stick" mean? Are they not being unloaded when the sector unloads?
     
  26. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    Ya they do not unload, they are not part of the heiarchy for it though. Like the terrain 3-3-0 has no parent what so ever. All of the game objects are in a sectr world 3-3-0 game object which is inder the main game object world map. (All done by sectr). So the sectr loads in all its children and the terrain for it used to be there. But i set an item in there by position instead of bounds, which then i took the item out and tried to set the sectr volume bounds with overide bounds. But then realized i can set it ti default as long as all the items in it are within the normal bounds. So they are they default size.
     
  27. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    Playing with the occulsion. I gotta be missing something. Im at about 40 fps without sectr occulsion culling. Then if i turn on a culling camera componet. The precull in the profiler skyrockets and i drop to 3fps.
     
  28. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    More or less, the sectr chuck is fine, its just the terrain peice isnt in it anymore, and everytime i put it in, it kicks it out.
     
  29. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    This is very strange, can you check if the culling camera component falls back to "simple culling" when you are standing outside on a terrain component?

    SimpleCulling.JPG

    How do you put the piece in again? If you import the sector, add the terrain as a child while the sector is imported and then export it again the terrain should then be part of that sector.
     
  30. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    Yes the simpke cull is on, if i click it off, it flicks right back on. With the terrain peice, i put it back in, and it kicks it back out.
     
  31. luellasfpg

    luellasfpg

    Joined:
    Jan 23, 2019
    Posts:
    16
    Hi, I wanted to ask some questions to see if SECTR fits our uses. So basically we want to make a very large multiplayer game with players continuously moving away from the origin, and they will be shooting at each other while they do so.

    So for example is it possible to set it up such that each local player has sectors of the environment loading in relative to their own camera, but still be able to shoot across a sector and hit a player in a different sector?

    Also, if the floating point origin shifts while there are physics calculations being done (e.g bullets flying through the air) does the shift affect the physics simulations?

    Do you offer a trial run of SECTR by any chance? Or is it possible to buy it to try and get a refund if we find it doesn't fit our needs? Thank you :)
     
  32. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    179
    figured it out, while I was messing around, I somehow placed a "sector member" component on the terrain itself, so the terrain wasn't exporting with everything else, I removed that, and bam working good. still playing with the occlusion culling.
     
    PWPeter likes this.
  33. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Yes, this should work in general: each player could have their own region loader for their own client that will load the game world for them according to their position. SECTR has nothing built in for networking by itself though, so if you would want to handle a rocket for example that is shot to another player you would either need to make it a global object (so that it is never unloaded) and / or manage it in such way that the model for the rocket itself is only displayed when the rocket is in one of the sectors that is visible for the client.

    Careful no, "careful" in so far as that we have only tested the physics with basic objects, falling cubes, rolling spheres etc. When you are using fast moving bullets and then you factor in that it is networked where the shift can happen for each client individually, I can't 100 % guarantee that there won't be any issues with it.

    We don't have any trials, but we would refund you if it is not suitable for you, especially if you buy it for a specific reason like you do. If you find out that it is not working out for you you can open a ticket in our support system and refer to this conversation, and we will refund you.
     
    luellasfpg likes this.
  34. luellasfpg

    luellasfpg

    Joined:
    Jan 23, 2019
    Posts:
    16
    Thanks Peter, sounds good, we will give it a try then. :)
     
  35. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    @AdamGoodrich I am an original SECTR owner and was considering spending the $17 to upgrade to get the complete SECTR package. However, I have one concern based on my previous experience with splitting terrains. In Landscape Builder 2 when the terrains are split into sections, unless the pixel error is set to 1, there are gaps between terrains when seen at a distance. Does this tool somehow stitch together the terrain tiles so there are no gaps?
     
  36. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    It does not produce gaps, here are 8x8 terrain tiles (width=256) from a randomly generated Gaia terrain, split up with SECTR for streaming, pixel Error=5.
    far.JPG
    (The orange square is one of the terrains selected)

    A bit more up close:
    close.JPG
     
    AdamGoodrich likes this.
  37. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    What about pixel error of 128?
     
  38. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    It works the same at each pixel error setting, I just used mentioned pixel error = 5 as an example so you know I did not take a screenshot of pixel error =1. Here is another 8x8 terrain with pixel error=128:
    far.JPG
    close.JPG
     
  39. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    Fantastic. That's perfect. I will definitely get the upgrade then. It looks like a great tool.
     
    AdamGoodrich likes this.
  40. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    I started using this, but am a bit stuck. I followed the Stream tutorial and all seemed to be going fine, but I ran into an issue. When I sectorized the terrain and export all sectors, none of my scene objects got put into sectors. All my objects are under a single root object so maybe that was an issue?

    [EDIT]
    OK, so I started over and this time I dragged the objects into the SECTR Stream window and had to have Position method selected. That worked. It didn't like Bounds mode, though, for some reason. The tutorial video doesn't talk about dragging objects or the different modes so maybe that needs a little updating.
     
    Last edited: Jul 11, 2019
  41. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Glad you were able to resolve it! The Bounds mode will try to encapsulate the bounds of the object that is to be sorted away into one distinct Sector. This can fail if the bounds of the object exceed the bounds of the sector, or run across multiple sectors at once.
    The position method will only take the object position into account, which is more likely to succeed.
    The tutorial video uses a Gaia generated terrain as starting point, there is a special setting for that to automatically take the GameObjects spawned by Gaia and sort them into the sectors during splitting up the terrain, this is why this was not mentioned in the video.
     
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    A big shout out to @AdamGoodrich and team for making SECTR Stream a great tool. Not only did it work for me, it worked for me on the Wii U. (Yeah, I'm still trying to make my Wii U game. But once it's done I'll be moving on to XBox.)

    Anyway, the tool is far easier to use than World Streamer. The only complaint I have is that there should be some sort of one-click button to revert everything back to a regular scene with the original, un-split, terrain. Also, I don't understand the backup system. It asks at certain steps if you want to do a backup and I always say yes, but there's not help anywhere on how to actually restore this backup.
     
    AdamGoodrich likes this.
  43. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Thanks for the praise! The restore system is a good idea, what you can do to achieve this manually at the moment is to create a duplicate of the terrain object in the scene hierarchy, then deactivate the original and split from the duplicate. In this way you can always delete the terrain sectors and start over from the deactivated original terrain.

    The backups are just copies of the scenes before the change is being performed, you can find those backup copies in a folder named just like the scene, e.g. if your scene is called SceneA there should be a SceneA\Backups folder.
     
    magique likes this.
  44. sofianehamza

    sofianehamza

    Joined:
    Feb 13, 2017
    Posts:
    10
    hello,
    i keep getting this error when i install the playmaker actions
    Assets\SECTR\PlayMaker\Code\Audio\AddAmbience.cs(31,26): error CS0117: 'SECTR_AudioSystem' does not contain a definition for 'System'
     
  45. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    There was a change recently where we had to rename "SECTR_Audiosystem.System" to "SECTR_Audiosystem.AudioSystem" for technical reasons, unfortunately we forgot to correct this in the playmaker actions as well. We will correct this with the next update, until then I sent you a fix per direct message.
     
    sofianehamza likes this.
  46. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    Is it possible to have multiple streamers and perform streaming differently for them? For example, I might want to stream in terrain segments in 1024x1024 chunks, but stream smaller detail props in 128x128 chunks.
     
  47. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    360
    Yes, this is possible by putting the smaller detail props on their own layer, then add another region loader that loads the different layer alone with a reduced loading distance. Here is an example from the open world demo scene:

    I added two cubes to the open world demo scene, put them in a sector with Alt+Shift+S and put the sector on its own layer:


    After that I added a region loader with reduced range to the player. I removed the new layer from the default region loader, and added it to the new loader with the reduced range:


    During playmode this will load the smaller detail sector only when it comes into close range to the player. The scene view is a bit difficult to see in this video due to compression, but in the top down scene view you can see how there is another smaller rectangle around the player for the "detail loader". As soon as it touches the sector with the two cubes the scene loads and appears in the hierarchy & in game view:

    https://i.imgur.com/PdfAGgt.gifv
     
  48. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,489
    Awesome. Thanks for the fast and detailed response. This helps a lot.
     
  49. sofianehamza

    sofianehamza

    Joined:
    Feb 13, 2017
    Posts:
    10
    Thanks for your prompt reply
     
  50. zornor90

    zornor90

    Joined:
    Sep 16, 2015
    Posts:
    157
    Would it be possible to add either a flag or a function on a member to fully reset it to a default state? I'm running into an issue where members gameobjects are disabled and then when they are re-enabled, the mesh renderers that were disabled when the member gameobject was disabled are never re-enabled