是否有有效的 THREE.js API 文档?

Posted

技术标签:

【中文标题】是否有有效的 THREE.js API 文档?【英文标题】:Is there a working THREE.js API documentation? 【发布时间】:2011-12-15 15:21:21 【问题描述】:

我正在尝试学习 THREE.js 的基础知识。我已经阅读了一些教程,我想开始尝试。我的问题是我找不到任何文档

This 应该是一个 API 浏览器,但我找不到非常基本的对象,例如 PlaneGeometrySphereGeometry。还有其他地方可以找到 API 吗?

【问题讨论】:

API 改变了很多,我想这是文档成为问题的一个原因,但我总是从现有的示例开始,这些示例简单/容易分解并从那里继续。 刚刚为所有 *Geometry 添加了一些基本描述 - github.com/mrdoob/three.js/wiki/API-Reference 这对于即使是简单的东西来说也是荒谬的,你必须去寻宝,如果你幸运的话,你会发现一些可以逆向工程的东西。只是发现这可能已经过时并且行不通。 【参考方案1】:

另一个浏览 API 的地方是here。我认为这个和你引用的那个都是在几何对象最近的名称更改之前生成的。您可以要求 staunsholm 重新生成他发布的 API 文档。另一个看起来更正式的地方是here,但它仍然有很多“待办事项”。

对于 THREE.js 缺乏最新的文档,我也有同样的感觉。如果您想对该优先级施加一些影响,您可以重新打开 this bugtracker issue 并对其发表评论。或者您可以自己承担 :-) 维护一个经常更新的 THREE.js API 参考,由 jsdoc 生成。或者,您可以挖掘源代码和示例以找到问题的答案,然后用您的发现更新the apparently official wiki pages。

很抱歉,这不是您所希望的理想解决方案,但也许它是目前可用的最佳解决方案。 three.js 的作者seems to feel 表示,API 需要更加稳定,然后文档工作对他来说是值得的。

【讨论】:

关于第一个链接,我的印象是 directionalLight 具有属性position 和方法normalize(),要么是它自己的,要么是从某个地方继承的,但我找不到它。你能帮忙或告诉你发生了什么吗? @MuhammadUmer:关于第一个链接,页面底部的注释说该文档是在 2013 年 1 月 2 日生成的。如果您点击第三个链接,您会找到带有 position 的 DirectionalLight属性和继承图。我没有看到任何normalize() 方法。 directionalLight.position.set(1, 1, 1).normalize(); 这样的东西 @MuhammadUmer:在这种情况下,不是directionalLightnormalize() 方法,而是Vector3D 有。 positionVector3Dposition.set() 返回的值也是如此。【参考方案2】:

最新官方 API 现已发布 http://mrdoob.github.com/three.js/docs/

【讨论】:

【参考方案3】:

three.js 文档在示例中。 http://mrdoob.github.com/three.js/

尝试它们并查看来源,它们非常清楚。其中有 112 个,并且经过精心维护。它同时提供文档和测试。目前没有 API 文档,我认为在不久的将来会有。

更多的是关于。举一个接近你想要的例子,然后推导出来。

【讨论】:

遗憾的是,这些示例一开始就相当复杂。我真的很高兴看到一个例子,上面有一个带有纹理的矩形。此外,我打开的示例缺少 cmets,因此它们的帮助更小。 示例和 API 应该是非常自我描述的。尽管确实有一些例子有点令人费解。尝试先专注于简单的事情:) 理论上是这样。但由于缺乏真正简单的例子,我无法弄清楚API的某些部分的用途。例如,在问题***.com/questions/7919516/using-textures-in-three-js 中,我尝试以最简单的方式使用纹理,并且我认为我做的一切都是正确的,但事实证明它不起作用。我很难说与更复杂的示例有什么不同,可能在哪些地方使用了其他功能。【参考方案4】:

官方 API 在这里:

文档:http://mrdoob.github.com/three.js/docs/48/index.html

完整索引:http://mrdoob.github.com/three.js/docs/48/genindex.html

目前已经很详细了。

【讨论】:

谢谢,当我第一次询问时,所有这些文档都不在那里 :-) @Andrea,第二个已经不存在了,第一个里面有很多“待办事项”。 (这并不是说它不是最好的 three.js 文档。) P.S.我认为官方 URL 是 mrdoob.github.com/three.js/docs/latest,它目前确实重定向到上面给出的第一个 URL,但可能并不总是这样做。 看起来这就是我们所拥有的一切,但还不够好……如果我不是对此一无所知,我会帮忙的。 目前是 mrdoob.github.com/three.js/docs ,它重定向到最新版本的特定 API(今天 50 个)。不过还是少了,连源代码都少了cmets...【参考方案5】:

我已经写了 60 多个介绍性示例,详细的 cmets 在

http://stemkoski.github.io/Three.js/

这些示例旨在说明 Three.js 的许多基本功能,一次一个,随着示例的进展,一些示例相互构建,一些增加了复杂性,还有一些包含了额外的 javascript 库。

希望这会有所帮助!

【讨论】:

它们很好,但我什至无法右键单击并查看源代码。也许这只是我的 chrome 浏览器。 如果从demo中看不到源码,试试GitHub页面的链接,也可以这样浏览源码。【参考方案6】:

最近出版了一本书:WebGL: Up and Running,它是基于 THREE.js 的,所以你会完全理解它是如何工作的。我认为如果您想全面了解所有 THREE.js 方面的知识,而不仅仅是仔细检查单独的示例,那么这是一个很好的起点。

【讨论】:

以上是关于是否有有效的 THREE.js API 文档?的主要内容,如果未能解决你的问题,请参考以下文章

three.js-001

three.js源码目录

使用three.js实现机器人手臂的运动效果

今日推荐WebGL系列之Three.js

Three.js 中文文档和在线演示实例

前端工程师必会的技能-three.js 3D显示功能