Three.js r125 BufferGeometry`顶点`不存在

2023-12-14

我正在更新 Three.js,我发现当我升级到 r125 时,尝试设置vertices由于缺少方法,BufferGeometry 失败。似乎也已删除verticesNeedUpdate. The 迁移指南似乎没有对此发出警告并且变更日志据我所知,似乎没有解决这个问题。

不幸的是,我没有编写原始代码,所以我不确定如何解决它。代码如下所示:

this.geometry.vertices[0].x = this.geometry.vertices[2].x = -this.canvas.width / 2;
this.geometry.vertices[1].x = this.geometry.vertices[3].x = this.canvas.width / 2;
this.geometry.vertices[0].y = this.geometry.vertices[1].y = this.canvas.height / 2;
this.geometry.vertices[2].y = this.geometry.vertices[3].y = -this.canvas.height / 2;
this.geometry.verticesNeedUpdate = true;

使用下面唐的回答进行更新

应用 Don 建议的更改后,我们得到以下结果:

    const negativeWidth = -this.canvas.width / 2;
    const positiveWidth = this.canvas.width / 2;
    const positiveHeight = this.canvas.height / 2;
    const negativeHeight = -this.canvas.height / 2;

    this.geometry.attributes.position.setXY(0, negativeWidth, positiveHeight);
    this.geometry.attributes.position.setXY(1, positiveWidth, positiveHeight);
    this.geometry.attributes.position.setXY(2, negativeWidth, negativeHeight);
    this.geometry.attributes.position.setXY(3, positiveWidth, negativeHeight);
    this.geometry.attributes.position.needsUpdate = true;

Three.js r125 的第一个变更日志条目是相关的:

几何形状已从核心中删除。它现在位于examples/jsm/deprecated/Geometry.js.

The THREE.Geometry类已被弃用一段时间,但项目存储库之外的一些旧代码和示例仍然引用它。推荐的替代品是三.BufferGeometry,性能更高。这BufferGeometry类没有.vertices属性,因此这可能是您看到的特定错误的原因。相反,您可以像这样更新顶点:

