threejs中坐标系转换和实现物体跟随鼠标移动

坐标系转换

下面函数可以将鼠标所在点的屏幕坐标转化成一个Threejs三维坐标:


convertTo3DCoordinate(clientX,clientY){var mv = new THREE.Vector3((clientX / window.innerWidth) * 2 - 1,-(clientY / window.innerHeight) * 2 + 1,0.5 );mv.unproject(this.camera);   //这句将一个向量转成threejs坐标return mv;}

其中:

var mv = new THREE.Vector3((clientX / window.innerWidth) * 2 - 1,-(clientY / window.innerHeight) * 2 + 1,0.5 );

第三个参数是可以改变的,并且改变后获得的threejs坐标的x,y,z数值上会改变,但是差值上不会改变。

研究坐标间关系可用代码:

convertTo3DCoordinate(clientX,clientY){console.log("cx: " + clientX + ", cy: " + clientY);var mv = new THREE.Vector3((clientX / window.innerWidth) * 2 - 1,-(clientY / window.innerHeight) * 2 + 1,0.5 );console.log("mx: " + mv.x + ", my: " + mv.y+", mz:"+mv.z);mv.unproject(this.camera);console.log("x: " + mv.x + ", y: " + mv.y+", z:"+mv.z);return mv;}

让物体跟随鼠标移动的方法

首先在鼠标按下时,计算鼠标的位置在threejs中的坐标,然后将物体的位置设置为鼠标的位置:

function onDocumentMouseMove(event){event.preventDefault();var mouse = convertTo3DCoordinate(event.clientX,event.clientY);group.position.copy(mouse)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel线性拟合的斜率_协方差分析:方差分析与线性回归的统一

转自个人微信公众号【Memo_Cleon】的统计学习笔记:协方差分析:方差分析与线性回归的统一。在进行数据分析时,有时候我们会遇到数据基线不平的情况,比如两样本的t检验的示例,比较Labe和Meto用药13周的降压效果&#xff…

解决Jenkins打不开浏览器问题

参考:http://blog.csdn.net/achang21/article/details/45096003 1.控制面板禁用掉jenkins服务 2.java -jar jenkins.war提示需要高级别的jdk 去下载jdk 因为本机已经存在了1.6,需要1.8 并没有卸载原有的1.6版本,直接网上下载的1.8并安装 解决…

状态模式和策略模式的区别

区别主要体现在行为上,而不是结构上,所以,看时序图就能很好的看出两者的区别。 状态模式 看1.4,状态B是状态A创建的,也就是由系统本身控制的。调用者不能直接指定或改变系统的状态转移 所以,状态是系统自…

如何截获打印机文件_打印、复印还不会,如何在办公室里混?全程详细教学

我们在职场中,经常需要用到打印机,相信很多人都还不会打印、复印文件,求人不如求己,今天就来详细教学,一起来学习吧。如何使用打印机?首先用一根电源线和一根USB线,将电脑主机与打印机连接&…

外观模式案例分析

策划案 要实现选中和未选中功能&#xff1a; 未选中状态&#xff1a;点击图形进入选中状态 选中状态&#xff1a;点击<按钮进入未选中状态 实现代码 请问这是什么模式&#xff1f; import TransformController from ./TransformController //操作框控制器类 import To…

UICollectionView reloadData后cell被隐藏

在使用UICollectionView的页面执行: [self.collectionView reloadData]; 执行后&#xff0c;页面变为空白页&#xff0c;调试发现&#xff0c;执行reloadData 后UICollectionView的cell的hidden都变为YES. stackoverflow上很多人说这是UICollectionView的一个bug, 有人给出了解…

len在python_len在python

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

【leetcode❤python】172. Factorial Trailing Zeroes

#-*- coding: UTF-8 -*-#给定一个整数N&#xff0c;那么N的阶乘N&#xff01;末尾有多少个0&#xff1f; 比如&#xff1a;N10&#xff0c;N&#xff01;3628800,N&#xff01;的末尾有2个0。#所有的尾部的0可以看做都是2*5得来的&#xff0c;所以通过计算所有的因子中2和5的个…

input ios问题 小程序_小程序可以解决哪些问题??

小程序是近几年移动互联网领域的热点&#xff0c;随着移动互联网在消费端逐渐进入到了存量时代&#xff0c;小程序成为了互联网平台向各个领域垂直发展的重要策略&#xff0c;而广大的中小创业者要想充分利用大型互联网平台的流量资源&#xff0c;小程序也是一个非常重要的渠道…

切换dns批处理模板

网速慢有时候是dns造成的。我们默认使用公司的dns&#xff0c;公司很可能只有两台dns服务器&#xff0c;很容易成为单点&#xff0c;当访问人数多的时候&#xff0c;延迟会变高&#xff0c;所以网址解析很慢&#xff0c;上网就慢。 可以设置成阿里的dns,有些情况下就会变快。但…

怎么快速写python自动化脚本_自动化脚本如何编写?

首先&#xff0c;我们看一个视频 &#xff0c;通过视频&#xff0c;了解下什么是自动化脚本 。这个是我用auto.js写的一个 抖音自动养号脚本 。大体功能就是自动私信&#xff0c;评论&#xff0c;关注 &#xff0c;有兴趣可以先去一下链接了解 。目前编写自动化脚本的语言主要有…

在output 子句和 scope_identity() 混合使用的时候的注意事项

无意睹到一篇旧文档 SR0008&#xff1a;考虑使用 SCOPE_IDENTITY 代替 IDENTITY &#xff1a;https://msdn.microsoft.com/zh-cn/library/dd172121(vvs.100).aspx 日常开发&#xff0c;我们如果在插入记录的同时需要返回插入的IdentityID,通常我们会使用 Identity 和使用函数 S…

从setTimeout,onclick传参看js函数作为参数

setTimeout传参 我们最先想到是这样&#xff1a; setTimeout(doSomething1(123),1000);function doSomething1(content){console.log(content); } 但是这样写&#xff0c;123立马打印出来&#xff0c;并没有等待1s。这是因为&#xff0c;这样写会直接调用doSomething1(123),…

linux上的那些查找的命令

由于工作的需要&#xff0c;少不得要在linux系统上查找各种各样的文件&#xff0c;关于在linux查找的命令有不少&#xff0c;这里小小的总结下。 简单介绍下各个命令的用途&#xff1a; find&#xff1a;实际搜索硬盘查询文件名称&#xff1b;whereis&#xff1a;查看文件的位置…

sprintf函数_三分钟学 Go 语言——函数深度解析(下) 可变参数

接连两篇函数专题深度解析&#xff0c;相信大家已经对函数的语法有了深入的了解。函数简单使用和基本知识解析匿名函数和闭包五一放假期间&#xff0c;我懂得&#xff0c;估计你们都不想学习。小熊这两天因为个人种种令人难受的原因&#xff0c;没有能更新&#xff0c;也没有提…

手工画设计模式的类图

画图成果 面试常考设计模式&#xff0c;往往需要动手画类图。之前面试的时候碰到画类图&#xff0c;往往直奔主题&#xff0c;立即开始画&#xff0c;往往画得很乱。其实面试是一个过程&#xff0c;看中的是思考分析解决问题的过程&#xff0c;结果反而不那么重要。画设计模式…

Reason: image not found

刚生的Xcode8&#xff0c;出现好多Error&#xff0c;有些Error真的太麻烦不想记录&#xff0c;现在这个挺简单的&#xff0c;就记下来&#xff0c;控制台输出的Error信息如下&#xff1a; fix&#xff1a; Target -> Build Phases ->Link Binary With Libraries&#xff…

go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

利用splash爬取京东商品信息一、环境window7python3.5pycharmscrapyscrapy-splashMySQL二、简介为了体验scrapy-splash 的动态网页渲染效果&#xff0c;特地编写了利用splash爬取京东商品信息的爬虫&#xff0c;当然站在爬取效率和稳定性方面来说&#xff0c;动态网页爬取首先应…

jquery事件绑定解绑机制源码分析

引子 为什么Jquery能实现不传回调函数也能解绑事件&#xff1f;如下&#xff1a; $("p").on("click",function(){alert("The paragraph was clicked."); });$("#box1").off("click"); 事件绑定解绑机制 调用on函数的时候…

微信小程序导航:免费视频+精品教程+DEMO集合(长期更新)

1&#xff1a;官方工具&#xff1a;https://mp.weixin.qq.com/debug/w ... tml?t14764346784612&#xff1a;简易教程&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/dev/?t14764346775993&#xff1a;设计指南&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/desig…