в этом коде есть модель particlesThree.glb с анимацией, но анимация не воспроизводится в окне браузера, нужно поправить.
код:

    
import * as THREE from 'three';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';

const scene = new THREE.Scene();

// добавление точечного света
const pointLight = new THREE.PointLight(0xffffff);
pointLight.position.set(25, 50, 25);
scene.add(pointLight);

// добавление амбиентного света
const ambientLight = new THREE.AmbientLight(0x404040);
scene.add(ambientLight);

const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

const loader = new GLTFLoader();
const url = 'particlesThree.glb';
loader.load(url, function (gltf) {
  const model = gltf.scene;
  model.scale.set(0.5, 0.5, 0.5);
  model.position.set(0, 0, 0);
  scene.add(model);

  // добавление анимации
  const mixer = new THREE.AnimationMixer(model);
  gltf.animations.forEach((clip) => {
    const action = mixer.clipAction(clip);
    action.play();
    // задаем повторение анимации
    action.setLoop(THREE.LoopRepeat, Infinity);
  });

  // установка позиции камеры
  camera.position.z = 5;
  // Обработчик события колесика мыши
  let cameraZ = camera.position.z;
  window.addEventListener('wheel', (event) => {
    cameraZ += event.deltaY * 0.003;
    camera.position.z = cameraZ;
    event.preventDefault();
  }, { passive: false });

  animate();

  function animate() {
    requestAnimationFrame(animate);
    mixer.update(0.01);
    renderer.render(scene, camera);
  }
});