From 7800f1320f741f312f7f909e222bcf3199d292cb Mon Sep 17 00:00:00 2001 From: JannisX11 Date: Tue, 15 Feb 2022 17:57:21 +0100 Subject: [PATCH] Add mesh editing tools to main toolbar Fix #1273 Mesh UVs mirrored --- js/interface/actions.js | 22 ++++++++++++++++------ js/texturing/texture_generator.js | 3 ++- js/texturing/uv.js | 2 +- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/js/interface/actions.js b/js/interface/actions.js index 954472a87..b90d63363 100644 --- a/js/interface/actions.js +++ b/js/interface/actions.js @@ -1958,11 +1958,9 @@ const BARS = { 'pick_screen_color' ] }) - if (isApp) { - Blockbench.onUpdateTo('3.9', () => { - Toolbars.color_picker.add(BarItems.pick_screen_color); - }) - } + Blockbench.onUpdateTo('4.2.0-beta.0', () => { + Toolbars.color_picker.add(BarItems.pick_screen_color); + }) Toolbars.display = new Toolbar({ @@ -2046,9 +2044,21 @@ const BARS = { 'transform_space', 'rotation_space', 'selection_mode', - 'lock_motion_trail' + 'lock_motion_trail', + 'extrude_mesh_selection', + 'inset_mesh_selection', + 'loop_cut', + 'create_face', + 'invert_face', ] }) + Blockbench.onUpdateTo('4.2.0-beta.0', () => { + Toolbars.main_tools.add(BarItems.extrude_mesh_selection); + Toolbars.main_tools.add(BarItems.inset_mesh_selection); + Toolbars.main_tools.add(BarItems.loop_cut); + Toolbars.main_tools.add(BarItems.create_face); + Toolbars.main_tools.add(BarItems.invert_face); + }) if (Blockbench.isMobile) { [Toolbars.element_position, Toolbars.element_size, diff --git a/js/texturing/texture_generator.js b/js/texturing/texture_generator.js index ee5e474da..3b21d96ac 100644 --- a/js/texturing/texture_generator.js +++ b/js/texturing/texture_generator.js @@ -668,7 +668,8 @@ const TextureGenerator = { vec2.fromArray(mesh.vertices[face_group.faces[0].vertices[0]]) ) let rot = cameraTargetToRotation([0, 0, 0], normal_vec.toArray()); - let e = new THREE.Euler(Math.degToRad(-rot[1] - 90), Math.degToRad(rot[0]), 0); + console.log(face_group.normal, rot) + let e = new THREE.Euler(Math.degToRad(rot[1] - 90), Math.degToRad(rot[0] + 180), 0); let vertex_uvs = {}; face_group.faces.forEach(face => { face.vertices.forEach(vkey => { diff --git a/js/texturing/uv.js b/js/texturing/uv.js index f17808277..982173ce9 100644 --- a/js/texturing/uv.js +++ b/js/texturing/uv.js @@ -721,7 +721,7 @@ const UVEditor = { vec2.fromArray(obj.vertices[face.vertices[0]]) ) let rot = cameraTargetToRotation([0, 0, 0], normal_vec.toArray()); - let e = new THREE.Euler(Math.degToRad(-rot[1] - 90), Math.degToRad(rot[0]), 0); + let e = new THREE.Euler(Math.degToRad(rot[1] - 90), Math.degToRad(rot[0] + 180), 0); face.vertices.forEach(vkey => { let coplanar_pos = plane.projectPoint(vec3.fromArray(obj.vertices[vkey]), vec4.set(0, 0, 0)); coplanar_pos.applyEuler(e);