geometry.attributes.position.setXYZ( index, x, y, z );
geometry.attributes.position.needsUpdate = true;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Three.js r125 BufferGeometry`顶点`不存在 的相关文章

  • 将球体 a 旋转到自身的 b 点

    我试图弄清楚如何将球体从 A 点旋转到 B 点 我找到了一些Unity3d代码 Quaternion rot Quaternion FromToRotation pointA pointB sphere transform rotation
  • Three.js StereoEffect 显示 2 只眼睛的网格

    我有一个使用 StereoEffect 渲染器的 THREE js 场景 但是 当我向场景添加新网格时 它们会显示在两只眼睛上 而不是为每只眼睛重复显示 我相信 THREE js 应该自动完成 我不必自己复制它们 我尝试复制它们 但这是很多
  • Three.js:通过触摸和设备方向旋转相机

    我正在使用 Threejs 制作一个 3D 项目 它允许使用计算机设备的鼠标控制相机 还允许使用触摸事件和智能手机的设备方向事件进行控制 举个例子 这个网站 http lacostewinter seeourwork cn en intro
  • 调试 Three.js 中的低 FPS

    我正在处理 Three js WebGL 场景 当我缩小时 我注意到 60 FPS 以便所有观察结果 约 20 000 个三角形 都在视图中 但当我放大时 FPS 非常低 因此只有一个小三角形的子集在视野中 我想弄清楚是什么导致了这种差异
  • 将颜色渐变应用于网格上的材质 - Three.js

    我有一个 STL 文件加载到我的场景中 并将单一颜色应用于 phong 材质 我想要一种方法 将两种颜色应用于该网格物体的材质 并在 Z 轴上应用渐变效果 如下例所示 渐变花瓶 https i stack imgur com Ty9gq j
  • 在 Three.js 中获取 Object3D 的大小

    我的场景中有这个 3D 对象 var icon new THREE Object3D var iconTexture THREE ImageUtils loadTexture images icon png iconMaterial new
  • 使用 ThreeJS 获取球体纹理上的点击位置

    目前 我有一个带有纹理的球体 它绕 y 轴旋转 我还有在 3D 空间中单击的位置 以及球体上的旋转位置 我认为 目标 获取纹理上的位置 例如 我想获取我点击的图像的哪个方块 参见示例球体和下图 在实践中 我不会使用此图像 但我觉得这将是一个
  • Three.js 光线投射器可以与组相交吗?

    我想知道我的光线投射器是否正在查看我已加载的 OBJ 由于从 Cinema4D 导出的方式 我相信 OBJ 是一个具有 3 个子级的 THREE Group 而不是 THREE Object 我可以更改我的 raycaster 代码行来查找
  • 解决 Three.js / webGL 中的 gl_PointSize 限制

    我正在使用 Three js 创建交互式数据可视化 此可视化涉及渲染 68000 个节点 其中每个不同的节点具有不同的大小和颜色 最初我尝试通过渲染网格来实现此目的 但事实证明这非常昂贵 我当前的尝试是使用 Three js 粒子系统 每个
  • (A 框架)本地 gltf 不会加载;无法读取未定义的属性“切片”

    我从A型框架学校 https aframe io aframe school 11其中加载了 gltf 模型 然后我从 Khronos 加载了示例模型 this box https github com KhronosGroup glTF
  • Three.js获取立方体的4个角坐标?

    如何获得立方体四个角的坐标 如果您使用 CubeGeometry 宽度 高度 深度 并将立方体放置在某处 那么您的八个角位于 position x width 2 position y height 2 position z depth 2
  • 三个JS,给纹理添加镜面反射(光泽)

    我有一个纹理应用于 Three js 中的对象 我想为其添加一些镜面反射或光泽 我看到这样的例子 new THREE MeshPhongMaterial color 0x996633 specular 0x050505 shininess
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • 使用 Three.js 遮挡现实世界的对象

    我在实验性增强现实网络浏览器中使用 Three js 该浏览器称为 Argon 本质上 Argon 使用高通的 Vuforia AR SDK 来跟踪手机摄像头中的图像和物体 Argon 将跟踪信息发送到 Javascript 中 在 Jav
  • 如何检查 webgl(two.js) 的客户端性能

    我有一个使用 Three JS 的图形项目 现在我想自动检查客户端 GPU 性能并计算可以在应用程序中加载多少元素 我想到了诸如 GPU 基准测试之类的东西 看一眼stats js https github com mrdoob stats
  • Three.js 变换控件 - 如何仅显示两个箭头

    我必须仅使用场景中的变换控件在 XY 方向上显示两个箭头或变换对象 通常 我会问您到目前为止尝试过什么 但是没有关于此控件的文档 如果您不知道自己在寻找什么 那么它是一个相当复杂的对象 需要深入研究 考虑你有一个TranformContro
  • React-Three-Fiber:JSON 中位置 3 出现意外标记 c 错误

    我正在尝试使用 React Three Fiber 加载 glb 文件 但出现以下错误 Error Unexpected token c in JSON at position 3 我不确定我做错了什么 看来此问题最常见的解决方案是将 gl
  • 如何将 ThreeJS 与 PhoneGap 一起使用?

    这个探索是非常自我描述的 我已经用一个简单的 3D 立方体进行了测试 它在浏览器中运行良好 但只在模拟器中显示空白页面 有人说 Threejs 不能与 PhoneGap 一起使用 但也有人说他们使用过并且工作正常 在 Android 中 您
  • Three.js WebGL 从着色器绘制圆形自定义填充和边框颜色

    我将 Three js 与 WebGLRenderer 一起使用 我试图找出或查看如何使用 CircleGeometry 绘制圆圈的示例 并能够从顶点或片段着色器控制其填充和边框颜色 如果不使用图像作为纹理 这是否可能 抱歉 如果这真的很简

