コメント |
@SHOW
Three.js で使っている画像もファイル名からすると、Flickr なんでしょうね。http://www.igosso.net/se.cgi?mode=tags&q=equirectangular《equirectangular 画像ばかりを、Creative Commons で検索する》事ができました。
オリジナルは、8000x4000 という大きな画像で、Three.js が使っている約半分の大きさに合わせて、品質は 30% です。それでも十分美しい画像です。
@END
@HTML
<script type="text/javascript" src="http://lightbox.in.coocan.jp/three/three.min57.js"></script><script type="text/javascript" src="http://lightbox.in.coocan.jp/three/OrbitControls.js"></script><script type="text/javascript" src="http://lightbox.in.coocan.jp/three/user_three.js"></script><div id="three_area" style='width:830px;height:400px;border: solid #000000 1px;'></div>
<script>
var img_url = "../threeimg/2272869030_1a8af0900c_o.jpg";
var mapping = new THREE.UVMapping(); // テクスチャの普通のデフォルト値
var texture = THREE.ImageUtils.loadTexture( img_url, mapping, function () {
var w = 830;
var h = 400;
// カメラ作成
USER.camera = new THREE.PerspectiveCamera( 70, w / h, 1, 10000 );
USER.camera.position.set( 0, 0, 1 );
// シーン作成
USER.scene = new THREE.Scene();
// パノラマ背景
var sg = new THREE.SphereGeometry( 500, 60, 40 );
var mbm = new THREE.MeshBasicMaterial( { map: texture, overdraw:true } );
var mesh = new THREE.Mesh( sg, mbm );
mesh.scale.x = -1;
USER.scene.add( mesh );
// レンダラー作成
USER.renderer = new THREE.CanvasRenderer();
USER.renderer.setSize( w, h );
// 表示エリア設定
document.getElementById("three_area").appendChild( USER.renderer.domElement );
// コントロール作成
USER.orbit();
USER.controls.autoRotate = true;
USER.controls.autoRotateSpeed = 0.5; //default 2.0
// アニメーション開始
USER.animate();
} );
</script>
@HEND
Photo Credit : http://www.flickr.com/photos/gadl/2272869030/《gadl》
http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view&no=406《WebGLでの表示》 |