public void DrawGUI(IMeshCombinerSetting momm, bool settingsEnabled) { EditorGUILayout.BeginVertical(editorStyles.editorBoxBackgroundStyle); GUI.enabled = settingsEnabled; EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(doNorm, gc_doNormGUIContent); EditorGUILayout.PropertyField(doTan, gc_doTanGUIContent); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(doUV, gc_doUVGUIContent); EditorGUILayout.PropertyField(doUV3, gc_doUV3GUIContent); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(doUV4, gc_doUV4GUIContent); EditorGUILayout.PropertyField(doCol, gc_doColGUIContent); EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(doBlendShapes, gc_doBlendShapeGUIContent); //光照贴图处理 if (momm.lightmapOption == LightmapOptions.preserve_current_lightmapping) { if (MeshBakerUtility.GetMajorVersion() == 5) { EditorGUILayout.HelpBox("The best choice for Unity 5 is to Ignore_UV2 or Generate_New_UV2 layout. " + "Unity's baked GI will create the UV2 layout it wants. See manual for more information.", MessageType.Warning); } } if (momm.lightmapOption == LightmapOptions.generate_new_UV2_layout) { EditorGUILayout.HelpBox("Generating new lightmap UVs can split vertices which can push " + "the number of vertices over the 64k limit.", MessageType.Warning); } EditorGUILayout.PropertyField(lightmappingOption, gc_lightmappingOptionGUIContent); if (momm.lightmapOption == LightmapOptions.generate_new_UV2_layout) { EditorGUILayout.PropertyField(uv2OutputParamsHardAngle, gc_uv2HardAngleGUIContent); EditorGUILayout.PropertyField(uv2OutputParamsPackingMargin, gc_uv2PackingMarginUV3GUIContent); EditorGUILayout.Separator(); } EditorGUILayout.PropertyField(renderType, gc_renderTypeGUIContent); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(clearBuffersAfterBake, gc_clearBuffersAfterBakeGUIContent); EditorGUILayout.PropertyField(centerMeshToBoundsCenter, gc_CenterMeshToBoundsCenter); EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(optimizeAfterBake, gc_OptimizeAfterBake); GUI.enabled = true; EditorGUILayout.EndVertical(); }
void _CopySettings(IMeshCombinerSetting src, IMeshCombinerSetting targ) { targ.clearBuffersAfterBake = src.clearBuffersAfterBake; targ.doBlendShapes = src.doBlendShapes; targ.doCol = src.doCol; targ.doNorm = src.doNorm; targ.doTan = src.doTan; targ.doUV = src.doUV; targ.doUV3 = src.doUV3; targ.doUV4 = src.doUV4; targ.optimizeAfterBake = src.optimizeAfterBake; targ.recenterVertsToBoundsCenter = src.recenterVertsToBoundsCenter; targ.lightmapOption = src.lightmapOption; targ.renderType = src.renderType; targ.uv2UnwrappingParamsHardAngle = src.uv2UnwrappingParamsHardAngle; targ.uv2UnwrappingParamsPackMargin = src.uv2UnwrappingParamsPackMargin; }