From 9df48f2a92d09c97cc50f865eb2e369c5816a897 Mon Sep 17 00:00:00 2001 From: sunag Date: Tue, 24 Sep 2024 15:34:24 -0300 Subject: [PATCH] Examples: add reflection mask in `retargeting_readyplayer` (#29485) --- ...bgpu_animation_retargeting_readyplayer.jpg | Bin 22380 -> 22063 bytes ...gpu_animation_retargeting_readyplayer.html | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/screenshots/webgpu_animation_retargeting_readyplayer.jpg b/examples/screenshots/webgpu_animation_retargeting_readyplayer.jpg index f16ff07e9adc06601275457cb10211686f3d5df1..2341bbcfd42135e413f04e907b48c2a58aeb8d32 100644 GIT binary patch delta 20275 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 BL^1#X delta 20607 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 l4U@G6#Dw)f8Cq import * as THREE from 'three'; - import { screenUV, color, vec2, reflector } from 'three/tsl'; + import { screenUV, color, vec2, vec4, reflector, positionWorld } from 'three/tsl'; import Stats from 'three/addons/libs/stats.module.js'; @@ -119,8 +119,10 @@ reflection.target.rotateX( - Math.PI / 2 ); scene.add( reflection.target ); + const reflectionMask = positionWorld.xz.distance( 0 ).mul( .1 ).clamp().oneMinus(); + const floorMaterial = new THREE.NodeMaterial(); - floorMaterial.colorNode = reflection; + floorMaterial.colorNode = vec4( reflection.rgb, reflectionMask ); floorMaterial.opacity = .2; floorMaterial.transparent = true;