【问题标题】:Migrating THREE.js hexplanet demo r58 => r59迁移 THREE.js hexplanet 演示 r58 => r59
【发布时间】:2014-01-08 09:13:35
【问题描述】:

我正在尝试将出色的 hexplanet demo 移植到最新的 THREE.js 版本。 (本人不是作者,暂时联系不上) 该演示是在 r53 上编写的。将其迁移到 r58 很容易,但在 r59 上会出现以下顶点/面错误: screenshot

我已经梳理了migration info of THREE.jsrelease notes for r59,但无法弄清楚这可能是什么原因。唯一看起来可能与我有关的是a change in PolyhedronGeometry。 但由于我不再擅长 3d 几何,我希望有人能就此分享一些见解。

目前有进度的项目文件夹:link

【问题讨论】:

  • 自定义细分代码不再正常工作。你只需要自己调试。

标签: migration three.js


【解决方案1】:

如果其他人想在更高版本上使用该演示,这里是问题并修复:

var angle = Math.acos(v1.dot(v2));

当 v1 等于 v2 时,有时会导致 NaN。 插入以下内容使其再次在细分的所有级别上工作:

if (isNaN(angle)) angle = 0;

【讨论】:

  • 我希望更好的解决方法是钳制点积:var angle = Math.acos( THREE.Math.clamp( v1.dot( v2 ), - 1, 1 ) );
猜你喜欢
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 2017-11-02
  • 2011-11-14
  • 2013-04-11
  • 2013-10-04
  • 2013-06-16
  • 2014-05-22
相关资源
最近更新 更多