Sağladığınız kodda yanlış bir şey görmüyorum, benim için iyi çalışıyor, yalnızca tamamlanmadı. Eğer işlemek/güncelleme fonksiyonunda TWEEN.update(time)
aramak gerekir:
tam kodu: Bu mysound.ogg tam ses seviyesinde oynamaya başlayın ve sonra da hiç hacme lineer interpolasyon ve sonra durmasına neden olur
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
camera.position.z = 5;
var listener = new THREE.AudioListener();
var sound_b_1 = new THREE.PositionalAudio(listener)
sound_b_1.load('mysound.ogg');
sound_b_1.setRefDistance(20);
sound_b_1.setVolume(1);
sound_b_1.autoplay = true;
scene.add(sound_b_1);
var volume = {x : 1}; // tweens not work without object
// using Tween.js
new TWEEN.Tween(volume).to({
x: 0
}, 1000).onUpdate(function() {
sound_b_1.setVolume(this.x);
}).onComplete(function() {
sound_b_1.stop();
}).start();
var time = 0; // incrementing time variable
var render = function() {
requestAnimationFrame(render);
// normally the render render function is called 60 times a second.
// convert to milliseconds
time += ((1/60) * 1000);
TWEEN.update(time);
renderer.render(scene, camera);
};
//setTimeout(()=>{sound_b_1.stop();}, 5000);
render();
oynarken.
başka ses klibi sadece aynı şeyi oynamaya başlayın ama 0'dan hacmi başlangıç izin vermedi ve
1. nedenle sahip kod çalışmıyor için interpolasyon yapmak istiyorsunuz? Bir keman oluşturabilir misin? – gaitat