热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Threejs:PropertyBinding:无法解析trackName:.bones[]。position

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Threejs:PropertyBinding:无法解析trackName:.bones[]。position相关的知识,希望对你有一定的参考

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Threejs:PropertyBinding:无法解析trackName:.bones []。position相关的知识,希望对你有一定的参考价值。



版本:THREE.WebGLRenderer 91dev

我试图获得一个简单的动画胸部开口在three.js工作,但我在尝试创建一个动作时不断收到以下错误。



PropertyBinding:无法解析trackName:.bones []。position


完整版的动画JSON对象位于pastebin:Full JSON String上。简短摘要如下:

{
"name": null,
"fps": 30,
"length": 0.5333333333333333,
"hierarchy": [{
"parent": -1,
"keys": [{
"time": 0,
"rot": [
0,
0,
0,
1
],
"scl": [
1,
1,
1
],
"pos": [
0,
0,
0
]
},

我使用以下命令创建一个动画片段。

var clip = THREE.AnimationClip.parseAnimation(animation, armSkeleton.bones);
geometry.animations.push(clip);

clip的值如下:

duration: 0.6
name: "default"
tracks: […]
0: Object {
name: ".bones[].position",
times: […],
values: […],

}
1: Object {
name: ".bones[].quaternion",
times: […],
values: […],

}
2: Object {
name: ".bones[].scale",
times: […],
values: […],

}
3: Object {
name: ".bones[].position",
times: […],
values: […],

}
4: Object {
name: ".bones[].quaternion",
times: […],
values: […],

}
5: Object {
name: ".bones[].scale",
times: […],
values: […],

}
length: 6
__proto__: Array[]
uuid: "3E37E10B-74D0-4421-92AF-7A366CF3804F"

问题是当我尝试使用剪辑时:

mixer = new THREE.AnimationMixer(mesh);
mixer.clipAction(mesh.geometry.animations[0]).play();

我得到的错误是threejs无法解析trackname“.bones.position”,即使这是parseAnimation函数返回的名称?如果有人能指出我正在做的蠢事,我会非常困惑,我会很感激。


答案

在解决了问题后,我发现错误的原因是因为AnimationClip期望命名骨骼。因此,在将每个骨骼传递给THREE.AnimationClip.parseAnimation之前,只需给每个骨骼一个唯一的名称,就可以避免这个错误消失。



推荐阅读
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 开发笔记:每篇半小时1天入门MongoDB——3.MongoDB可视化及shell详解
    开发笔记:每篇半小时1天入门MongoDB——3.MongoDB可视化及shell详解 ... [详细]
  • 探讨多种方法来确定Java对象的实际类型,包括使用instanceof关键字、getClass()方法等。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • Web开发实践:创建连连看小游戏
    本文详细介绍了如何在Web环境中开发一款连连看小游戏,适合初学者和技术爱好者参考。通过本文,您将了解游戏的基本结构、连线算法以及实现方法。 ... [详细]
  • 个人博客:打开链接依赖倒置原则定义依赖倒置原则(DependenceInversionPrinciple,DIP)定义如下:Highlevelmo ... [详细]
  • 探讨如何在给定数组中寻找一个连续子数组,使其和至少达到指定值s,同时确保子数组长度最短。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Unity技巧:实现背景音乐的开关功能
    本文详细介绍了如何在Unity中通过脚本控制背景音乐的开启与关闭,适合初学者参考。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
author-avatar
彼岸花2011的冬天_290
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有