首页 > 其他分享 >通过鼠标事件获取鼠标位置在3d中的坐标mouse/Raycaster

通过鼠标事件获取鼠标位置在3d中的坐标mouse/Raycaster

时间:2024-10-29 18:30:48浏览次数:4  
标签:Raycaster intersects 鼠标 坐标 const mouse event

 

 

监听事件

    ThreeDom.current.addEventListener('mousemove', mousemoveFunc, false);

监听方法

 const mousemoveFunc = (event) => {
    event.preventDefault();
    // 计算鼠标在屏幕上的位置
    const mouse = new THREE.Vector2();
    mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
    mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;

    // 将屏幕坐标转换为3D坐标
    const raycaster = new THREE.Raycaster();
    raycaster.setFromCamera(mouse, Three.camera);

    // 获取鼠标位置对应的3D坐标
    const intersects = raycaster.intersectObjects(Three.scene.children, true);
    console.log(intersects);

    if (intersects.length > 0) {
      const position = intersects[0].point;
      console.log('3D坐标: ', position);
    }
  };

 

标签:Raycaster,intersects,鼠标,坐标,const,mouse,event
From: https://www.cnblogs.com/Simoon/p/18514142

相关文章

  • 鼠标移入高亮边框效果
    效果展示鼠标移入边框效果一、布局//布局<template><divclass="container"><divclass="card"><divclass="inner">君不见,黄河之水天上来,奔流到海不复回。</div></div><divclas......
  • 为什么不同的鼠标 相同的芯片,DPI和回报率一样,抛开磨具不谈。为什么有的跟手有的不跟手
    即使不同鼠标使用相同的芯片、DPI和回报率,抛开模具因素,仍然存在有的跟手有的不跟手的情况,主要有以下原因:传感器调校差异:数据处理算法:虽然芯片相同,但不同鼠标厂商对于芯片的数据处理算法和调校方式可能不同。一些厂商的算法能够更精准地处理传感器采集到的数据,对鼠标的移动轨迹进......
  • manjaro升级完成后登录成功后黑屏,只有一个鼠标光标
    我使用manjaro也比较久了,第一次碰到了升级完成后,重启进入系统登录成功后,屏幕是黑色的,只有一个鼠标的光标。解决过程记录如下:一、新建了个新用户,使用终端登录后用startx进入桌面没有问题,说明不是系统的显示问题,是当前用画的配置文件有问题了;二、经过长时间排查后,定位到了~/.c......
  • 除了无界鼠标mouse without borders之外还有什么其他的软件可以两台电脑共享一套键鼠
    除了无界鼠标(MouseWithoutBorders)之外,还有几款常见的软件可以实现两台或多台电脑共享一套键盘和鼠标。以下是一些替代选择:1.Synergy平台支持:Windows、macOS、Linux特点:Synergy是一款非常流行的跨平台键鼠共享软件,允许你在多台电脑之间无缝切换。同样支持不同操作系统间......
  • python捕获鼠标键盘
    https://item.taobao.com/item.htm?from=cart&id=771194972569&pisk=f8nsFbjz51fs1GLwPtpUPW36bmrjcjtyctwxExINHlETGoMjerI2SlzbcXFEb5kaXSZjhYUxgSkNI2creGowSoSbjoqvaQ-y4ODgmoFaQ0_Nske7enSAX-KXde_DaQ-ycFBLcCOr_GiSnMe7eoeTk5Cpd-yVDshADkpQH-5OkGhvdvF3h1QAXrI......
  • Unity 切换鼠标光标图标
    在Unity中,可以通过检测鼠标左键的按下和弹起事件来切换鼠标光标。这可以通过在Update方法中检查Input.GetMouseButtonDown(0)和Input.GetMouseButtonUp(0)来实现。以下是一个示例代码,展示如何在左键按下时切换到一个自定义光标,在左键弹起时恢复到另一个光标或默认光标:示......
  • 通过 .reg注册表 文件来修改鼠标的一些设置
    通过.reg注册表文件来修改鼠标的一些设置 示例1:修改双击速度假设你想将鼠标的双击速度设置为较快的速度(例如300),你可以创建如下所示的.reg文件:reg深色版本WindowsRegistryEditorVersion5.00[HKEY_CURRENT_USER\ControlPanel\Mouse]"DoubleClickSpeed"=d......
  • Graphic Raycaster
    参数解释GraphicRaycaster——射线检测IgnoreReversedGraphics是否忽略反方向图形,勾选此选项时反转180°的图形将不接受射线检测,否则正反面都接受BlockingObjects屏蔽指定对象类型,None都不屏蔽TwoD屏蔽具有2D碰撞体的2D物理对象,ThreeD屏蔽具有3D碰撞体的3D物......
  • Selenium 进阶技巧:实现 Web 端的鼠标操作功能
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途一、前言大家在做selenium测试时,是否会遇到在网页上需要执行一些鼠标操作,如右键选择一些设置,或者双击点赞,双击放到屏幕等等,但是在日常使用中还是习惯使用selenium......
  • 罗技鼠标永久宏定义设置
    背景写程序用到最多的组合按键就是ctrl+c,ctrl+v,而这些能不能在鼠标上实现,这样就能解放左手了(机智如我)硬件需要一款支持宏定义的鼠标,而罗技系列正好拥有(未收广告费),目前尝试在g102,g304,gpwer代上都可运行思路使用ghub软件定义宏后加载到鼠标的板载内存上遇到问题......