Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ThreeJs:添加一个总是面向透视相机的Gridhelper

ThreeJs:添加一个总是面向透视相机的Gridhelper
EN

Stack Overflow用户
提问于 2022-09-22 04:30:16
回答 1查看 59关注 0票数 0

我有一个threejs场景视图,包含一个网格,一个透视相机,在其中我移动相机与OrbitControls。

我需要在threejs视图上添加一个测量网格,它“面向”我的透视相机。

它通过在网格助手上应用Pi/2的xRotation来“启动”以下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.01, 300 );
window.camera.position.z = 150;

window.grid1 = new THREE.GridHelper(500, ~~(500 * 2))
window.grid1.material.transparent = true;
window.grid1.material.depthTest = false;
window.grid1.material.blending = THREE.NormalBlending;
window.grid1.renderOrder = 100;
window.grid1.rotation.x = Math.PI / 2;
window.scene.add(window.grid1);

window.controls = new OrbitControls(window.camera, window.renderer.domElement );
window.controls.target.set( 0, 0.5, 0 );
window.controls.update();
window.controls.enablePan = false;
window.controls.enableDamping = true;

但是,一旦我开始用轨道控制移动,网格助手就不会与摄像机保持一致。

我试着在renderLoop上使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.grid1.quaternion.copy(window.camera.quaternion);

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.grid1.lookAt(window.camera.position)

这似乎部分地起作用了,网格助手在“地板”上对齐,而不是面对摄像机。

我怎样才能做到这一点?

温柔点,我从threejs开始:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-22 05:10:29

这有点麻烦,但是您可以将网格封装在一个THREE.Group中,然后旋转它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.01, 300 );
camera.position.z = 150;

const grid1 = new THREE.GridHelper(500, ~~(500 * 2));
grid1.material.transparent = true;
grid1.material.depthTest = false;
grid1.material.blending = THREE.NormalBlending;
grid1.renderOrder = 100;
grid1.rotation.x = Math.PI / 2;

const gridGroup = new THREE.Group();
gridGroup.add(grid1);
scene.add(gridGroup);

// ...

然后,在呈现循环中,使面向摄像机(而不是网格):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gridGroup.lookAt(camera.position)

这是因为它在某种程度上模拟了在THREE.Plane中设置正常的行为。GridHelper被旋转为垂直于摄像机,并且它被包装成一组没有旋转。因此,通过旋转这个组,网格总是被偏移,这样它就垂直于摄像机。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73814681

复制
相关文章
在Excel中获得汉字的首字母
Function hztopy(hzpy As String) As String
钱塘小甲子
2019/06/22
1.4K0
【Excel】用公式提取Excel单元格中的汉字
昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容,而且汉字中间也夹杂其他字符。
数据科学社区
2018/06/11
8.5K0
oracle 汉字显示问号
3. 修改变量 现在需要将AMERICAN_AMERICA.ZHS16GBK 改为 SIMPLIFIED CHINESE_CHINA.ZH16GBK oracle用户编辑家目录的 .bash_profile 添加
范一刀
2021/08/10
2.1K0
Excel图表技巧16:在图表中突出显示最大值
要突出显示Excel图表中的值,只需添加一个带有要突出显示的值的额外系列。假设想要突出显示销量最大的产品,添加一个额外的列来计算值,如下图3所示。
fanjy
2021/09/22
3.6K0
excel 汉字转拼音「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151859.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/24
7.8K0
芒果tv在miniblink无法显示的bug分析
http://www.mgtv.com/pcclient/tv/里用了window.external,
龙泉寺扫地僧
2019/02/20
9150
如何在AI Studio数据可视化图像中显示汉字
AI Studio是一个非常好用的数据科学在线实验平台,不论是教学、学习还是开发,都可以使用。但是,下面的缺憾未免成为了珍珠上的一点瑕疵。
老齐
2020/05/15
3.4K0
如何在AI Studio数据可视化图像中显示汉字
在DataGrid中显示图片
    DadaGrid 是 ASP.NET 编程中一个很重要的控件,其优良的可定制功能为提高它的表现力提供了极大的方便。除了与数据源直接绑定以外,我们还可以通过列绑定模板对 DataGrid 的列进行自定义,来按照我们设定的格式显示数据。
