All Projects → Unity-Technologies → Meshapiexamples 2020.1

Unity-Technologies / Meshapiexamples 2020.1

Licence: mit
Example project for Unity 2020.1 Mesh API improvements

Labels

Projects that are alternatives of or similar to Meshapiexamples 2020.1

Infinity Square Space
Infinity Square/Space. The prototype of the game is open source. Unity Asset.
Stars: ✭ 122 (-8.27%)
Mutual labels:  unity3d
Zed Unity
ZED SDK Unity plugin
Stars: ✭ 125 (-6.02%)
Mutual labels:  unity3d
Cubeworld
Minecraft like game made in Unity
Stars: ✭ 130 (-2.26%)
Mutual labels:  unity3d
Minimalcompute
Stars: ✭ 122 (-8.27%)
Mutual labels:  unity3d
Lwrpshaders
A collection of high customizable unlit shaders for Lightweight Render Pipeline
Stars: ✭ 125 (-6.02%)
Mutual labels:  unity3d
Gitdependencyresolverforunity
This plugin resolves git url dependencies in the package for Unity Package Manager. You can use a git url as a package dependency!
Stars: ✭ 126 (-5.26%)
Mutual labels:  unity3d
Gamedev4noobs
Olá, sejam bem-vindos ao repositório _gamedev4noobs_ do Estúdio Vaca Roxa. O propósito desse repositório, além de contribuir para o projeto 4noobs, é ensinar o básico do desenvolvimento de jogos para iniciantes. Apresentando boas práticas e insumos para criar games incríveis.
Stars: ✭ 122 (-8.27%)
Mutual labels:  unity3d
Customsrp
Many mini-custom-SRPs showing how to achieve different things when creating your own SRP. Only SRP Core package is needed.
Stars: ✭ 132 (-0.75%)
Mutual labels:  unity3d
Shadergum
Unity3D GPU Sculpt & Morph
Stars: ✭ 125 (-6.02%)
Mutual labels:  unity3d
Il2cppassemblyunhollower
A tool to generate Managed->IL2CPP proxy assemblies
Stars: ✭ 126 (-5.26%)
Mutual labels:  unity3d
Drawline
draw line in unity3d
Stars: ✭ 123 (-7.52%)
Mutual labels:  unity3d
Arkit Unity3d
Access ARKit features like world-tracking, live video rendering, plane estimation and updates, hit-testing API, ambient light estimation, and raw point cloud data.
Stars: ✭ 124 (-6.77%)
Mutual labels:  unity3d
Rcam
Real time volumetric video capture for live visuals
Stars: ✭ 128 (-3.76%)
Mutual labels:  unity3d
Towerdefense
A Tower Defense style game example in Unity
Stars: ✭ 122 (-8.27%)
Mutual labels:  unity3d
Nice Ts
基于puerts的Unity游戏框架,集成fairygui,protobufjs并采用addressables管理资源
Stars: ✭ 131 (-1.5%)
Mutual labels:  unity3d
Vfxminisexamples
Unity examples showing how to control VFX graphs with MIDI devices
Stars: ✭ 122 (-8.27%)
Mutual labels:  unity3d
Volumetriclinesunity
Source of the Volumetric Lines Asset from Unity's Asset Store
Stars: ✭ 125 (-6.02%)
Mutual labels:  unity3d
Unium
Automation for Unity games
Stars: ✭ 132 (-0.75%)
Mutual labels:  unity3d
Vralchemylab
VR Demo project using HDRP and unity 2019.3
Stars: ✭ 132 (-0.75%)
Mutual labels:  unity3d
Unity Linesegmentsintersection
Line segments intersection for Unity.
Stars: ✭ 128 (-3.76%)
Mutual labels:  unity3d

Unity 2020.1 Mesh API improvements examples

Unity 2020.1 adds MeshData APIs for C# Jobs/Burst compatible way of reading & writing Mesh data; see overview document.

This repository contains several small examples of that. Required Unity version is 2020.1 alpha 17 or later.

Procedural Water/Wave Mesh

A simple example where a dense "water" surface mesh is updated every frame, based on positions on "wave source" objects.

Water

Assets/ProceduralWaterMesh is the sample scene and code. Each vertex of the resulting mesh is completely independent of others, and only depends on positions of the "wave source" objects. Using C# Jobs / Burst to compute all vertex positions in parallel brings some nice speedups.

Numbers on 250x250 water mesh, with 10 wave source objects, on 2018 MacBookPro (Core i9 2.9GHz):

  • Regular API: 66ms,
  • Jobs+Burst: 3.9ms.

Same scene on Windows, AMD ThreadRipper 1950X 3.4GHz w/ 16 threads:

  • Regular API: 83ms
  • Jobs+Burst: 2.9ms

Combine Many Input Meshes Into One

A more complex example, where for some hypothetical tooling there's a need to process geometry of many input Meshes, and produce an output Mesh. Here, all input meshes are transformed into world space, and a giant output mesh is created that is the union of all input meshes. This is very similar to how Static Batching in Unity works.

Combine1 Combine2

Assets/CreateMeshFromAllSceneMeshes is the sample scene and code. The script registers two menu items under Mesh API Test top-level menu; both do the same thing just one uses "traditional" Mesh API and does everything on the main thread, whereas the other uses 2020.1 new APIs to do it in C# Jobs with Burst.

Numbers for 11466 input objects, total 4.6M vertices, on 2018 MacBookPro (Core i9 2.9GHz):

  • Regular API: 760ms (and 23k GC allocations totaling 640MB)
  • Jobs+Burst: 60ms (0.3MB GC allocations)

Same scene on Windows, AMD ThreadRipper 1950X 3.4GHz w/ 16 threads:

  • Regular API: 920ms
  • Jobs+Burst: 70ms
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].