2012-03-19 2 views
3

THREE.js를 사용하여 구형 파노라마를 만들려고합니다. 그것은 Safari Desktop에서 훌륭하게 작동하지만 iPAD의 Safari Mobile에서 충돌합니다. 텍스처 이미지를로드하는 방식과 관련이 있습니다.Safari 모바일 - 크래싱 - 세 JS 텍스처가로드되지 않습니다.

몇 가지 나는 작은 크기의 이미지를로드 시도 캔버스 렌더러

  • 을 사용하고

    1. 을 시도했습니다.
    2. 질감 이미지 2 개를로드하려고했습니다.
    3. 와이어 프레임 재료로 구형로드를 시도했습니다. 작동합니다!

    여기 내 코드가 있습니다. http://pastebin.com/1nwTMHJV

    sceneHolder = document.getElementById('sceneHolder'); 
    scene = new THREE.Scene(); 
    camera = new THREE.PerspectiveCamera(60, SCENE_WIDTH/SCENE_HEIGHT, 1, 10000); 
    camera.position.z = 0; 
    scene.add(camera); 
    
    var sphereGeom = new THREE.SphereGeometry(200, 20, 20); 
    //NOTE: If we add {},function(){render()} in the following, it stops working! 
    var sphereTexture = THREE.ImageUtils.loadTexture('media/vr/testpot.jpg'); 
    mesh = new THREE.Mesh(sphereGeom,new THREE.MeshBasicMaterial({map:sphereTexture,overdraw:true})); 
    //So that we see the inside of the sphere too! 
    mesh.doubleSided=true; 
    scene.add(mesh); 
    
    renderer = new THREE.CanvasRenderer(); 
    renderer.setSize( SCENE_WIDTH, SCENE_HEIGHT); 
    sceneHolder.appendChild(renderer.domElement); 
    

    여기 three.js를 또한 https://github.com/mrdoob/three.js/issues/1529

    에 내 게시물입니다 : https://github.com/mrdoob/three.js/issues/1550

    감사 smaira

  • +0

    나는이 정확한 문제를 겪고있다. –

    답변

    0

    내가 아이 패드에서 실행할 수있는 얼굴의 수를 절감했지만, 그것의 그냥 못 생겼어.

    당신은 시도 할 수 있습니다 :

    var sphereGeom = new THREE.SphereGeometry(200, 10, 10); 
    

    와시의 사파리 충돌 렌더링을

    renderer.render(scene, camera); 
    

    결론 :로드 이미지의 질감이 너무 많은 얼굴과 구체에 경우, 아이 패드가

    을 충돌합니다