随机推荐

  • Android中Thread.currentThread().getId()和Process.myTid()的区别

    据了解 myTid 返回调用线程的标识符 与 setThreadPriority int int 一起使用 但我发现Thread currentThread getId 不等于Process myTid 所以 我猜测前者是 JVM 版本的线
  • 生成字母表中的字母数组

    有没有一种简单的方法可以在 C 中生成包含字母表字母的数组 手工完成并不难 但我想知道是否有内置的方法可以做到这一点 我不认为有内置的方法 但我认为最简单的方法是 char alpha ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • MongoDB 不会使用 Mongoid 连接到 MongoHQ

    我刚刚开始一个全新的 Rails 项目 我想要完成的第一个任务是创建一个对象并将其保存在我的数据库中 我通过自动方式生成了一个对象 在本例中是一个 URL 对象 如下所示 rails generate scaffold Url domain
  • 如何在Mac上设置PYTHON_EGG_CACHE环境变量?

    我正在尝试设置 Django 以使用 MySQL 当我输入时出现以下错误localhost mysite ExtractionError at Can t extract file s to egg cache The following
  • Google Maps IOS SDK 1.2 需要地图视图快照

    在 1 1 中 GMSScreenshot 类提供了一种将整个屏幕的快照获取到 UIImage 中的基本方法 在 1 2 中 该类丢失了 在发行说明中 它是这样说的 在 GMSMapView 图层上调用 renderInContext 现在
  • 声明一个引用并稍后初始化?

    我有一些课程的参考MyObject 但确切的对象取决于条件 我想做这样的事情 MyObject ref if condition ref MyObject something else ref MyObject something else
  • Julia:使用许多不同但相关的算法选择来构建代码

    我正在寻找一种优雅的方式来重新安排我的代码 对于开发求解器 您可能会拥有许多具有相同设置的不同选项 例如 从高层次来看 代码看起来像这样 function solver Start by assigning a bunch of varia
  • REQUEST_DENIED 响应 Google Places API 请求 (sensor=true)

    我正在尝试使用 Google Places API 获取我所在位置周围的地点 以下是用于点击 URL 进行地点搜索的代码 NSString URL NSString stringWithFormat https maps googleapi
  • 在哪里/如何从 Google Maps API 获取多边形数据?

    我真的很想简短地回答这个问题 所以 我想知道谷歌地图是否拥有详细信息 在这种情况下我需要多边形 坐标数组 对于城市内的特定市政府 即Envigado在城市Medellin Co 有没有办法获取这种类型的数据 编辑 我不确定谷歌地图是否显示我
  • 如何解码 .dxf 文件?

    我想将 dxf 文件内的绘图转换为 g 代码 有一些工具可以做到这一点 但我想自己编写代码 因此 第一部分是解码 dxf 格式 然而 dxf 文件的内容看起来并不容易破译 我下载了一个 dxf 文件here并在文本编辑器中打开它 我也指的是
  • MongoDB $pull 语法

    我有一个 希望 小语法问题 pull在 Mongodb 中 bulk find id new mongo ObjectID req session id updateOne pull firstArray id req params id
  • C++:如何根据条件选择构造函数?

    假设我有一个具有不同构造函数的类 class A public A char string A int value void check 现在我想在堆栈上创建一个 A 对象 必须根据某些条件选择构造函数 但有一个问题 创建的对象被销毁然后我
  • Blazor WASP 应用程序(ASP.NET Core 托管)尝试从我的 appsettings.json 文件获取设置值

    我在尝试从 appsettings json 文件获取设置时遇到问题 我设置了一个名为 FileStorage 的本地路径 这是我的文件 我的 appsettings json 文件 Logging LogLevel Default Inf
  • Firebase 离线功能和 addListenerForSingleValueEvent

    每当我使用addListenerForSingleValueEvent with setPersistenceEnabled true 我只能设法获得本地离线副本DataSnapshot and NOT更新后的DataSnapshot从服务
  • 带有“Order Each by”子句的 Google BigQuery 大表(105M 记录)会产生“资源超出查询执行”错误

    我遇到了严重的问题 资源超过查询执行 当 Google Big Query 大表 105M 记录 带有 订购每个 条款 这是示例查询 使用公共数据集 维基百科 SELECT Id Title Count FROM publicdata sa
  • 如何通过 MySQL 查询使用 BirthDate 列获取年龄?

    我在 MySQL 数据库表中有一个 BirthDate 列来存储用户的出生日期 现在我在 html php 中有两个字段的表单 1 年龄从 2 年龄到 如果用户想要获取年龄在 10 岁到 20 岁之间的所有用户 是否可以使用 BirthDa
  • 如何在 Python 中创建 mdb 数据库文件?

    我想用 Python 在 Windows 中创建一个 mdb 数据库文件 但似乎无法用 Python 文档弄清楚它 我读到的所有内容都与建立连接以及如何使用光标有关 有什么想法吗 谢谢 我的经验comtypes模块已经相当不错了 然而 您可
  • 使用 seq() 和 rep() 迭代数字

    我需要使用rep and seq 得到以下向量 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 通常我只会使用for声明来实现这一点 但我被限制使用它 只能使用rep and seq 来实
  • 添加新的核心数据模型版本后出错

    我添加了一个新的模型版本 并将核心数据模型设置为使用该新版本 但当应用程序尝试启动时出现此错误 用于打开持久存储的托管对象模型版本与用于创建持久存储的版本不兼容 我猜问题是当前的持久存储是模型的旧版本 有没有办法直接删除它 然后再创建一个新
  • Three.js r125 BufferGeometry`顶点`不存在

    我正在更新 Three js 我发现当我升级到 r125 时 尝试设置vertices由于缺少方法 BufferGeometry 失败 似乎也已删除verticesNeedUpdate The 迁移指南似乎没有对此发出警告并且变更日志据我所