const { camera, controls, create, animate } = init()
controls.connect();
camera.position.set(0, 1, 0);
controls.target.set(0, 0, 1);
create.ambientLight({ intensity: 0.2 });
create.directionalLight({ intensity: 1, position: [5, 5, -7] });
// 音源をもたせるオブジェクトの作成
const cube = create.cube({ size: 0.2 });
// 点音源の作成
soundRef.current = create.positionalAudio(
"/easy-three/sound/chill_gravity.mp3",
camera,
{
refDistance: 1,
maxDistance: 100,
}
)
// cubeに音源を持たせる
cube.add(soundRef.current);
animate(({ time }) => {
cube.position.z = 10*Math.abs(Math.sin(time));
});
innerAngle、outerAngle、outerGainを設定することで、指向性コーンを持つ点音源を作成できます。
指向性コーンは、音源が特定の方向に向かって音を放射するように設定するために使用されます。
const { camera, create, animate } = init()
controls.connect();
camera.position.set(0, 1, 1);
create.ambientLight({ intensity: 0.2 });
create.directionalLight({ intensity: 1, position: [5, 5, -7] });
// 音源をもたせるオブジェクトの作成
const cube = create.cube({ size: 0.5 });
// 点音源の作成
soundRef.current = create.positionalAudio(
"/easy-three/sound/chill_gravity.mp3",
camera,
{
refDistance: 1,
maxDistance: 100,
innerAngle: 60,
outerAngle: 180,
outerGain: 0,
}
)
// cubeに音源を持たせる
cube.add(soundRef.current);
// 指向性コーンの向きを設定
cube.lookAt(0, 0, 0);
animate(({ time }) => {
cube.rotation.y += 0.01;
});