2017-04-18 3 views
0

Wie soll ich eine aoMap für eine normale THREE.Geometry arbeiten lassen? Gibt es eine Demo?Funktioniert aoMap nur für THREE.BufferGeometry?

var uvs = geometry.attributes.uv.array; 

geometry.addAttribute('uv2', new THREE.BufferAttribute(uvs, 2)); 

Der obige Code ist für BufferGeometry.

Antwort

1

Eine aoMap erfordert den zweiten UV-Satz. Sie können einen zweiten UV-Satz erstellen, indem Sie den ersten Satz duplizieren, wenn Sie möchten.

Dies ist, wie es für Geometry zu tun:

geometry.faceVertexUvs[ 1 ] = geometry.faceVertexUvs[ 0 ]; 

Und das ist, wie es für BufferGeometry zu tun:

var uvs = geometry.attributes.uv.array; 
geometry.addAttribute('uv2', new THREE.BufferAttribute(uvs, 2)); 

... oder einfacher:

geometry.attributes.uv2 = geometry.attributes.uv; 

three.js r.88

+0

Danke, ich werde versuchen – Lindy

+0

Bitte denken Sie daran, "Antworten" zu akzeptieren, indem Sie auf das Häkchen klicken. Vielen Dank. – WestLangley

+0

Dies sollte absolut die akzeptierte Antwort sein. Ich wünschte, ich hätte das vor langer Zeit gefunden. – Zoyt

Verwandte Themen