three.js判断物体在人的前面,还是后面

three.js判断物体在人的前面,还是后面

const player = new THREE.Vectors(10, 0, 5);
const mesh = new THREE.Vectors(15, 0, 6);

上面,两个变量分别表示,玩家的位置,物体的位置。
在这里插入图片描述
从这发现,当玩家和物体的角度关系

  1. 小于90度,物体就是在玩家前面
  2. 大于90度,物体就是在玩家的后面

所以代码可以这么写

const playerToMesh = player.sub(mesh); // 获取玩家位置到物体位置的向量
const dot = player.dot(mesh);if (dot > 0) {console.log('在前面')
} else {console.log('在后面')
}

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

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

相关文章

spring boot 整合j2cache 项目启动警告 Redis mode [null] not defined. Using ‘single‘

好 之前的文章 spring boot 整合j2cache 基础操作 在spring boot环境中整合了 j2cache 我们 项目启动时 日志会有一个关键信息 Redis的模式 没有定义 默认使用 single Redis 的这个模式有四种 大家可以自己去网上找一下 做个了解 不用很纠结 我们直接在 j2cache.properties …

一文读懂Apollo客户端配置加载流程

本文基于 apollo-client 2.1.0 版本源码进行分析 Apollo 是携程开源的配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。 Apollo支持4个维度管理Key-Value格式的配…

Elasticsearch智能数据分析平台项目

Elasticsearch智能数据分析平台项目是一个功能强大且灵活的数据分析工具,旨在帮助企业快速、准确地分析和挖掘数据中的价值。以下是关于该项目的一些关键特点和功能: 数据搜索: Elasticsearch作为全球下载量最大的搜索引擎,支持从关键字搜索到向量搜索等多样化搜索方式,让…

比勤奋更重要的是系统思考的能力

不要在接近你问题症状的地方寻找解决办法,要追溯过去,查找问题的根源。通常,最有效的活动是最微妙的。有时最好按兵不动,使系统自我修正,或让系统引导行动。有时会发现,最好的解决办法出现在完全出乎预料的…

HTML蓝色爱心

目录 写在前面 HTML入门 完整代码 代码分析 运行结果 系列推荐 写在后面 写在前面 最近好冷吖,小编给大家准备了一个超级炫酷的爱心,一起来看看吧! HTML入门 HTML全称为HyperText Markup Language,是一种标记语言&#…

C++-指针

在C中,指针是至关重要的组成部分。它是C语言最强大的功能之一,也是最棘手的功能之一。 指针具有强大的能力,其本质是协助程序员完成内存的直接操纵。 指针:特定类型数据在内存中的存储地址,即内存地址。 指针变量的定…

2024.5组队学习——MetaGPT(0.8.1)智能体理论与实战(下):多智能体开发

传送门: 《2024.5组队学习——MetaGPT(0.8.1)智能体理论与实战(上):MetaGPT安装、单智能体开发》《2024.5组队学习——MetaGPT(0.8.1)智能体理论与实战(中)&…

ModelBuilder之GDP空间化——批量值提取

一、前言 前面明确说到对于空间化过程中其实只有两个过程可以进行批量操作,一个是我们灯光指数提取过程和批量进行值提取,这里补充一点,对于灯光指数计算可以实现批量计算总灯光指数和平均灯光指数,综合灯光指数需要用平均灯光指数乘以面积占比求得,面积比就是(DN大于0的…

VS2022通过C++网络库Boost.asio搭建一个简单TCP异步服务器和客户端

基本介绍 上一篇博客我们介绍了通过Boost.asio搭建一个TCP同步服务器和客户端,这次我们再通过asio搭建一个异步通信的服务器和客户端系统,由于这是一个简单异步服务器,所以我们的异步特指异步服务器而不是异步客户端,同步服务器在…

BGP选路规则

配置地址,AS123使用ospf保证通讯,修改接口类型保证ospf学习环回20.0,30.0,100.0 地址时,是以24位掩码学习,R1,R2,R3都处于BGP边界,各自都需要宣告三者的私网环回 1, [R4]ip ip-prefi…

点分治练习

P3806 【模板】点分治 1 #include <bits/stdc.h> using namespace std;inline long long read() {char ch getchar();long long f 1,x 0;while (ch > 9 || ch < 0) { if (ch -)f -1; ch getchar(); }while (ch > 0 && ch < 9) { x (x <&l…

Thrift学习深入

Thrift学习深入 https://zhuanlan.zhihu.com/p/22934974 https://zhuanlan.zhihu.com/p/26993406 从具体的demo入手,我们需要学习的是三部分 IDLserver端client端一、IDL深入 IDL定义的通用类型有: 基础数据类型结构体容器 list、set、map异常:语法与结构体无异,不过用…

第十二周笔记

微信小程序的自定义事件是指开发者可以自行定义并触发的事件&#xff0c;以实现特定的功能或逻辑。通过自定义事件&#xff0c;开发者可以更灵活地管理小程序的交互和数据流动&#xff0c;提升用户体验和开发效率。下面我将详细讲解微信小程序自定义事件&#xff0c;包括定义、…

容器化部署

目录 docker容器化部署 怎样使用Docker Compose或Kubernetes等容器编排工具来管理和扩展联邦学习系统 使用Docker Compose

【Qnx 】Qnx IPC通信PPS

Qnx IPC通信PPS Qnx自带PPS服务&#xff0c;PPS全称Persistent Publish/Subscribe Service&#xff0c;就是常见的P/S通信模式。 Qnx PPS的通信模式是异步的&#xff0c;Publisher和Subscriber也无需关心对方是否存在。 利用Qnx提供的PPS服务&#xff0c;Publisher可以通知多…

嵌入式进阶——LED呼吸灯(PWM)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 PWM基础概念STC8H芯片PWMA应用PWM配置详解占空比 PWM基础概念 PWM全称是脉宽调制&#xff08;Pulse Width Modulation&#xff09…

Arduino下载与安装(Windows 10)

Arduino下载与安装(Windows 10) 官网 下载安装 打开官网&#xff0c;点击SOFTWARE&#xff0c;进入到软件下载界面&#xff0c;选择Windows 选择JUST DOWNLOAD 在弹出的界面中&#xff0c;填入电子邮件地址&#xff0c;勾选Privacy Policy&#xff0c;点击JUST DOWNLOAD即可 …

深入解析:Element Plus 与 Vite、Nuxt、Laravel 的结合使用

在现代前端开发中&#xff0c;选择合适的工具和框架来提高开发效率和应用性能是至关重要的。 Element-Plus 是一个基于 Vue.js 3.0 的流行 UI组件库&#xff0c;它可以与多种前端和后端框架结合使用&#xff0c;如 Vite、Nuxt 和 Laravel。本文将深入探讨这三者与 Element Plus…

【脚本篇】---spyglass lint脚本

目录结构 sg_lint.tcl &#xff08;顶层&#xff09; #1.source env #date set WORK_HOME . set REPORT_PATH ${WORK_HOME}/reports puts [clock format [clock second] -format "%Y-%m-%d %H:%M:%S"] #2.generate source filelist #3.set top module puts "##…