我尝试使用 Three.js "version": "0.113.2"
。
我有消息Cannot read property 'isInterleavedBufferAttribute' of undefined
。
我的 Three.js 有以下代码,如消息所示。
但是,我自己没有这样做。我的代码正在执行某些操作。
有人告诉我如何解决这个问题。
function get( attribute ) {
if ( attribute.isInterleavedBufferAttribute ) { attribute = attribute.data; }
return buffers.get( attribute );
}
function remove( attribute ) {
if ( attribute.isInterleavedBufferAttribute ) { attribute = attribute.data; }
var data = buffers.get( attribute );
if ( data ) {
gl.deleteBuffer( data.buffer );
buffers.delete( attribute );
}
}
function update( attribute, bufferType ) {
if ( attribute.isInterleavedBufferAttribute ) { attribute = attribute.data; }
var data = buffers.get( attribute );
if ( data === undefined ) {
buffers.set( attribute, createBuffer( attribute, bufferType ) );
} else if ( data.version < attribute.version ) {
updateBuffer( data.buffer, attribute, bufferType );
data.version = attribute.version;
}
}
Run Code Online (Sandbox Code Playgroud)
}
我的代码的一部分尝试在场景中添加点云。如果在最后一行添加注释scene.add( points )
,错误消息将停止。
var vertices = [];
var colors = [];
var pcUrl = " <?php echo $pcUrl ?> ";
var req = new XMLHttpRequest();
req.open("get", pcUrl, true);
req.send(null);
req.onload = function(){
convertCSVtoArray(req.responseText);
}
function convertCSVtoArray(str){
line = str.split("\n"); /
for (var i =0; i< line.length-1 ; ++i){
row = line[i].split(',');
var x = row[0];
var y = row[1];
var z = row[2];
vertices.push( x, y, z );
}
}
var geometry = new THREE.BufferGeometry();
geometry.setAttribute( vertices );
var material = new THREE.PointsMaterial( { color: 0xff4444 } );
var points = new THREE.Points( geometry, material );
scene.add( points );
Run Code Online (Sandbox Code Playgroud)
几何.setAttribute( 顶点 );
它应该是:
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
969 次 |
最近记录: |