mirror of
https://github.com/JannisX11/blockbench.git
synced 2025-02-23 16:31:20 +08:00
v4.3.0-beta.3 [ci-build]
Fix display scenes not working correctly in display mode
This commit is contained in:
parent
4639671eab
commit
d7a7150099
Binary file not shown.
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
@ -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')) {
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
@ -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
Loading…
Reference in New Issue
Block a user