{"id":13661483,"url":"https://github.com/Whinarn/UnityMeshSimplifier","last_synced_at":"2025-04-25T02:33:19.044Z","repository":{"id":37515539,"uuid":"118771192","full_name":"Whinarn/UnityMeshSimplifier","owner":"Whinarn","description":"Mesh simplification for Unity.","archived":false,"fork":false,"pushed_at":"2024-02-14T23:57:41.000Z","size":381,"stargazers_count":1739,"open_issues_count":10,"forks_count":275,"subscribers_count":37,"default_branch":"master","last_synced_at":"2024-10-29T17:11:56.442Z","etag":null,"topics":["csharp","mesh-decimation","mesh-simplification","unity","unity3d","unity3d-plugin"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Whinarn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-24T13:46:37.000Z","updated_at":"2024-10-28T07:43:38.000Z","dependencies_parsed_at":"2024-08-02T05:20:57.334Z","dependency_job_id":null,"html_url":"https://github.com/Whinarn/UnityMeshSimplifier","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Whinarn%2FUnityMeshSimplifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Whinarn%2FUnityMeshSimplifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Whinarn%2FUnityMeshSimplifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Whinarn%2FUnityMeshSimplifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Whinarn","download_url":"https://codeload.github.com/Whinarn/UnityMeshSimplifier/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223979349,"owners_count":17235381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","mesh-decimation","mesh-simplification","unity","unity3d","unity3d-plugin"],"created_at":"2024-08-02T05:01:35.497Z","updated_at":"2024-11-10T16:30:40.100Z","avatar_url":"https://github.com/Whinarn.png","language":"C#","readme":"# UnityMeshSimplifier\n\n[![openupm](https://img.shields.io/npm/v/com.whinarn.unitymeshsimplifier?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.whinarn.unitymeshsimplifier/)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/3c6b55bddfe64912b56e6759c642939d)](https://www.codacy.com/manual/Whinarn/UnityMeshSimplifier?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=Whinarn/UnityMeshSimplifier\u0026amp;utm_campaign=Badge_Grade)\n[![CircleCI](https://img.shields.io/circleci/build/gh/Whinarn/UnityMeshSimplifier?label=circle-ci)](https://circleci.com/gh/Whinarn/UnityMeshSimplifier/tree/master)\n[![GitHub Release Status](https://img.shields.io/github/workflow/status/Whinarn/UnityMeshSimplifier/Release?label=release)](https://github.com/Whinarn/UnityMeshSimplifier/actions?query=workflow%3ARelease)\n[![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/Whinarn/UnityMeshSimplifier/blob/master/LICENSE.md)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nMesh simplification for [Unity](https://unity3d.com/). The project is deeply based on the [Fast Quadric Mesh Simplification](https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification) algorithm, but rewritten entirely in C# and released under the MIT license.\n\nBecause of the fact that this project is entirely in C# it *should* work on all platforms that Unity officially supports, as well as both in the editor and at runtime in builds.\n\n## Up for adoption\n\nHello there! Are you interested in mesh simplification and would like to take this package further?\n\nI'm currently looking for someone to take over this repository since I feel like I'm not the right person to do it, nor do I have enough time to spend on it. Or if you'd just like to be a maintainer. Preferably someone with a better knowledge and interest in mesh simplification.\n\nIf you think that's you or your organization, please open up an issue to start a discussion.\n\n## Compatibility\n\nBecause this project is now using Unity packages, you should use a Unity version from 2018.1 and beyond.\nAlthough some scripts have been tested and confirmed working as far back as Unity 5.6, it will no longer be officially supported.\nUnity introduced the package manager in Unity 2017.2, but at a very early state.\n\nThe code will only (at the time of writing) compile with the *.NET Standard 2.0* or *.NET 4.X* scripting runtime versions. The legacy scripting runtime is no longer supported.\nRead more about this [here](https://docs.unity3d.com/2019.1/Documentation/Manual/dotnetProfileSupport.html).\n\n## Installation into Unity project\n\nYou will find different methods of installing this library into your Unity project [here](https://github.com/Whinarn/UnityMeshSimplifier/wiki#installing).\n\n## How to use\n\nIf you are not a programmer look into the [LOD Generator Helper component](https://github.com/Whinarn/UnityMeshSimplifier/wiki/LOD-Generator-Helper-component).\n\nFor programmers you will find documentation for the [Mesh Simplifier API](https://github.com/Whinarn/UnityMeshSimplifier/wiki/Mesh-Simplifier-API) and the [LOD Generator API](https://github.com/Whinarn/UnityMeshSimplifier/wiki/LOD-Generator-API) useful.\n\n## The Smart Linking feature\n\nIn order to solve artifacts in the mesh simplification process where holes or other serious issues could arise, a new feature called smart linking has been introduced. This feature is enabled by default but can be disabled through the `EnableSmartLink` field on the `SimplificationOptions` struct appled to the `MeshSimplifier` class through the `SimplificationOptions` property. Disabling this could give you a minor performance gain in cases where you do not need this.\n\nThe `VertexLinkDistance` field on the `SimplificationOptions` struct could be also be used to change the maximum distance between two vertices for the linking. The default value is `double.Epsilon`. This value maximum distance is intended to be very small, but you might need to increase it for large scale meshes.\n\n## Potential problems and solutions\n\n### I'm missing XML documentation in my project\n\nIf you have installed this library through the Git URL in the Unity package manager, then you will likely see this problem.\nThe solution is quite simple however. Open up your Unity Editor, go to `Edit` \u003e `Preferences` and then under `External Tools` you will have multiple options under `Generate .csproj files for:`. Now simply make sure that Git packages and whatever other kind of package is selected here. You should now see the XML documentation for the API show up in your code editor after having also clicked `Regenerate project files`.\n\n### My decimated meshes have holes\n\nThe original algorithm that was ported from C++ did not support situations where multiple vertices shared the same position, instead of being treated as one vertex they were treated individually. This would then end up creating visible holes in the mesh where the vertices were not connected through triangles.\n\nThere are several ways to solve this problem. The smart linking feature (mentioned above) is enabled by default and should take care of most of these problems for you. But there are also options to preserve borders, seams and UV foldovers. The properties *PreserveBorders*, *PreserveSeams* and *PreserveFoldovers* will preserve some vertices from being decimated, strongly limiting the decimation algorithm, but should prevent holes in most situations.\n\nThe recommendation is to use the smart linking feature that is enabled by default, but the options for preservation exists in those cases where you may want it.\n\n### Some objects are not animated correctly after I have generated LOD Groups\n\nThe most probable cause for this is that you have objects that are parented under bones that will move with the animations. Currently there is no code to deal with this, and the best way to do this is to use nested LOD Groups. Any such object that you know is parented under a bone should have its own LOD Group.\n\n### The Unity-generated Visual Studio solution file appears broken\n\nThis can be a problem because of an assembly definition provided with this repository, if you are using Unity 2017.3 or above. Make sure that you have the latest version of [Visual Studio Tools for Unity](https://www.visualstudio.com/vs/unity-tools/). If you are using Visual Studio 2017, make sure that Visual Studio is up to date and that you have installed the *Game development with Unity* component. For other versions of Visual Studio you would have to download a separate installer. Please go to the [Microsoft Documentation](https://docs.microsoft.com/en-us/visualstudio/cross-platform/getting-started-with-visual-studio-tools-for-unity) for more information.\n\n## How to contribute\n\nPlease read [CONTRIBUTING](https://github.com/Whinarn/UnityMeshSimplifier/blob/master/CONTRIBUTING.md) regarding how to contribute.\n","funding_links":[],"categories":["Game-Design-Tool","C\\#","C#","Open Source Repositories","Engines","Open Source Packages"],"sub_categories":["Meshes"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWhinarn%2FUnityMeshSimplifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWhinarn%2FUnityMeshSimplifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWhinarn%2FUnityMeshSimplifier/lists"}