delaunator-sharp
UniTask
Our great sponsors
delaunator-sharp | UniTask | |
---|---|---|
4 | 21 | |
362 | 7,226 | |
- | 3.5% | |
3.9 | 8.4 | |
5 months ago | 6 days ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
delaunator-sharp
-
Using Voronoi polygons for simplified continent generation
Well, the easiest option would probably be to use a different Delaunay/Voronoi library. Delaunator (C# bindings here) should be a pretty good option: it's fast, and there's a good explanation of how to use the data structures it generates. There is some weirdness with how points at the edge of the domain work that you may have to work around, but that will probably be easier than trying to modify another algorithm or write your own. I know I've struggled to implement the algorithms for calculating Voronoi diagrams/Delaunay triangulations, even though I feel like I have a decent high-level understanding of how Fortune's algorithm is supposed to work.
-
How do they code Denaulay triangulation in Unity?
If you click around you see his project links to a JavaScript implementation of delaunay triangulation, which in turn links to a c# implementation: https://github.com/nol1fe/delaunator-sharp
Unless you really want to learn the details of the triangulation algorithm, I recommend to just use a open source implementation in C#. Here's one that works fine with Unity: https://github.com/nol1fe/delaunator-sharp
UniTask
-
Discussion: Is it a Good Practice to just... avoid Coroutines entirely?
What I would say, however, is that I much prefer async / await via UniTask over standard Coroutines!
-
Async void VS Threads
Great comment. The Unity task library is UniTask.
-
C#: IEnumerable, yield return, and lazy evaluation
IIRC there's a little more work needed for unity, but Cysharp has you covered (https://github.com/Cysharp/UniTask)
-
It sits there, failing to run, silently breaking your code like an enemy saboteur
Instead of coroutines, use async/await, combined with UniTask to support Unity's async functions (like scene loading and WebRequests). You get much cleaner code, and proper warnings when not using it properly :)
-
Control Unity Standalone Player by Windows Application
This is an asynchronous method implemented with UniTask. UniTask is much easier than coroutines to implement asynchronous operations. This method uses synchronous methods of NamedPipe because Unity doesn't implement the asynchronous versions. They don't cause any errors in compilation but result in errors at runtime.
What are some alternatives?
UnityLibrary - :books: Library of all kind of scripts, snippets & shaders for Unity
InjectFix - InjectFix is a hot-fix solution library for Unity
Harmony - A library for patching, replacing and decorating .NET and Mono methods during runtime
com.unity.netcode.gameobjects - Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
simulator - A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
unity-delaunay - A Delaunay/Voronoi library for Unity, and a simple destruction effect
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
ezThread - Library for easy threading tasks
UnityNamedPipe - A sample application of the interaction between Unity and Windows through NamedPipe
Computational-geometry - Computational Geometry Unity library with implementations of intersection algorithms, triangulations like delaunay, voronoi diagrams, polygon clipping, bezier curves, ear clipping, convex hulls, mesh simplification, etc