public override void UpdateExternalObject(GameObject externalObject, Sprite baseSprite, Sprite dummySprite, TextureInfo textureInfo, SpriteConfigData data) { PrefabUtil.UpdateMeshPrefab(textureInfo, false, externalObject); baseSprite.GetVertexAndTriangle3D(data, out var vertices3D, out var triangles3D, MeshRenderType.Transparent); PrefabUtil.AddComponentsAssets(baseSprite, externalObject, vertices3D, triangles3D, textureInfo, RENDER_TYPE_TRANSPARENT, data.transparentShaderName, data); }
public override void OverrideGeometry(Sprite baseSprite, Sprite dummySprite, TextureInfo textureInfo, SpriteConfigData data) { //use unity native mesh }
public override GameObject CreateExternalObject(Sprite sprite, TextureInfo textureInfo, SpriteConfigData data, string oldPrefabPath = null) { return(PrefabUtil.CreateMeshPrefab(textureInfo, false)); }
public void OverrideGeometry() { TextureInfo textureInfo = new TextureInfo(_mainImportData.sprite, _mainImportData.assetPath); _meshCreator.OverrideGeometry(_mainImportData.sprite, _mainImportData.dummySprite, textureInfo, _configData); }
public override void OverrideGeometry(Sprite baseSprite, Sprite dummySprite, TextureInfo textureInfo, SpriteConfigData data) { //does not supported }
public override void UpdateExternalObject(GameObject externalObject, Sprite baseSprite, Sprite dummySprite, TextureInfo textureInfo, SpriteConfigData data) { PrefabUtil.UpdateMeshPrefab(textureInfo, true, externalObject); GameObject root = externalObject; GameObject sub = root.transform.GetChild(0).gameObject; dummySprite.GetVertexAndTriangle3D(data, out var transparentVertices, out var transparentTriangles, MeshRenderType.SeparatedTransparent); dummySprite.GetVertexAndTriangle3D(data, out var opaqueVertices, out var opaqueTriangles, MeshRenderType.Opaque); PrefabUtil.AddComponentsAssets(baseSprite, root, transparentVertices, transparentTriangles, textureInfo, RENDER_TYPE_TRANSPARENT, data.transparentShaderName, data); PrefabUtil.AddComponentsAssets(baseSprite, sub, opaqueVertices, opaqueTriangles, textureInfo, RENDER_TYPE_OPAQUE, data.opaqueShaderName, data); }
public override void OverrideGeometry(Sprite baseSprite, Sprite dummySprite, TextureInfo textureInfo, SpriteConfigData data) { dummySprite.GetVertexAndTriangle2D(data, out var vertices, out var triangles, MeshRenderType.Transparent); vertices = MeshUtil.GetScaledVertices(vertices, textureInfo, isClamped: true); baseSprite.OverrideGeometry(vertices, triangles); }