Java架构师必看
2021/03/22
3.4K0
c#:winform读取excel,并显示在griddataview
立羽
2023/08/24
1.4K0
c#:winform读取excel,并显示在griddataview
如何实现在Excel表格中删除汉字而不破坏其他内容?
方法一: 先将数据复制到WORD中, 在WORD中,编辑/替换 “查找内容”输入:[一-龤]      (带中括号) “替换为”输入:/ 勾选“使用通配符” 点“全部替换” 然后再将数据复制回EXCEL。 附: 龤:ALT+64922 WORD中是:ALT+40868 方法二: =REPLACE(A1,MATCH(” “,MIDB(A1,ROW($1:$100),1),),LENB(A1)-LEN(A1),”/”) 方法三: 若你汉字均在前面,在b1输入公式:=right(a1,l
用户1272546
2018/06/04
2.7K0
关于在eclipse中中文汉字乱码的解决方式[通俗易懂]
很多童鞋反应在吧项目导入到eclipse(myeclipse)时中文会有乱码,修改了编码格式后还是乱码,这里给大家介绍一下关于中文乱码时修改编码的注意事项:
全栈程序员站长
2022/09/01
5.2K0
关于在eclipse中中文汉字乱码的解决方式[通俗易懂]
如何实现在Excel表格中删除汉字而不破坏其他内容?
方法一: 先将数据复制到WORD中, 在WORD中,编辑/替换 “查找内容”输入:[一-龤]      (带中括号) “替换为”输入:/ 勾选“使用通配符” 点“全部替换”
用户1191760
2019/02/27
3.7K0
在Excel中创建悬浮图
步骤1:根据原始数据,整理用于创建图表的数据,如下图2所示。一个名为“隐藏”的列,计算出悬浮的高度,也就是前面显示的柱状的高度之后;一个名为“显示”的列,即绘制的可见柱状的高度。
fanjy
2023/10/05
6480
在Excel中创建悬浮图
使用WebSocket在Server类中无法使用Autowired注解进行自动注入
在SpringBoot项目中使用WebSocket的过程中有其他的业务操作需要注入其它接口来做相应的业务操作,但是在WebSocket的Server类中使用Autowired注解无效,这样注入的对象就是空,在使用过程中会报空指针异常。
余生大大
2022/11/02
5.6K0
在Excel中创建瀑布图
在Excel中很容易创建瀑布图,因为自Excel 2016就推出了瀑布图。然而,改变瀑布颜色稍微有点困难。
fanjy
2023/08/30
6580
在Excel中创建瀑布图
【VBA】在excel中检索文本
虽然在excel文件中检索的vba代码不知道写了多少遍了,每次需要的时候,都是从网上找,然后写。实在是低效的做法。从网上找了一段代码,放在此处,以后需要的时候可以随手拿来。
东风压倒西风
2022/09/06
2.8K0
cmder 无法显示中文
cmder 默认是不支持中文字符的,可以在 Setting > Startup > Environment 下增加一行语言设置:
zucchiniy
2020/05/22
2.6K0
WPF 弹出 popup 里面的 TextBox 无法输入汉字
这是一个 wpf 的bug,在弹出Popup之后,如果 Popup 里面有 TextBox ,这时无法在里面输入文字。
林德熙
2018/09/18
1.7K0
WPF 弹出 popup 里面的 TextBox 无法输入汉字
这是一个 wpf 的bug,在弹出Popup之后,如果 Popup 里面有 TextBox ,这时无法在里面输入文字。
林德熙
2022/08/04
1.8K0
点击加载更多

相似问题

在AJAX和excel中显示汉字

14

在WPF中突出显示/characters行

16

无法在Qt-Embedded 4.7.3中显示汉字

24

在php中如何显示汉字?

30

在HTML文件中显示汉字

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文