Three.js:使用变形目标获取更新的顶点

2023-12-11

我有一些变形目标正在工作:

https://jsfiddle.net/3wtwzuh3/2/(使用滑块控件查看变形)

但是,我希望能够访问变形后顶点的新位置。如果您在链接的示例中注意到,我正在显示立方体第一个顶点的 y 坐标,但它没有更新!

// This Y vertex doesn't seem to update!
   elInfo.innerHTML = geometry.vertices[0].y;

是否有可能获得新职位?我尝试过设置各种标志,但没有成功。

Thanks!

请注意,此示例仅用于解决问题的目的,在我的实际项目中(我需要顶点数据!),它有点复杂。


变形在 GPU 上更新,而不是在 CPU 上更新。因此,如果你想知道新的顶点位置,你必须在 CPU 上进行与 GPU 相同的计算。

方法Mesh.raycast()必须在 CPU 上进行光线投射计算,因此您可以参考该代码作为示例。

这里有一个simple您可以遵循的模式。您必须针对您的完整应用程序进行调整,因为此模式是硬连线的以匹配您的简单小提琴。

var morphTargets = mesh.geometry.morphTargets;
var morphInfluences = mesh.morphTargetInfluences;

var vA = new THREE.Vector3();
var tempA = new THREE.Vector3();

var fvA = geometry.vertices[ 0 ]; // the vertex to transform

for ( var t = 0, tl = morphTargets.length; t < tl; t ++ ) {

    var influence = morphInfluences[ t ];

    if ( influence === 0 ) continue;

    var targets = morphTargets[ t ].vertices;

    vA.addScaledVector( tempA.subVectors( targets[ 0 ], fvA ), influence ); // targets index must match vertex index

}

vA.add( fvA ); // the transformed value

fiddle: https://jsfiddle.net/3wtwzuh3/3/

三.js r.75

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

Three.js:使用变形目标获取更新的顶点 的相关文章

  • JavaScript 中的“import”和“require”有什么区别?

    当在 JavaScript 中包含包时我什么时候想使用import vs require 它们是相同的还是有不同的用例 您可以在加载的模块名称未预定义 静态的情况下进行动态加载 或者仅在 真正需要 时有条件地加载模块 取决于某些代码流 加载
  • Grunt-browserify+mapify+coffeescript = 未通过相对路径找到模块

    我尝试让 grunt browserify 使用 Coffeescript 的相对路径 但当我尝试构建源代码时总是收到错误消息 gt gt Error module src app utils includeMixin not found
  • 使用把手显示来自 parse.com 的 json 响应

    我想将 json 响应传递给车把 我已经查看了解析文档和 stackoverflow 问题 但我似乎无法弄清楚这一点 这是回应 results address 755 W Yale createdAt 2013 02 09T01 12 15
  • 带有闭包的 JavaScript 性能

    var name function n var digits one two three four return digits n var namenew function digits one two three four return
  • asp.net 将值从 JS/jquery 传递到 C# 背后的代码

    我已经尝试了 所有 可能的方法 将 screen width vlaue 从 aspx 页面上的 JS 脚本发送到后面代码中的 c 虽然我可以看到 screen width 被正确分配 但它永远不会分配给我的隐藏字段价值
  • 无法在 IE 中的选择选项上使用 onmouseover 事件

    更新的代码 function getElements var x document getElementsByTagName option var el document getElementById selectDept el onmou
  • 以编程方式在指令内添加指令

    我想将指令的另一个实例附加到父指令中 但我无法使用 apply 重新编译我的指令 我想我在某个地方错过了一些东西 我的 HTML 代码 div div div div
  • 如何翻转 Twitter Bootstrap 的工具提示

    我正在使用 Twitter 的 Bootstrap 来实现工具提示 目前 工具提示显示在链接上方 我希望工具提示出现在链接下方 我该怎么做呢 我正在触发工具提示 它明确指出 底部 但它不想为我工作 tooltip tooltip place
  • 如何解构 React props 并仍然访问其他 props?

    我很好奇如果我想要所有的 props 但也想要解构单个属性 那么组件的参数 props 是否可以像导入一样解构 我想这更像是一个 JavaScript 问题 而不是一个 React 问题 但是举个例子 import React useEff
  • 如何在美人鱼节点描述中添加链接?

    我想 如下图所示 div class mermaid graph TD A hello B an b important b link A gt B div 在下面添加实际链接link指向http google com 我尝试将相关节点修改
  • 动态更改 vuejs 2 中的选择输入选项

    如何动态更改选择下拉 v model 中的选项 我有 2 个选择输入 其中一个应该根据其他输入进行更改 例如 如果我选择 水果 则选择显示水果 如果我选择 蔬菜 则选择显示蔬菜 我不使用Vuejs 但查看文档后 var TypesArr F
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • 如何显示 GroupList 的 FormArray?

    我正在尝试制作一个交互式表单 在每一行上列出一个项目以及一个删除按钮 在我的示例中称为 verwijderen 这些项目是从数据库中检索的 并且每个项目都实例化为名为的自定义对象LaborPeriod 然后这些对象被转化为FormGroup
  • 如何使用 Jquery .animate() 函数创建连续滚动内容? [复制]

    这个问题在这里已经有答案了 可能的重复 在jquery中实现圆形滚动条 https stackoverflow com questions 812049 implementing circular scroller in jquery 我想
  • Babel/RequireJS + typeof“RangeError:超出最大调用堆栈大小”

    我有一个非常基本的 JS 错误 我很羞愧无法解决它 我正在使用 ES6 和 Babel 进行开发 并且正在做一些实验 请注意 我在 Babel 中使用了这些参数 presets es2015 plugins transform es2015
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki
  • 错误:模块“html”不提供视图引擎(Express)

    我正在尝试设置一个简单的路由应用程序 但在渲染页面时不断遇到错误 Error Module html does not provide a view engine 奇怪的是我已经在 app js 文件中指定了视图引擎 但仍然收到错误 app
  • JavaScript 中“键”的类型是什么?

    当我失去焦点并开始思考一个愚蠢的问题时 我遇到了这样的时刻 var a b value b 的类型是什么 我的意思不是 值 的类型 而是标记为 b 的实际键 背景 当我必须创建一个字符串键时 我开始想知道这一点 var a b value

