v4.3.0-beta.3 [ci-build]

Fix display scenes not working correctly in display mode
This commit is contained in:
JannisX11 2022-07-19 14:23:05 +02:00
parent 4639671eab
commit d7a7150099
8 changed files with 26 additions and 22 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -26,7 +26,7 @@
<script>
if (typeof module === 'object') {window.module = module; module = undefined;}//jQuery Fix
const isApp = typeof require !== 'undefined';
const appVersion = '4.3.0-beta.2';
const appVersion = '4.3.0-beta.3';
if (localStorage.getItem('theme')) {

View File

@ -424,7 +424,7 @@ class refModel {
}
this.initialized = true;
}
display_scene.add(this.model)
scene.add(this.model)
displayReferenceObjects.active = this;
DisplayMode.vue.pose_angle = this.pose_angles[display_slot] || 0;
@ -1113,7 +1113,7 @@ window.displayReferenceObjects = {
}
},
clear: function() {
display_scene.remove(displayReferenceObjects.active.model)
scene.remove(displayReferenceObjects.active.model)
displayReferenceObjects.active = false
},
ref_indexes: {
@ -1152,7 +1152,7 @@ enterDisplaySettings = function() { //Enterung Display Setting Mode, changes th
selected.empty()
updateSelection()
display_base.add(scene)
if (Project.model_3d) display_base.add(Project.model_3d)
if (!display_preview) {
display_preview = new Preview({id: 'display'})
}
@ -1169,8 +1169,10 @@ enterDisplaySettings = function() { //Enterung Display Setting Mode, changes th
Canvas.buildGrid()
Canvas.updateShading()
display_scene.add(Canvas.ground_plane);
DisplayMode.loadThirdRight()
scene.add(display_area);
if (Project.model_3d) Project.model_3d.position.copy(Canvas.scene.position);
scene.position.set(0, 0, 0);
display_area.updateMatrixWorld()
Transformer.center()
@ -1180,10 +1182,19 @@ enterDisplaySettings = function() { //Enterung Display Setting Mode, changes th
}
exitDisplaySettings = function() { //Enterung Display Setting Mode, changes the scene etc
resetDisplayBase()
displayReferenceObjects.clear();
setDisplayArea(0,0,0, 0,0,0, 1,1,1)
display_area.updateMatrixWorld()
lights.rotation.set(0, 0, 0);
if (scene.parent) scene.parent.remove(scene)
scene.remove(display_area)
if (!Format.centered_grid) scene.position.set(-8, -8, -8);
display_base.children.forEachReverse(child => {
display_base.remove(child);
child.position.set(0, 0, 0);
})
if (Project.model_3d) {
scene.add(Project.model_3d);
}
display_mode = false;
main_preview.fullscreen()
@ -1197,7 +1208,6 @@ exitDisplaySettings = function() { //Enterung Display Setting Mode, changes the
scene.add(Transformer)
Canvas.buildGrid()
Canvas.updateShading()
Canvas.scene.add(Canvas.ground_plane);
Canvas.updateRenderSides()
}
function resetDisplayBase() {
@ -1310,7 +1320,7 @@ DisplayMode.updateGUILight = function() {
if (display_slot == 'gui' && Project.front_gui_light == true) {
lights.rotation.set(-Math.PI, 0.6, 0);
} else {
lights.rotation.set(0, Math.PI * 0.75, 0);
lights.rotation.set(0, 0, 0);
}
}

View File

@ -3,7 +3,7 @@ var scene,
Sun, lights,
Transformer,
canvas_scenes,
display_scene, display_area, display_base;
display_area, display_base;
var framespersecond = 0;
var display_mode = false;
var quad_previews = {};
@ -475,9 +475,7 @@ class Preview {
render() {
this.controls.update()
this.renderer.render(
display_mode
? display_scene
: scene,
scene,
this.camera
)
}
@ -1907,17 +1905,14 @@ function initCanvas() {
//Objects
scene = Canvas.scene = new THREE.Scene();
display_scene = new THREE.Scene();
display_area = new THREE.Object3D();
display_base = new THREE.Object3D();
display_scene.add(display_area)
display_area.add(display_base)
scene.name = 'scene'
display_base.name = 'display_base'
display_area.name = 'display_area'
display_scene.name = 'display_scene'
scene.add(Vertexsnap.vertex_gizmos)
Vertexsnap.vertex_gizmos.name = 'vertex_handles'
@ -2012,11 +2007,10 @@ function animate() {
function updateShading() {
Canvas.updateLayeredTextures();
scene.remove(lights)
display_scene.remove(lights)
Sun.intensity = settings.brightness.value/50;
if (settings.shading.value === true) {
Sun.intensity *= 0.5;
let parent = display_mode ? display_scene : scene;
let parent = scene;
parent.add(lights);
lights.position.copy(parent.position).multiplyScalar(-1);
}

View File

@ -934,10 +934,10 @@
} else if (Modes.display) {
display_scene.add(Transformer)
Transformer.attach(display_base)
display_base.getWorldPosition(Transformer.position)
display_base.getWorldPosition(Transformer.position);
Transformer.position.sub(scene.position);
if (Toolbox.selected.transformerMode === 'translate') {
Transformer.rotation_ref = display_area;

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"name": "Blockbench",
"description": "Low-poly modeling and animation software",
"version": "4.3.0-beta.2",
"version": "4.3.0-beta.3",
"license": "GPL-3.0-or-later",
"author": {
"name": "JannisX11",

File diff suppressed because one or more lines are too long