本文整理汇总了C#中UnityEngine.Sprite.OverrideGeometry方法的典型用法代码示例。如果您正苦于以下问题:C# Sprite.OverrideGeometry方法的具体用法?C# Sprite.OverrideGeometry怎么用?C# Sprite.OverrideGeometry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEngine.Sprite
的用法示例。
在下文中一共展示了Sprite.OverrideGeometry方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoSpriteOverride
static void DoSpriteOverride(SpriteMesh spriteMesh, Sprite sprite)
{
SpriteMeshData spriteMeshData = SpriteMeshUtils.LoadSpriteMeshData(spriteMesh);
if(spriteMeshData)
{
Rect rect = SpriteMeshUtils.CalculateSpriteRect(spriteMesh,5);
Rect spriteRect = sprite.rect;
Vector2 factor = new Vector2(spriteRect.width/rect.width,spriteRect.height/rect.height);
Vector2[] newVertices = new List<Vector2>(spriteMeshData.vertices).ConvertAll( v => MathUtils.ClampPositionInRect(Vector2.Scale(v,factor),spriteRect) - spriteRect.position ).ToArray();
ushort[] newIndices = new List<int>(spriteMeshData.indices).ConvertAll<ushort>( i => (ushort)i ).ToArray();
sprite.OverrideGeometry(newVertices, newIndices);
}
}