|
|
@ -106,8 +106,8 @@ function MenubarModels(editor) { |
|
|
|
option.onClick(function () { |
|
|
|
|
|
|
|
add2dlable("中国"); |
|
|
|
return ; |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
let selectobj = editor.selected; |
|
|
|
if (!!!selectobj) { |
|
|
|
alert("none"); |
|
|
@ -117,7 +117,7 @@ function MenubarModels(editor) { |
|
|
|
// debugger
|
|
|
|
// const moonDiv = document.createElement('div');
|
|
|
|
// moonDiv.className = 'label';
|
|
|
|
|
|
|
|
|
|
|
|
// moonDiv.textContent = 'Moon11111111111111111';
|
|
|
|
// moonDiv.style.marginTop = '-1em';
|
|
|
|
// let moonLabel = new CSS2DObject(moonDiv);
|
|
|
@ -161,8 +161,8 @@ function MenubarModels(editor) { |
|
|
|
return container; |
|
|
|
|
|
|
|
} |
|
|
|
function add2dlable(text){ |
|
|
|
let labelCanvas = document.createElement('canvas'); |
|
|
|
function add2dlable(text) { |
|
|
|
let labelCanvas = document.createElement('canvas'); |
|
|
|
const context = labelCanvas.getContext('2d'); |
|
|
|
context.font = 'Bold 20px Arial'; |
|
|
|
const labelWidth = context.measureText(text).width; |
|
|
@ -171,7 +171,7 @@ function add2dlable(text){ |
|
|
|
|
|
|
|
context.font = 'Bold 20px Arial'; |
|
|
|
context.fillStyle = 'rgba( 255, 0, 0, 1 )'; |
|
|
|
context.fillText(text, 0, 20); |
|
|
|
context.fillText(text, 0,20); |
|
|
|
const labelTexture = new THREE.Texture(labelCanvas); |
|
|
|
labelTexture.magFilter = THREE.LinearFilter; |
|
|
|
labelTexture.minFilter = THREE.LinearFilter; |
|
|
@ -182,24 +182,26 @@ function add2dlable(text){ |
|
|
|
}); |
|
|
|
labelMaterial.transparent = true; |
|
|
|
const labelPlane = new THREE.PlaneGeometry(labelCanvas.width, labelCanvas.height); |
|
|
|
|
|
|
|
let labelMesh = new THREE.Mesh(labelPlane, labelMaterial); |
|
|
|
labelMesh.name='标签' |
|
|
|
editor.execute(new AddObjectCommand(editor, labelMesh)); |
|
|
|
} |
|
|
|
|
|
|
|
function AddSceneTextCSS2DLabel(obj) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const labelDiv = document.createElement('div'); |
|
|
|
labelDiv.className = 'label'; |
|
|
|
labelDiv.identifierName = 'label'; |
|
|
|
labelDiv.textContent = '显示内容 Test ...'; |
|
|
|
labelDiv.style.marginTop = '-1em'; |
|
|
|
labelDiv.style.marginTop = '-1em'; |
|
|
|
const css2dLabel = new CSS2DObject(labelDiv); |
|
|
|
css2dLabel.position.set(0, 1, 0); |
|
|
|
labelDiv.style.pointerEvents = 'none';//避免HTML标签遮挡三维场景的鼠标事件
|
|
|
|
css2dLabel.name = 'CSS2DLabel'; |
|
|
|
obj.add(css2dLabel); |
|
|
|
|
|
|
|
|
|
|
|
editor.signals.render.dispatch(); |
|
|
|
|
|
|
|
} |
|
|
|