Browse Source

标签

master
lxc 2 years ago
parent
commit
7e3d7516df
  1. 12
      editor/js/menus/Menubar.Models.js

12
editor/js/menus/Menubar.Models.js

@ -106,7 +106,7 @@ function MenubarModels(editor) {
option.onClick(function () {
add2dlable("中国");
return ;
return;
let selectobj = editor.selected;
if (!!!selectobj) {
@ -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,7 +182,9 @@ 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));
}
@ -193,7 +195,7 @@ function AddSceneTextCSS2DLabel(obj) {
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标签遮挡三维场景的鼠标事件

Loading…
Cancel
Save