-g_OBJmtl

「-g_OBJmtl」の編集履歴(バックアップ)一覧はこちら

-g_OBJmtl」(2013/05/07 (火) 18:16:31) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#javascript(){{ <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/three_r58.min.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/MTLLoader.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/OBJMTLLoader.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/OrbitControls.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/Detector.js"></script> <script type="text/javascript"><!-- $(function(){ var sinit = function(){ // キャンバス幅・高さ var width = 320, height = 240; // シーン var scene = new THREE.Scene(); // Loadingテキスト // texture canvas var texCanvas = document.createElement('canvas'); texCanvas.width = width, texCanvas.height = height; var ctx = texCanvas.getContext('2d'); ctx.rect(0,0, width,height); ctx.fillStyle = "#000000"; ctx.fill(); ctx.fillStyle = "#ffffff"; ctx.font = "normal normal 50px sans-serif"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; ctx.fillText("Loading...", width/2,height/2, width); // texture var tex = new THREE.Texture( texCanvas ); tex.needsUpdate = true; // sprite var material = new THREE.SpriteMaterial( { map: tex, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft, opacity:0.5, color: 0xffffff } ); var textSprite = new THREE.Sprite( material ); textSprite.position.set( 0, 0, 0 ); textSprite.scale.set( texCanvas.width, texCanvas.height, 0 ); scene.add( textSprite ); // 床 var oneWidth = 60, oneHeight = 60, wUnits = 11, hUnits = 11; var groundGeo = new THREE.PlaneGeometry(oneWidth*wUnits, oneHeight*hUnits, wUnits, hUnits); for(var i=0, len = groundGeo.faces.length, f=-1; i<len; i++){ f = -1; if((i/wUnits | 0)%2==1){ f = ~f; } if((i%wUnits)%2==1){ f = ~f; } groundGeo.faces[i].materialIndex = f+1; } var ground = new THREE.Mesh( groundGeo, new THREE.MeshFaceMaterial([ new THREE.MeshBasicMaterial({color: 0x999999, wireframe:true }), new THREE.MeshBasicMaterial({color: 0x4d4d4d, wireframe:true }) ]) ); ground.rotation.x = -Math.PI/2; scene.add(ground); // ライト var light = new THREE.DirectionalLight( 0xffffff, 0.7 ); scene.add( light ); light.position.set(1,1,1).normalize(); // 環境光ライト var light2 = new THREE.AmbientLight( 0xffffff ); light2.color.multiplyScalar(0.7); scene.add( light2 ); // カメラ var camera = new THREE.PerspectiveCamera( 30, 320/240, 1, 10000 ); camera.position.set(25,143,76); camera.lookAt(new THREE.Vector3(0,123,0)); // レンダラ var renderer = new THREE.WebGLRenderer( { antialias: true } ); renderer.setSize( 320, 240 ); var container = $('#d0'); container.append( renderer.domElement ); renderer.render( scene, camera ); // カメラコントローラ controls = new THREE.OrbitControls( camera, container[0] ); controls.center.set(0,123,0); // 突貫工事 THREE.MTLLoader.loadTexture = function ( url, mapping, onLoad, onError ) { var isCompressed = /\.dds$/i.test( url ); if ( isCompressed ) { var texture = THREE.ImageUtils.loadCompressedTexture( url, mapping, onLoad, onError ); } else { var image = new Image(); var texture = new THREE.Texture( image, mapping ); var loader = new THREE.ImageLoader(); loader.addEventListener( 'load', function ( event ) { texture.image = THREE.MTLLoader.ensurePowerOfTwo_( event.content ); texture.needsUpdate = true; loading(); // ←突貫工事 if ( onLoad ) onLoad( texture ); } ); loader.addEventListener( 'error', function ( event ) { if ( onError ) onError( event.message ); } ); loader.crossOrigin = this.crossOrigin; loader.load( url, image ); } return texture; }; // モデル読み込み var OBJMtl; var loader = new THREE.OBJMTLLoader(); // コールバック自分で書く loader.addEventListener( 'load', function ( event ) { OBJMtl = event.content; OBJMtl.scale.multiplyScalar(0.75); loading(); }); // 読み込み開始 loader.load( '../../threejs?cmd=upload&act=open&pageid=101&file=wor.obj', '../../threejs?cmd=upload&act=open&pageid=101&file=wor.mtl' ); var loaded = 0; function loading(){ loaded++; if(loaded >= 2){ scene.add( OBJMtl ); scene.remove( textSprite ); renderer.render( scene, camera ); } } var flg = false; (function(){ flg = true; setTimeout(arguments.callee, 70); })(); // マウスが動いたイベント container.mousemove(function(e){ if(flg){ controls.update(); renderer.render( scene, camera ); flg = false; } }); }; if ( Detector.webgl ){ sinit(); }else{ $('#d0').html('<span style="color:red;">あなたが使用中のブラウザはWebGL非対応もしくはWebGLが有効になっていません。</span>'); } }); //--></script> }}
#javascript(){{ <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/three_r58.min.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/MTLLoader.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/OBJMTLLoader.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/OrbitControls.js"></script> <script type="text/javascript" src="http://cdn56.atwikiimg.com/threejs/pub/Detector.js"></script> <script type="text/javascript"><!-- $(function(){ var sinit = function(){ // キャンバス幅・高さ var width = 320, height = 240; // シーン var scene = new THREE.Scene(); // Loadingテキスト // texture canvas var texCanvas = document.createElement('canvas'); texCanvas.width = width, texCanvas.height = height; var ctx = texCanvas.getContext('2d'); ctx.rect(0,0, width,height); ctx.fillStyle = "#000000"; ctx.fill(); ctx.fillStyle = "#ffffff"; ctx.font = "normal normal 50px sans-serif"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; ctx.fillText("Loading...", width/2,height/2, width); // texture var tex = new THREE.Texture( texCanvas ); tex.needsUpdate = true; // sprite var material = new THREE.SpriteMaterial( { map: tex, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft, opacity:0.5, color: 0xffffff } ); var textSprite = new THREE.Sprite( material ); textSprite.position.set( 0, 0, 0 ); textSprite.scale.set( texCanvas.width, texCanvas.height, 0 ); scene.add( textSprite ); // 床 var oneWidth = 60, oneHeight = 60, wUnits = 11, hUnits = 11; var groundGeo = new THREE.PlaneGeometry(oneWidth*wUnits, oneHeight*hUnits, wUnits, hUnits); for(var i=0, len = groundGeo.faces.length, f=-1; i<len; i++){ f = -1; if((i/wUnits | 0)%2==1){ f = ~f; } if((i%wUnits)%2==1){ f = ~f; } groundGeo.faces[i].materialIndex = f+1; } var ground = new THREE.Mesh( groundGeo, new THREE.MeshFaceMaterial([ new THREE.MeshBasicMaterial({color: 0x999999, wireframe:true }), new THREE.MeshBasicMaterial({color: 0x4d4d4d, wireframe:true }) ]) ); ground.rotation.x = -Math.PI/2; scene.add(ground); // ライト var light = new THREE.DirectionalLight( 0xffffff, 0.7 ); scene.add( light ); light.position.set(1,1,1).normalize(); // 環境光ライト var light2 = new THREE.AmbientLight( 0xffffff ); light2.color.multiplyScalar(0.7); scene.add( light2 ); // カメラ var camera = new THREE.PerspectiveCamera( 30, 320/240, 1, 10000 ); camera.position.set(25,143,76); camera.lookAt(new THREE.Vector3(0,123,0)); // レンダラ var renderer = new THREE.WebGLRenderer( { antialias: true } ); renderer.setSize( 320, 240 ); var container = $('#d0'); container.append( renderer.domElement ); renderer.render( scene, camera ); // カメラコントローラ controls = new THREE.OrbitControls( camera, container[0] ); controls.center.set(0,123,0); // 読み込み突貫工事 THREE.MTLLoader.loadTexture = function ( url, mapping, onLoad, onError ) { var isCompressed = /\.dds$/i.test( url ); if ( isCompressed ) { var texture = THREE.ImageUtils.loadCompressedTexture( url, mapping, onLoad, onError ); } else { var image = new Image(); var texture = new THREE.Texture( image, mapping ); var loader = new THREE.ImageLoader(); loader.addEventListener( 'load', function ( event ) { texture.image = THREE.MTLLoader.ensurePowerOfTwo_( event.content ); texture.needsUpdate = true; loading(); // ←突貫工事 if ( onLoad ) onLoad( texture ); } ); loader.addEventListener( 'error', function ( event ) { if ( onError ) onError( event.message ); } ); loader.crossOrigin = this.crossOrigin; loader.load( url, image ); } return texture; }; // テクスチャ突貫工事 THREE.MTLLoader.ensurePowerOfTwo_ = function ( image ) { return image; }; // モデル読み込み var OBJMtl; var loader = new THREE.OBJMTLLoader(); // コールバック自分で書く loader.addEventListener( 'load', function ( event ) { OBJMtl = event.content; OBJMtl.scale.multiplyScalar(0.75); loading(); }); // 読み込み開始 loader.load( '../../threejs?cmd=upload&act=open&pageid=101&file=wor.obj', '../../threejs?cmd=upload&act=open&pageid=101&file=wor.mtl' ); var loaded = 0; function loading(){ loaded++; if(loaded >= 2){ scene.add( OBJMtl ); scene.remove( textSprite ); renderer.render( scene, camera ); } } var flg = false; (function(){ flg = true; setTimeout(arguments.callee, 70); })(); // マウスが動いたイベント container.mousemove(function(e){ if(flg){ controls.update(); renderer.render( scene, camera ); flg = false; } }); }; if ( Detector.webgl ){ sinit(); }else{ $('#d0').html('<span style="color:red;">あなたが使用中のブラウザはWebGL非対応もしくはWebGLが有効になっていません。</span>'); } }); //--></script> }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: