Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
Arrastrando el objeto fabricjs desde el objeto threejs

estoy tratando de crear algo como esto https://www.owayo.com/konfigurator_html/index.php?sport=football&product=shirts_f3&lang=en&land=us#

En este momento puedo seleccionar y anular la selección del objeto fabricjs del modelo 3d directamente. El código se ve así

 function onMouseClick(evt) { evt.preventDefault(); var array = getMousePosition(raycastContainer, evt.clientX, evt.clientY); onClickPosition.fromArray(array); var intersects = getIntersects(onClickPosition, object.children); console.log(intersects); if (intersects.length > 0 && intersects[0].uv) { var uv = intersects[0].uv; console.log(uv.x * 512); console.log(uv.y * 512); intersects[0].object.material.map.transformUv(uv); var selected = getObjectUnderPoint(uv); if (selected != null) { console.log(selected); controls.enabled = false; canvas.setActiveObject(selected); canvas.renderAll(); } else { canvas.discardActiveObject().renderAll(); controls.enabled = true; } } else { controls.enabled = true; } } function getRealPosition(axis, value) { let CORRECTION_VALUE = axis === "x" ? 4.5 : 5.5; return Math.round(value * 512) - CORRECTION_VALUE; } var getMousePosition = function (dom, x, y) { var rect = dom.getBoundingClientRect(); return [(x - rect.left) / rect.width, (y - rect.top) / rect.height]; }; var getIntersects = function (point, objects) { mouse.set(point.x * 2 - 0.97, -(point.y * 2) + 0.97); raycaster.setFromCamera(mouse, camera); return raycaster.intersectObjects(objects); }; var getObjectUnderPoint = function (uv) { var cp = { x: uv.x * 512, y: uv.y * 512 }; var objects = canvas.getObjects(); for (var i = 0; i < objects.length; i++) { var obj = objects[i]; if (!canvas.containsPoint(null, obj, cp)) continue; var isIntersecting = canvas.isTargetTransparent(obj, cp.x, cp.y); if (isIntersecting) { return obj; } } return null; };

aquí está mi desarrollo hasta ahora https://custom.speedjersey.com/3d-Tshirt-design-master-edit/

Ahora lo que quería hacer es arrastrarlos e incluso escalarlos, ¿alguien sabe cómo hacerlo?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda