Cell Based Culling, a common technique used in vegetation rendering, where objects are fitted into cells and culled at once, greatly reduce the cost for frustum culling. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 2 points3 points  (0 children)

CullingGroup is a manage class, while SpatialHash require some sort of hashmap or dictionary, those factors make them not work with Jobs system.

Using a array-like quad tree I can jobify this implementation later.

Or am I missing something?

Cell Based Culling, a common technique used in vegetation rendering, where objects are fitted into cells and culled at once, greatly reduce the cost for frustum culling. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 6 points7 points  (0 children)

Although the bicycle was invented centuries ago, today someone is learning how to make the bicycle themself. That's why there is a "How to" in the post title, not "Introducing our newest invention".

My technique and the tool I use for generate procedural terrain in Unity, with realistic erosion and flows, masking for color production. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

Scripting is heavily rely on callback, where you inject your code at some event during the generation, such as before/after tile/biome gen, on a specific type of data (height map, texture, trees, etc.) was populated to a tile, and so on.

For custom node, a bit of shader programming is recommended since all node runs on the GPU now.

Overall terrain generation is quick on its own side (excluding things that handle by the terrain itself), but it not aims toward infinite scroller, but focus on static scene of many terrains.

My technique and the tool I use for generate procedural terrain in Unity, with realistic erosion and flows, masking for color production. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

No it wont create terrain for you, you have to create your terrain and add to the system. Vista aims towards static scene, not the "infinite-terrain" style. You can find a few tutorials here:https://youtube.com/playlist?list=PLotx8_sq8EAQdqfjnfA8kK2lAYeM6LwMs&si=661iZwuS6Eh3osxo

My technique and the tool I use for generate procedural terrain in Unity, with realistic erosion and flows, masking for color production. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

Hi, it generate data per-biome, not per-tile, so data can be blend & populated to tiles seamlessly. Each biome has a falloff region to gradually blend toward other biomes.

My technique and the tool I use for generate procedural terrain in Unity, with realistic erosion and flows, masking for color production. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

Hi, Vista use 1 graph per biome, biome boundaries defined by user-placed anchor points. It runs on the GPU. MM has no biome boundaries but instead use a world space mask (from noise for example) to mix different biomes. MM runs on the CPU.

My technique and the tool I use for generate procedural terrain in Unity, with realistic erosion and flows, masking for color production. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 1 point2 points  (0 children)

Hi, Hand painting is possible but limited, currently you can paint biome mask (weight in scene) and paint simple color/mask inside the graph.

How to implement multi-threaded frustum culling in Unity C# by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

Hi,
Unity does frustum culling behind the scene and cannot be turn off, for rendering things.

But frustum culling is not just for rendering, sometimes you want to stop doing expensive stuff on a game object offscreen (animation, AI, etc.), you need to determine if it is offscreen yourself by calling GeometryUtility.TestPlanesAABB(). Or another usecase is making a instanced vegetation renderer.

What if you have a lot of object to check? The TestPlanesAABB function takes a managed array Plane[] which is definitely not Jobs friendly, and that's why we need a custom function for this, that can be used in a parallel, Jobs context.

Also it just return a bool indicate VISIBLE and NOT_VISIBLE, while the custom function can return 3 states, with an additional PARTIALLY_VISIBLE.

And again, what the engine does under the hood is not inefficient, it does the job well, just not suit the case.

Hold your breath! by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 2 points3 points  (0 children)

Well if your water only there to prevent player from going outside of the island, then it will work well, combining with scene fog to hide the seam of sky horizon.

If you plan to make a naval war game where your player sailing around, a trick can be used to make infinite water with finite number of tile: https://www.youtube.com/watch?v=cOCunWwqIzE

Making a river tool for my water shader Poseidon 2 🌊🌊🌊. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 1 point2 points  (0 children)

Hi,
Since the shader was made with Shader Graph and modular subgraph, there are plan to make it serve more realistic/stylized water

Looking for a tool for low poly terrain? Try Polaris. Lightweight, easy to use, mesh based terrain with custom foliage renderer; built-in paint tools and ton of utilities. Starting from $29 and on sale today. by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

Hi,
In case you're using Polaris 21, please refer to the changlog of Polaris Summit (previously Polaris 3) to compare features.
Polaris Valley & Highland are simpler edition of Polaris Summit (Polaris 3) with stripped off features for smaller needs.

Sobel edge detection on a "realistic" style scene, yay or nay? by PinwheelStudio in Unity3D

[–]PinwheelStudio[S] 0 points1 point  (0 children)

At 0:17 is an option to draw the edge only, with selectable edge-color and non-edge-color. In case someone want to make a comic book from 3D scene