2016-04-18 15 views

Antwort

1

Ich habe eine Geige erstellt: http://jsfiddle.net/kbtn6pz5/

Dies bewegt die Kamera über einen beliebigen Punkt auf der Kugel, gilt eine LookAt Eigenschaft und setzt dann die Höhe der Kamera über die Oberfläche der Kugel.

auf der Geige vorformulierten Basierend ...

var camera, scene, renderer, geometry, material, mesh; 

init(); 
animate(); 

function init() { 

    scene = new THREE.Scene(); 

    camera = new THREE.PerspectiveCamera(50, window.innerWidth/window.innerHeight, 1, 10000); 




    scene.add(camera); 
     var rad = 200; 
    geometry = new THREE.SphereGeometry(rad, 32, 32); 
    material = new THREE.MeshNormalMaterial(); 

    mesh = new THREE.Mesh(geometry, material); 
    scene.add(mesh); 

    var point = THREE.GeometryUtils.randomPointsInGeometry(geometry, 1); 

    var altitude = 100; 

    var coeff = 1+ altitude/rad; 

    camera.position.x = point[0].x * coeff; 
    camera.position.y = point[0].y * coeff; 
    camera.position.z = point[0].z * coeff; 
    camera.lookAt(mesh.position); 

    renderer = new THREE.CanvasRenderer(); 
    renderer.setSize(window.innerWidth, window.innerHeight); 

    document.body.appendChild(renderer.domElement); 

} 

function animate() { 

    requestAnimationFrame(animate); 
    render(); 

} 


function render() { 
    renderer.render(scene, camera); 
} 
+1

Sie, Sir, sind erstaunlich. Das ist solch eine Qualitätsantwort, die mir das ernsthafte Headbangen erspart hat. Ich danke dir sehr! Meine wichtigsten Probleme im Nachhinein waren, dass ich nicht alle xyz-Positionen der Kamera ändere und camera.lookAt (0,0,0,) setze, die Nullen in einem Vektor 3 brauchen, was mich wirklich daran gehindert hat, etwas zu raten und zu überprüfen. Es auf meine Weltposition zu setzen, linderte dies. Danke nochmal. Ich arbeite an einer 3D-Erdbeben-Visualisierung ... hoffentlich wirst du es irgendwann sehen. Ihre Hilfe hat das Einwickeln möglich gemacht! –

+0

Würde mich freuen, es zu sehen. @Radio diese Konversation, wenn es verfügbar ist. – Radio