/// <summary> /// Creates and returns a new mesh with generated lightmap uvs (Editor Only) /// </summary> public Mesh GetMesh_GenerateSecondaryUVSet(UnityEditor.UnwrapParam param) { Mesh shape = GetMesh(); // for light mapping UnityEditor.Unwrapping.GenerateSecondaryUVSet(shape, param); return(shape); }
/// <summary> /// Creates and returns a new mesh with generated lightmap uvs /// </summary> public Mesh GetMesh_GenerateSecondaryUVSet(UnityEditor.UnwrapParam param) { Mesh shape = GetMesh(); #if UNITY_EDITOR UnityEditor.Unwrapping.GenerateSecondaryUVSet(shape, param); #endif return(shape); }
private void GenerateUV(Mesh combinedMesh) { #if UNITY_EDITOR if (generateUVMap) { UnityEditor.UnwrapParam unwrapParam = new UnityEditor.UnwrapParam(); UnityEditor.UnwrapParam.SetDefaults(out unwrapParam); UnityEditor.Unwrapping.GenerateSecondaryUVSet(combinedMesh, unwrapParam); } #endif }
void OnGUI() { if ( Selection.activeGameObject == null ) return; MegaShape shape = Selection.activeGameObject.GetComponent<MegaShape>(); if ( shape == null ) return; //UnwrapParam uv1 = new UnwrapParam(); //UnwrapParam.SetDefaults(out uv1); //loft.genLightMap = EditorGUILayout.BeginToggleGroup("Gen LightMap", loft.genLightMap); shape.angleError = EditorGUILayout.Slider("Angle Error", shape.angleError, 0.0f, 1.0f); shape.areaError = EditorGUILayout.Slider("Area Error", shape.areaError, 0.0f, 1.0f); shape.hardAngle = EditorGUILayout.FloatField("Hard Angle", shape.hardAngle); shape.packMargin = EditorGUILayout.FloatField("Pack Margin", shape.packMargin); EditorStyles.textField.wordWrap = false; EditorGUILayout.BeginHorizontal(); if ( GUILayout.Button("Build") ) { UnwrapParam uv = new UnwrapParam(); //UnwrapParam.SetDefaults(out uv); uv.angleError = shape.angleError; uv.areaError = shape.areaError; uv.hardAngle = shape.hardAngle; uv.packMargin = shape.packMargin; Unwrapping.GenerateSecondaryUVSet(shape.shapemesh, uv); this.Close(); } if ( GUILayout.Button("Cancel") ) { this.Close(); } EditorGUILayout.EndHorizontal(); }
public void GenerateMesh() { var filter = GetComponent <MeshFilter>(); if (filter != null) { #if UNITY_EDITOR Mesh mesh = ShapeCombiner.BuildOneMesh(this, shouldOptimize: false, shouldUpload: false); var p = new UnityEditor.UnwrapParam(); p.angleError = 0.05f; p.areaError = 0.05f; p.hardAngle = 90; p.packMargin = 0.0f; UnityEditor.Unwrapping.GenerateSecondaryUVSet(mesh); //mesh.uv = mesh.uv2; filter.sharedMesh = mesh; #endif } }
/// <summary> /// <para>Will generate per-triangle uv (3 UVs for each triangle) with default settings.</para> /// </summary> /// <param name="src">The source mesh to generate UVs for.</param> /// <returns> /// <para>The list of UVs generated.</para> /// </returns> public static Vector2[] GeneratePerTriangleUV(Mesh src) { UnwrapParam param = new UnwrapParam(); UnwrapParam.SetDefaults(out param); return GeneratePerTriangleUV(src, param); }
public static extern void SetDefaults(out UnwrapParam param);
private static extern Vector2[] INTERNAL_CALL_GeneratePerTriangleUVImpl(Mesh src, ref UnwrapParam settings);
/// <summary> /// <para>Will auto generate uv2 with provided settings for provided mesh, and fill them in.</para> /// </summary> /// <param name="src"></param> /// <param name="settings"></param> public static void GenerateSecondaryUVSet(Mesh src, UnwrapParam settings) { MeshUtility.SetPerTriangleUV2(src, Unwrapping.GeneratePerTriangleUV(src, settings)); }
internal static extern Vector2[] GeneratePerTriangleUVImpl(Mesh src, UnwrapParam settings);
/// <summary> /// <para>Will generate per-triangle uv (3 uv pairs for each triangle) with provided settings.</para> /// </summary> /// <param name="src"></param> /// <param name="settings"></param> public static Vector2[] GeneratePerTriangleUV(Mesh src, UnwrapParam settings) { return Unwrapping.GeneratePerTriangleUVImpl(src, settings); }
/// <summary> /// <para>Will generate per-triangle uv (3 uv pairs for each triangle) with default settings.</para> /// </summary> /// <param name="src"></param> public static Vector2[] GeneratePerTriangleUV(Mesh src) { UnwrapParam settings = new UnwrapParam(); UnwrapParam.SetDefaults(out settings); return Unwrapping.GeneratePerTriangleUV(src, settings); }
internal static Vector2[] GeneratePerTriangleUVImpl(Mesh src, UnwrapParam settings) { return(Unwrapping.INTERNAL_CALL_GeneratePerTriangleUVImpl(src, ref settings)); }
public static Vector2[] GeneratePerTriangleUV(Mesh src, UnwrapParam settings) { return(Unwrapping.GeneratePerTriangleUVImpl(src, settings)); }
public static void GenerateSecondaryUVSet(Mesh src, UnwrapParam settings) { MeshUtility.SetPerTriangleUV2(src, Unwrapping.GeneratePerTriangleUV(src, settings)); }
// Will auto generate uv2 with provided settings for provided mesh, and fill them in public static bool GenerateSecondaryUVSet(Mesh src, UnwrapParam settings) { return(MeshUtility.SetPerTriangleUV2(src, GeneratePerTriangleUV(src, settings))); }
static extern Vector2[] GeneratePerTriangleUVImpl(Mesh src, UnwrapParam settings);
internal static Vector2[] GeneratePerTriangleUVImpl(Mesh src, UnwrapParam settings) { return INTERNAL_CALL_GeneratePerTriangleUVImpl(src, ref settings); }
/// <summary> /// <para>Will generate per-triangle uv (3 UVs for each triangle) with provided settings.</para> /// </summary> /// <param name="src">The source mesh to generate UVs for.</param> /// <param name="settings">Allows you to specify custom parameters to control the unwrapping.</param> /// <returns> /// <para>The list of UVs generated.</para> /// </returns> public static Vector2[] GeneratePerTriangleUV(Mesh src, UnwrapParam settings) => GeneratePerTriangleUVImpl(src, settings);