Three.js 场景中有许多反射器:如何实现clone()函数?

Three.js 场景中有许多反射器:如何实现clone()函数?,three.js,Three.js,在一个场景中,我需要大约80个(移动)反射形状缓冲几何体,我希望他们共享尽可能多的材质数据。 显然,clone()方法不适用于Reflector 我得到的黑色几何体不反映任何东西。 尝试将clone()方法添加到prototype中,如下所示,结果根本不可见: //反射器的克隆函数 Reflector.prototype.clone=函数(){ 返回新反射器(this.geometry,this.options); } 这是怎么回事?可以在多个对象之间共享一个反射器吗? 谢谢 我需要大约80(

在一个场景中,我需要大约80个(移动)反射
形状缓冲几何体
,我希望他们共享尽可能多的材质数据。
显然,
clone()
方法不适用于
Reflector

我得到的黑色几何体不反映任何东西。
尝试将
clone()
方法添加到
prototype
中,如下所示,结果根本不可见:

//反射器的克隆函数
Reflector.prototype.clone=函数(){
返回新反射器(this.geometry,this.options);
}
这是怎么回事?可以在多个对象之间共享一个反射器吗?
谢谢

我需要大约80(移动)的场景中的反射形状缓冲几何体,我希望他们共享尽可能多的材质数据

请注意,
Reflector
的每个实例都使用单独的渲染过程渲染其环境。我非常怀疑一个场景中的80个反射器是否能产生可用的性能


此外,
Reflector
不是为共享材料而设计的。如果不重构
Reflector
的实现,就无法实现
clone()
方法。
clone()
方法的用途无论如何都值得怀疑,因为场景中只能有少量镜像。它们都必须维护唯一的统一数据。渲染器将自动确保在具有兼容材质设置的材质之间共享着色器程序。因此,即使许多对象具有独特的材质对象,也不会对性能造成明显影响。

谢谢,@Mugen87。实际上,在我的旧三星Galaxy S5和HP Omen w/NVIDIA 970GTM上进行渲染似乎并非不可能。当然,我需要为反射器实现一个开关和一种仅在需要时刷新视图的技术-至少帧速率在2-5fps左右,这对于定日镜的使用情况来说是很好的:)同时,请看一看,以了解目标。