mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
修复正投影视图上选中效果边缘不正确bug。
This commit is contained in:
parent
ed68d02dca
commit
1f4e11af1c
@ -46,6 +46,7 @@ Supported Languages: 中文 / [繁體中文](README-tw.md) / [English](README-en
|
||||
32. 增加显示选项,设置选中边框颜色和粗细。
|
||||
33. 新增BufferGeometry组件,查看BufferGeometry的顶点数量、法线数量、UV坐标数量、索引数量。提供计算顶点法线功能,如果模型是黑的,可能没有法线,可以试一下这个功能。
|
||||
34. 新增多材质组件,对于有多个材质的`Mesh`,可以使用多材质组件选择一个材质进行编辑。
|
||||
35. 修复正投影视图上选中效果边缘不正确bug。
|
||||
|
||||
## v0.3.6更新
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ PickEvent.prototype.onDoubleClick = function (event) {
|
||||
|
||||
PickEvent.prototype.getIntersects = function (point, objects) {
|
||||
this.mouse.set(point.x * 2 - 1, -(point.y * 2) + 1);
|
||||
this.raycaster.setFromCamera(this.mouse, app.editor.camera);
|
||||
this.raycaster.setFromCamera(this.mouse, app.editor.view === 'perspective' ? app.editor.camera : app.editor.orthCamera);
|
||||
return this.raycaster.intersectObjects(objects);
|
||||
};
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ RaycastEvent.prototype.onMouseUp = function (event) {
|
||||
this.mouse.x = event.offsetX / domElement.clientWidth * 2 - 1;
|
||||
this.mouse.y = -event.offsetY / domElement.clientHeight * 2 + 1;
|
||||
|
||||
this.raycaster.setFromCamera(this.mouse, app.editor.camera);
|
||||
this.raycaster.setFromCamera(this.mouse, app.editor.view === 'perspective' ? app.editor.camera : app.editor.orthCamera);
|
||||
|
||||
var intersects = this.raycaster.intersectObjects(app.editor.scene.children, true);
|
||||
|
||||
|
||||
@ -4,10 +4,9 @@ import OrthographicCameraControls from '../controls/OrthographicCameraControls';
|
||||
/**
|
||||
* 视图事件
|
||||
* @author tengge / https://github.com/tengge1
|
||||
* @param {*} app
|
||||
*/
|
||||
function ViewEvent(app) {
|
||||
BaseEvent.call(this, app);
|
||||
function ViewEvent() {
|
||||
BaseEvent.call(this);
|
||||
|
||||
this.changeView = this.changeView.bind(this);
|
||||
}
|
||||
|
||||
@ -3,8 +3,6 @@ import MaskVertex from './shader/mask_vertex.glsl';
|
||||
import MaskFragment from './shader/mask_fragment.glsl';
|
||||
import EdgeVertex from './shader/edge_vertex.glsl';
|
||||
import EdgeFragment from './shader/edge_fragment.glsl';
|
||||
import CopyVertex from './shader/copy_vertex.glsl';
|
||||
import CopyFragment from './shader/copy_fragment.glsl';
|
||||
|
||||
/**
|
||||
* 选择帮助器
|
||||
@ -50,8 +48,8 @@ SelectHelper.prototype.onObjectSelected = function (obj) {
|
||||
|
||||
app.editor.renderer.getDrawingBufferSize(this.size);
|
||||
|
||||
var width = this.size.x * 2;
|
||||
var height = this.size.y * 2;
|
||||
let width = this.size.x * 2;
|
||||
let height = this.size.y * 2;
|
||||
|
||||
if (this.scene === undefined) {
|
||||
this.scene = new THREE.Scene();
|
||||
@ -69,7 +67,7 @@ SelectHelper.prototype.onObjectSelected = function (obj) {
|
||||
this.scene.add(this.quad);
|
||||
}
|
||||
|
||||
var params = {
|
||||
let params = {
|
||||
minFilter: THREE.LinearFilter,
|
||||
magFilter: THREE.LinearFilter,
|
||||
format: THREE.RGBAFormat,
|
||||
@ -156,22 +154,22 @@ SelectHelper.prototype.onAfterRender = function () {
|
||||
return;
|
||||
}
|
||||
|
||||
var renderScene = app.editor.scene;
|
||||
var renderCamera = app.editor.camera;
|
||||
var renderer = app.editor.renderer;
|
||||
let renderScene = app.editor.scene;
|
||||
let renderCamera = app.editor.view === 'perspective' ? app.editor.camera : app.editor.orthCamera;
|
||||
let renderer = app.editor.renderer;
|
||||
|
||||
var scene = this.scene;
|
||||
var camera = this.camera;
|
||||
var selected = this.object;
|
||||
let scene = this.scene;
|
||||
let camera = this.camera;
|
||||
let selected = this.object;
|
||||
|
||||
// 记录原始状态
|
||||
var oldOverrideMaterial = renderScene.overrideMaterial;
|
||||
var oldBackground = renderScene.background;
|
||||
let oldOverrideMaterial = renderScene.overrideMaterial;
|
||||
let oldBackground = renderScene.background;
|
||||
|
||||
var oldAutoClear = renderer.autoClear;
|
||||
var oldClearColor = renderer.getClearColor();
|
||||
var oldClearAlpha = renderer.getClearAlpha();
|
||||
var oldRenderTarget = renderer.getRenderTarget();
|
||||
let oldAutoClear = renderer.autoClear;
|
||||
let oldClearColor = renderer.getClearColor();
|
||||
let oldClearAlpha = renderer.getClearAlpha();
|
||||
let oldRenderTarget = renderer.getRenderTarget();
|
||||
|
||||
// 绘制蒙版
|
||||
this.hideObjects.length = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user