Heim  >  Artikel  >  Web-Frontend  >  Three.js3D-Sichtfeld-Skalierungseffekt-Implementierungsmethode

Three.js3D-Sichtfeld-Skalierungseffekt-Implementierungsmethode

小云云
小云云Original
2018-01-18 14:33:022665Durchsuche

Dieser Artikel stellt hauptsächlich den von three.js erzielten 3D-Sichtfeldskalierungseffekt im Detail vor. Ich hoffe, dass er jedem helfen kann.

Zuerst einmal kein Unsinn mehr, was ist Three.js und was es tut. Wenn Sie es nicht wissen, gehen Sie zu Baidu.

Der Herausgeber empfiehlt jedem einen Artikel: Three.js Quick Start Tutorial

Gestern habe ich entdeckt, dass die Verkleinerung und Vergrößerung des 3D-Sichtfelds in three.js durch die Verwendung von erreicht werden kann Fern- und Nahfokus der Kamera.


Nach dem Herauszoomen:

Hier kommt eine Perspektivkamera zum Einsatz:


//照相机配置
  var fov = 40;//拍摄距离
  var near = 1;//最小范围
  var far = 1000;//最大范围
  var camera = new THREE.PerspectiveCamera(fov, window.innerWidth / window.innerHeight, near, far);

Hier können Sie den Wert von fov ändern und die Kamera aktualisieren.


camera.fov = fov;//fov是变量哦 
camera.updateProjectionMatrix();
renderer.render(scene, camera);

Außerdem: Wir sind es alle gewohnt, das Mausrad nach oben und unten zu bewegen, um den Zoomeffekt zu erzielen, also schauen Sie sich den Code an


canvas.addEventListener('mousewheel', mousewheel, false);
    //鼠标滑轮
    function mousewheel(e) {
      e.preventDefault();
      //e.stopPropagation();
      if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件
        if (e.wheelDelta > 0) { //当滑轮向上滚动时
          fov -= (near < fov ? 1 : 0);
        }
        if (e.wheelDelta < 0) { //当滑轮向下滚动时
          fov += (fov < far ? 1 : 0);
        }
      } else if (e.detail) { //Firefox滑轮事件
        if (e.detail > 0) { //当滑轮向上滚动时
          fov -= 1;
        }
        if (e.detail < 0) { //当滑轮向下滚动时
          fov += 1;
        }
      }
      camera.fov = fov;
      camera.updateProjectionMatrix();
      renderer.render(scene, camera);
      //updateinfo();
    }

Verwandte Empfehlungen:

Three.js-Tutorial zum Zeichnen eines 3D-Würfels

Three.js-Implementierung von Teilen von 3D-Kartenbeispielen

Detaillierte Beispiele für HTML5 und CSS3 zur Erzielung eines 3D-Konvertierungseffekts

Das obige ist der detaillierte Inhalt vonThree.js3D-Sichtfeld-Skalierungseffekt-Implementierungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn