0
Ich möchte, wenn mein Rycaster ein Objekt während 2 Sekunden schneiden, aktualisieren Sie die Textur eines Objekts.Fügen Sie eine Verzögerung mit Rycaster
Also ich versuche, Uhrfunktion zu verwenden, aber nicht sicher zu verstehen, wie man es benutzt.
var clock = new THREE.Clock();
clock.autoStart = true;
var intersects = raycaster.intersectObjects(pickable, true);
if (intersects.length > 0) {
if (!clock.running) clock.start() \t
if (clock.getElapsedTime() > 2) {
if (intersects[0].object.name === "btn_meeting_01") {
mesh_sphere.material.map = THREE.ImageUtils.loadTexture("textures/DIVE_IMMO_00004.jpg");
}
if (intersects[0].object.name === "btn_lobby_01") {
mesh_sphere.material.map = THREE.ImageUtils.loadTexture("textures/DIVE_IMMO_00003.jpg");
}
if (intersects[0].object.name === "btn_restaurant_01") {
mesh_sphere.material.map = THREE.ImageUtils.loadTexture("textures/DIVE_IMMO_00002.jpg");
}
if (intersects[0].object.name === "btn_entrance_01") {
mesh_sphere.material.map = THREE.ImageUtils.loadTexture("textures/DIVE_IMMO_00001.jpg");
}
if (intersects[0].object.name === "btn_exterior") {
mesh_sphere.material.map = THREE.ImageUtils.loadTexture("textures/DIVE_IMMO_00000.jpg");
};
}
}
Können Sie mir sagen, was daran falsch ist?
i versuch es aber nicht zu rendern (schwarzer Bildschirm): const render =() => { var intersects = racycaster.intersectObjects (auswählbar, true); \t if (intersects.length> 0) { updateTexture() } else { resetLoader() } effect.render (Szene, Kamera); } – Noodle09
Für etwas so lange wie 2 Sekunden, so würde ich es tun. –