再推薦一個 剖切 工具包(更多同類型的倉庫見本文擴展閱讀)。切西瓜嘛瘸羡,測試一下這個玩意唄~
GitHub 上的工程多如繁星甘耿,有些好的倉庫,但凡不經(jīng)意間錯過了就很難找回兽掰,故稍作采擷芭碍,希望能幫助到有心人。
簡介:
筆者今天推薦的倉庫叫 EzySlice孽尽。 - 便捷剖切工具
功能:
- Ability to slice any convex Mesh using a Plane
- 支持使用一個面片對任意的 Convex Mesh 進行剖切窖壕。 - UV/Normal/Tangent Space Interpolation for seamless cuts
- UV / Normal / Tangent Space插值,用于無縫切割 - Flexible and Documented API
- 靈活且文檔化的API - No external plugin dependencies, fully written in C#
- 無需外部拆件支持杉女,全部使用 C# 實現(xiàn) - Updated for Unity3D 2018
- 支持到 Unity 2018 - MIT Open Source License
-使用 MIT 開源協(xié)議
使用:
倉庫作者提供的示例:https://github.com/DavidArayan/EzySlice-Example-Scenes
下面這兩個示例告訴你如何使用 貼圖 和 材質(zhì)球的API 瞻讽。
如何使用貼圖
/**
* Example on how to calculate a custom TextureRegion to reference a different part of a texture
*
* px -> The start X Position in Pixel Coordinates
* py -> The start Y Position in Pixel Coordinates
* width -> The width of the texture in Pixel Coordinates
* height -> The height of the texture in Pixel Coordinates
*/
public TextureRegion CalculateCustomRegion(Texture myTexture, int px, int py, int width, int height) {
return myTexture.GetTextureRegion(px, py, width, height);
}
如何使用材質(zhì)球
/**
* Example on how to calculate a custom TextureRegion to reference a different part of a texture
* This example will use the mainTexture component of a Material
*
* px -> The start X Position in Pixel Coordinates
* py -> The start Y Position in Pixel Coordinates
* width -> The width of the texture in Pixel Coordinates
* height -> The height of the texture in Pixel Coordinates
*/
public TextureRegion CalculateCustomRegion(Material myMaterial, int px, int py, int width, int height) {
return myMaterial.GetTextureRegion(px, py, width, height);
}
演示:
略
鏈接:
DavidArayan/ezy-slice: An open source mesh slicer framework for Unity3D Game Engine. Written in C#.
結語:
- 這個倉庫還在持續(xù)更新,且倉庫作者許諾會有更多的示例出來宠纯,喜歡的可以關注下卸夕。
- 這個功能可以用在所以涉及到剖切功能的場景层释。切西瓜婆瓜,且 齒輪,切淫(ren)贡羔,都行廉白。
擴展閱讀:
-
mattatz/unity-mesh-slicing: View-aligned mesh slicing for Unity.
-
Dandarawy/Unity3DCrossSectionShader: CG shader for unity3D to create a cross section through meshes - 通過shader實現(xiàn)的剖切
-
-
NobleMuffins/LimbHacker: Limb Hacker cuts skinned mesh characters in Unity3D.
-
toninhoPinto/MeshSlicingRunTime
本文集持續(xù)更新ing,喜歡記得點贊關注哦乖寒!