Bir düzlem üzerinde bir yer değiştirme haritası var 512px * 512px (100x100 segmentleri), deplasman haritasının kaydırılması için görüntü kayıyor, yüksekliklerin düzgün bir şekilde uyuşmadığı pozisyona yapışıyordu. mix() işlevinde ve normalleri normalde zamana göre konumlandırmak için pürüzsüz adım(), ancak bunu uygulamakta zorlanıyorum. vertex ve piksel ileGLSL uv ofset gelen webgl lerp normals
Three.js 71 Kullanmauniform sampler2D heightText; //texture greyscale 512x512
uniform float displace;
uniform float time;
uniform float speed;
varying vec2 vUV;
varying float scaleDisplace;
void main() {
vUV = uv;
vec2 uvOffset = vUV + vec2(0.1, 0.1)* time; // animates offset
vec2 uvCo = vUV + vec2(0.0, 0.0);
vec2 texSize = vec2(-0.8, 0.8); // scales image larger
vec4 data = texture2D(heightText, uvOffset + fract(uvCo)*texSize.x);
scaleDisplace = data.r;
//vec3 possy = normal * displace * scaleDisplace;
vec3 morphPossy = mix(position, normal *displace , scaleDisplace)* time ;
gl_Position = projectionMatrix * modelViewMatrix * vec4(morphPossy, 1.0);
}
:
İllüstrasyon amacı:
takdir Herhangi bir yardım ... senin bir yükseklik haritası olarak bir doku kullanılarak yana
Hala bu kadar şanssızlık arıyorum, şu anda diğer tam yöntemleri kullanarak arıyorum ama ideal olarak bu yaklaşım ile kalmak istiyorum. – Careen
Lütfen sorunuza reword/detay verin, "deplasman haritasının kaydırmaları, köşelerin yükseklik pozisyonuna yapışmasını bıraktı" ile ne kastettiğiniz hakkında hiçbir fikrim yok. –
@Brendan görsel bir bakış açısı için resim ile güncellendi .. – Careen