3

我一直在尝试将 Ember.js 与 Three.js 集成的方法。特别是,我想渲染一些元素,使用 Ember.js 绑定和一般的 pub/sub 处理来控制数据,但也不能使用 Three.js 使用 THREE.CSS3DObject 来操作视图/元素。

我对 Ember 相当有信心,但对 Three 来说是新手。我想我在想的是,我可以拥有一个同时存在于 THREE.Scene 和 Ember 应用程序命名空间中的元素吗?

在 THREE.js 元素周期表示例中:

http://mrdoob.github.com/three.js/examples/css3d_periodictable.html

创建一个 DOM.element,然后用属性(样式、位置等)进行装饰。

var element = document.createElement( 'div' );
    element.className = 'element';
    element.style.backgroundColor = 'rgba(0,127,127,'+(Math.random()* 0.5 + 0.25 ) + ')';

稍后,它作为一个元素添加到 THREE.CSS3Object 构造函数中:

var object = new THREE.CSS3DObject( element );

我想知道是否可以在 Ember containerView 中创建元素,然后使用 jQuery 迭代 childViews,将当前迭代的元素缓存为“元素”,然后将其呈现给 THREE.CSS3DObject 构造函数?

我知道这有点 hacky,我只提到上面的一些迹象表明我在寻求帮助之前已经尝试过想办法!哈哈!

任何像我这样的指导,甚至是天上掉馅饼的建议都将不胜感激。提前致谢。

4

1 回答 1

4

Three 的 CSS3D 渲染器只是浏览器自身渲染器的一个精简抽象,因此不应与使用 Ember 或 jQ 操作 DOM 元素发生冲突。

Once passed to the CSS3DObject constructor, an element's 3D transforms are updated but beyond that, it's business as usual. You can manipulate its content and style it as needed.

于 2013-01-09T06:55:52.960 回答