Browse Source

Removed VRMLoader. (#23414)

mrdoob 3 years ago
parent
commit
2af023a31f

+ 0 - 1
examples/files.json

@@ -120,7 +120,6 @@
 		"webgl_loader_texture_tga",
 		"webgl_loader_ttf",
 		"webgl_loader_vox",
-		"webgl_loader_vrm",
 		"webgl_loader_vrml",
 		"webgl_loader_vtk",
 		"webgl_loader_xyz",

+ 0 - 72
examples/js/loaders/VRMLoader.js

@@ -1,72 +0,0 @@
-( function () {
-
-	//
-	// VRM is based on glTF 2.0 and VRM extension is defined
-	// in top-level json.extensions.VRM
-
-	class VRMLoader extends THREE.Loader {
-
-		constructor( manager ) {
-
-			if ( THREE.GLTFLoader === undefined ) {
-
-				throw new Error( 'THREE.VRMLoader: Import THREE.GLTFLoader.' );
-
-			}
-
-			super( manager );
-			this.gltfLoader = new THREE.GLTFLoader( manager );
-
-		}
-
-		load( url, onLoad, onProgress, onError ) {
-
-			const scope = this;
-			this.gltfLoader.load( url, function ( gltf ) {
-
-				try {
-
-					scope.parse( gltf, onLoad );
-
-				} catch ( e ) {
-
-					if ( onError ) {
-
-						onError( e );
-
-					} else {
-
-						console.error( e );
-
-					}
-
-					scope.manager.itemError( url );
-
-				}
-
-			}, onProgress, onError );
-
-		}
-
-		setDRACOLoader( dracoLoader ) {
-
-			this.gltfLoader.setDRACOLoader( dracoLoader );
-			return this;
-
-		}
-
-		parse( gltf, onLoad ) {
-
-			// const gltfParser = gltf.parser;
-			// const gltfExtensions = gltf.userData.gltfExtensions || {};
-			// const vrmExtension = gltfExtensions.VRM || {};
-			// handle VRM Extension here
-			onLoad( gltf );
-
-		}
-
-	}
-
-	THREE.VRMLoader = VRMLoader;
-
-} )();

+ 0 - 78
examples/jsm/loaders/VRMLoader.js

@@ -1,78 +0,0 @@
-import {
-	Loader
-} from 'three';
-import { GLTFLoader } from '../loaders/GLTFLoader.js';
-
-// VRM Specification: https://dwango.github.io/vrm/vrm_spec/
-//
-// VRM is based on glTF 2.0 and VRM extension is defined
-// in top-level json.extensions.VRM
-
-class VRMLoader extends Loader {
-
-	constructor( manager ) {
-
-		if ( GLTFLoader === undefined ) {
-
-			throw new Error( 'THREE.VRMLoader: Import GLTFLoader.' );
-
-		}
-
-		super( manager );
-
-		this.gltfLoader = new GLTFLoader( manager );
-
-	}
-
-	load( url, onLoad, onProgress, onError ) {
-
-		const scope = this;
-
-		this.gltfLoader.load( url, function ( gltf ) {
-
-			try {
-
-				scope.parse( gltf, onLoad );
-
-			} catch ( e ) {
-
-				if ( onError ) {
-
-					onError( e );
-
-				} else {
-
-					console.error( e );
-
-				}
-
-				scope.manager.itemError( url );
-
-			}
-
-		}, onProgress, onError );
-
-	}
-
-	setDRACOLoader( dracoLoader ) {
-
-		this.gltfLoader.setDRACOLoader( dracoLoader );
-		return this;
-
-	}
-
-	parse( gltf, onLoad ) {
-
-		// const gltfParser = gltf.parser;
-		// const gltfExtensions = gltf.userData.gltfExtensions || {};
-		// const vrmExtension = gltfExtensions.VRM || {};
-
-		// handle VRM Extension here
-
-		onLoad( gltf );
-
-	}
-
-}
-
-export { VRMLoader };

BIN
examples/models/vrm/Alicia/AliciaSolid.vrm


+ 0 - 46
examples/models/vrm/Alicia/readme.txt

@@ -1,46 +0,0 @@
-————————————————————————
-ニコニ立体公式キャラクター「ニコニ立体ちゃん」(VRM版)
-http://3d.nicovideo.jp/alicia/
-version 1
-©dwango, inc. All rights reserved.
-————————————————————————
-
-
-この度は、ニコニ立体公式キャラクター「ニコニ立体ちゃん」をダウンロードいただきましてありがとうございます。
-
-◯ 内容物
-1. VRMファイル
-2. ニコニ立体ちゃん壁紙1種
-
-
-◯よくある質問
-* 「ニコニ立体ちゃん」と「アリシア・ソリッド」、正式名称はどちら?
-キャラクターの本名はアリシア・ソリッドですが、クレジット等での表記はニコニ立体ちゃんが正式名称となります。
-作品発表の際には「ニコニ立体ちゃん」タグをご活用ください。
-
-* ニコニ立体ちゃんを用いた、年齢制限のある二次創作物の公開は可能なのか?
-利用規約にある禁止事項に抵触しない限りにおいて可能です。
-
-
-◯ 利用規約抜粋
-必ず利用規約( http://3d.nicovideo.jp/alicia/rule.html )をご確認ください。
-利用規約の改訂などによって下記抜粋と利用規約の内容が異なる場合は利用規約が優先されます。
-
-* 非営利、営利に関わらず個人(同人サークルなど、法人を除く団体を含む)の利用が可能です。
-* 二次創作物について株式会社ドワンゴ(以下、当社)のクレジットを表記する必要はありません。
-* 改変物を配布することができます。
-* niconico内でキャラクターやモーションを利用した作品を投稿する場合は、コンテンツツリーの親作品にキャラクター( http://3d.nicovideo.jp/works/td14712 )を登録するよう努めるものとします。
-
-
-◯禁止事項
-* 第三者の知的財産権その他一切の権利及び名誉を侵害しないこと。
-* 当社(当社が提供するサービス等を含む)及び当社キャラクターの名誉・品位傷つける行為をしないこと。
-* 公序良俗に反する行為や目的、暴力的な表現、反社会的な行為や目的、特定の信条や宗教、政治的発言のため利用しないこと。
-* 当社の公式商品であるかのような誤解を招く利用をしないこと。
-* その他、当社が不適切と判断する行為に利用しないこと。
-
-
-◯ クレジット
-企画: 株式会社ドワンゴ
-キャラクターデザイン: 黒星紅白
-モデリング: 雨刻

+ 0 - 3
examples/models/vrm/LICENSE

@@ -1,3 +0,0 @@
-The files under this directory are NOT under MIT license, but other licenses.
-
-See readme in each directory for the detail.

BIN
examples/screenshots/webgl_loader_vrm.jpg


+ 0 - 146
examples/webgl_loader_vrm.html

@@ -1,146 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<title>three.js webgl - vrm loader</title>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
-		<link type="text/css" rel="stylesheet" href="main.css">
-	</head>
-
-	<body>
-		<div id="info">
-			<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> - VRMLoader<br />
-			Alicia by
-			<a href="https://3d.nicovideo.jp/works/td32797" target="_blank" rel="noopener">Dwango</a> /
-			<a href="http://3d.nicovideo.jp/alicia/rule.html">License</a><br />
-		</div>
-
-		<!-- Import maps polyfill -->
-		<!-- Remove this when import maps will be widely supported -->
-		<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
-
-		<script type="importmap">
-			{
-				"imports": {
-					"three": "../build/three.module.js"
-				}
-			}
-		</script>
-
-		<script type="module">
-
-			import * as THREE from 'three';
-
-			import Stats from './jsm/libs/stats.module.js';
-
-			import { OrbitControls } from './jsm/controls/OrbitControls.js';
-			import { VRMLoader } from './jsm/loaders/VRMLoader.js';
-
-			let container, stats, controls;
-			let camera, scene, renderer, light;
-
-			init();
-			animate();
-
-			function init() {
-
-				container = document.createElement( 'div' );
-				document.body.appendChild( container );
-
-				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.25, 20 );
-				camera.position.set( 0, 1.6, - 2.2 );
-
-				scene = new THREE.Scene();
-
-				light = new THREE.HemisphereLight( 0xbbbbff, 0x444422 );
-				light.position.set( 0, 1, 0 );
-				scene.add( light );
-
-				// model
-				const loader = new VRMLoader();
-				loader.load( 'models/vrm/Alicia/AliciaSolid.vrm', function ( vrm ) {
-
-					// VRMLoader doesn't support VRM Unlit extension yet so
-					// converting all materials to THREE.MeshBasicMaterial here as workaround so far.
-					vrm.scene.traverse( function ( object ) {
-
-						if ( object.material ) {
-
-							if ( Array.isArray( object.material ) ) {
-
-								for ( let i = 0, il = object.material.length; i < il; i ++ ) {
-
-									const material = new THREE.MeshBasicMaterial();
-									THREE.Material.prototype.copy.call( material, object.material[ i ] );
-									material.color.copy( object.material[ i ].color );
-									material.map = object.material[ i ].map;
-									object.material[ i ] = material;
-
-								}
-
-							} else {
-
-								const material = new THREE.MeshBasicMaterial();
-								THREE.Material.prototype.copy.call( material, object.material );
-								material.color.copy( object.material.color );
-								material.map = object.material.map;
-								object.material = material;
-
-							}
-
-						}
-
-					} );
-
-					scene.add( vrm.scene );
-
-				} );
-
-				renderer = new THREE.WebGLRenderer( { antialias: true } );
-				renderer.setPixelRatio( window.devicePixelRatio );
-				renderer.setSize( window.innerWidth, window.innerHeight );
-				renderer.outputEncoding = THREE.sRGBEncoding;
-				container.appendChild( renderer.domElement );
-
-				controls = new OrbitControls( camera, renderer.domElement );
-				controls.minDistance = 1;
-				controls.maxDistance = 5;
-				controls.enableDamping = true;
-				controls.target.set( 0, 0.9, 0 );
-				controls.update();
-
-				window.addEventListener( 'resize', onWindowResize );
-
-				// stats
-				stats = new Stats();
-				container.appendChild( stats.dom );
-
-			}
-
-			function onWindowResize() {
-
-				camera.aspect = window.innerWidth / window.innerHeight;
-				camera.updateProjectionMatrix();
-
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-			}
-
-			//
-
-			function animate() {
-
-				requestAnimationFrame( animate );
-
-				controls.update(); // to support damping
-
-				renderer.render( scene, camera );
-
-				stats.update();
-
-			}
-
-		</script>
-
-	</body>
-</html>