随机推荐

  • 在没有 Turbolink 的 AJAX 之后在 Rails 中触发 js

    我有一个rails4应用程序 由于我不擅长 js 所以我关闭了 TURBOLINKS 我读了很多文章 但我仍然不知道如何组织我的 javascript 文件 目前我在 AJAX 附加后触发 js 代码时遇到问题 我有一个任务列表 索引页 如
  • Facebook 打开图表,过滤好友列表数组

    我希望我的应用程序能够过滤我使用开放图获得的朋友列表 登录我的网站的人只能看到他们也使用我的应用程序的朋友 我在 Quora Thumb 等许多应用程序上都注意到了这一点 如何使用 php 来完成呢 当您使用 FQL 查询时可以轻松完成us
  • 如何在 django 导航栏下拉列表中显示活动链接?

    我有一个导航栏菜单 其中包含链接列表 我想在用户位于页面上时显示活动链接 到目前为止 我已经设法使用没有这样的下拉菜单的链接来做到这一点 但我似乎无法正确使用下拉链接 如果用户位于下拉链接的页面上 则导航栏上的父链接会突出显示 如下所示 任
  • 使用 AVMutableComposition iPhone

    我正在使用下面的代码 按顺序流式传输两个视频 但它在模拟器中没有显示任何视频 它完全是空白的 另外我怎样才能找到这两个视频 例如 如果一个视频时长 2 分钟 第二个视频时长 3 分钟 现在我需要获取这些视频的总时间并进行搜索 当我将滑块滑动
  • 将注释的标题设置为当前地址

    我想获取当前位置的地址并将其设置为注释的标题 但这没有用 我认为这是因为阻塞 但我不知道如何解决它 任何帮助将不胜感激 最相关的代码如下 WhereAmIAnnotation h import
  • 将脚本插入 iFrame 的标头,而不清除 iFrame 的主体

    我希望将脚本添加到 iFrame 的标头 同时不丢失 iFrame 正文或标头中包含的所有内容 这是我现在所拥有的 它确实使用新脚本更新了 iFrame 但它会清除 iframe 中的所有内容 而不是附加我想要的内容 谢谢 乙 Find t
  • Espresso:为什么选择后旋转器不关闭?

    我有一个关于在 Spinners with Espresso 中选择项目的问题 或者更准确地说 选择有效 但之后视图断言失败 因为微调器仍然打开 假设我有一个非常简单的活动 其中包含一个微调器和一个显示选择的文本视图 如下所示 现在 我编写
  • 创建带有导航栏和后退按钮的模态视图

    我想创建一个带有导航项的模式视图 屏幕截图中的右侧视图 并且我希望它有一个 后退按钮 我的应用程序是 TabBar 应用程序 我不希望此视图有选项卡栏 但我想使用类似于 push 类型的 segue 加载上一个视图 屏幕截图中的左侧视图 我
  • 如何从自定义列表在 Room 中创建 TypeConverter?

    我做了一个 TypeConverter 但出现错误 无法为类创建转换器 models lastanime EpisodesEntityfor 方法 EpisodesApi getEpisodes 我无法完全理解如何制作 TypeConver
  • Python文件权限中的Zipfile

    i used zipfilelib 从 zip 中提取文件 现在解压目录后我发现我的文件的权限已损坏 import zipfile fh open sample zip rb z zipfile ZipFile fh print z nam
  • 如何更改 Grails 中的 joda--time 默认日期时间格式

    我正在使用 Grails 2 0 3 groovy 1 8 6 和 joda time 1 3 1 和 joda time templates 插件 一切都很完美 但我想更改日期和时间的显示格式 我怎样才能做到这一点 每个域都是支架式的 因
  • 如何在 iOS >= 4.2.1 Mobile Safari 中自动播放媒体?

    除了用户执行的单击事件的处理程序之外 我似乎无法在 iOS 4 2 1 上的 Mobile Safari 中播放音频媒体 即便如此 如果player play 以任何异步方式调用 ajax setTimeout等 它不起作用 我试过打电话p
  • 使用 Visual Studio 2015 Update 3 创建的 UWP 应用程序包无法安装在手机上

    使用 Visual Studio 2015 Update 3 创建的发布模式 appxbundle 文件无法安装在 Windows Phone 上 这在更新 2 中有效 在手机上安装了现场医疗兵 最终发现了错误 Windows cannot
  • Python 元组列表,需要解包和清理

    假设您有一个列表 例如 x Edgar Robert 获取字符串的最有效方法是什么 Edgar and Robert 例如 并不真正想要 x 0 0 简单的解决方案 并且在大多数情况下是最快的 item 0 for item in x or
  • 一个主键与另一个主键相关可以吗?

    这是我的 ERD 的一部分 Orders 表中的 OrderID 与 Order Details 表中的 OrderID ProductID 主键相关 我不认为主键可以与其他主键关联 但我不确定如何关联这些表 让它们既是主键又是外键 您似乎
  • 与 oracle 通信时应用程序崩溃,除非可执行路径包含空格

    我们的 NET 应用程序存在 x 文件问题 或者更确切地说 混合 Win32 和 NET 应用程序 当它尝试与 Oracle 通信时 它就死掉了 消失了 前往天空中那片巨大的黑色虚空之中 没有事件日志消息 没有异常 什么也没有 如果我们只是
  • TO_DATE函数时区解析错误

    我在尝试解析 Oracle 中的日期时遇到问题 TO DATE Fri May 16 14 30 57 EDT 2014 DY MON DD HH24 MI SS TZD YYYY Error ORA 01821 无法识别日期格式 时区出了
  • Fortran 中的自动类型转换(类型转换)如何工作?

    我正在使用 gfortran 编译器 还请告诉我 gfortran 在执行自动类型转换 类型转换 时是否使用 Fortran 标准以外的其他内容 赋值由 Fortran 2008 第 7 2 节定义 值得注意的是 Cl 7 2 1 3 第
  • 通过 CMake 添加外部库(例如 Eigen)

    我已经处理这个问题几个星期了 我知道我可能只是错过了一个我没有意识到的小步骤 因此 任何见解都将受到高度赞赏 我正在尝试添加一些外部库并在我的 C 项目中使用它们 但似乎无法弄清楚如何 我阅读了互联网上有关添加外部库的所有帖子 但我相信我错
  • Three.js:使用变形目标获取更新的顶点

    我有一些变形目标正在工作 https jsfiddle net 3wtwzuh3 2 使用滑块控件查看变形 但是 我希望能够访问变形后顶点的新位置 如果您在链接的示例中注意到 我正在显示立方体第一个顶点的 y 坐标 但它没有更新 This