|
@@ -15,22 +15,20 @@
|
|
|
<a href="http://3d.nicovideo.jp/alicia/rule.html">License</a><br />
|
|
|
</div>
|
|
|
|
|
|
- <script src="../build/three.js"></script>
|
|
|
+ <script type="module">
|
|
|
+ import {
|
|
|
+ HemisphereLight,
|
|
|
+ Material,
|
|
|
+ MeshBasicMaterial,
|
|
|
+ PerspectiveCamera,
|
|
|
+ Scene,
|
|
|
+ WebGLRenderer,
|
|
|
+ } from "../build/three.module.js";
|
|
|
|
|
|
- <script src="js/controls/OrbitControls.js"></script>
|
|
|
- <script src="js/loaders/GLTFLoader.js"></script>
|
|
|
- <script src="js/loaders/VRMLoader.js"></script>
|
|
|
+ import Stats from './jsm/libs/stats.module.js';
|
|
|
|
|
|
- <script src="js/WebGL.js"></script>
|
|
|
- <script src="js/libs/stats.min.js"></script>
|
|
|
-
|
|
|
- <script>
|
|
|
-
|
|
|
- if ( WEBGL.isWebGLAvailable() === false ) {
|
|
|
-
|
|
|
- document.body.appendChild( WEBGL.getWebGLErrorMessage() );
|
|
|
-
|
|
|
- }
|
|
|
+ import { OrbitControls } from './jsm/controls/OrbitControls.js';
|
|
|
+ import { VRMLoader } from './jsm/loaders/VRMLoader.js';
|
|
|
|
|
|
var container, stats, controls;
|
|
|
var camera, scene, renderer, light;
|
|
@@ -43,17 +41,17 @@
|
|
|
container = document.createElement( 'div' );
|
|
|
document.body.appendChild( container );
|
|
|
|
|
|
- camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.25, 20 );
|
|
|
+ camera = new PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.25, 20 );
|
|
|
camera.position.set( 0, 1.6, - 2.2 );
|
|
|
|
|
|
- scene = new THREE.Scene();
|
|
|
+ scene = new Scene();
|
|
|
|
|
|
- light = new THREE.HemisphereLight( 0xbbbbff, 0x444422 );
|
|
|
+ light = new HemisphereLight( 0xbbbbff, 0x444422 );
|
|
|
light.position.set( 0, 1, 0 );
|
|
|
scene.add( light );
|
|
|
|
|
|
// model
|
|
|
- var loader = new THREE.VRMLoader();
|
|
|
+ var loader = new VRMLoader();
|
|
|
loader.load( 'models/vrm/Alicia/AliciaSolid.vrm', function ( vrm ) {
|
|
|
|
|
|
// VRMLoader doesn't support VRM Unlit extension yet so
|
|
@@ -66,8 +64,8 @@
|
|
|
|
|
|
for ( var i = 0, il = object.material.length; i < il; i ++ ) {
|
|
|
|
|
|
- var material = new THREE.MeshBasicMaterial();
|
|
|
- THREE.Material.prototype.copy.call( material, object.material[ i ] );
|
|
|
+ var material = new MeshBasicMaterial();
|
|
|
+ Material.prototype.copy.call( material, object.material[ i ] );
|
|
|
material.color.copy( object.material[ i ].color );
|
|
|
material.map = object.material[ i ].map;
|
|
|
material.lights = false;
|
|
@@ -80,8 +78,8 @@
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- var material = new THREE.MeshBasicMaterial();
|
|
|
- THREE.Material.prototype.copy.call( material, object.material );
|
|
|
+ var material = new MeshBasicMaterial();
|
|
|
+ Material.prototype.copy.call( material, object.material );
|
|
|
material.color.copy( object.material.color );
|
|
|
material.map = object.material.map;
|
|
|
material.lights = false;
|
|
@@ -100,13 +98,13 @@
|
|
|
|
|
|
} );
|
|
|
|
|
|
- renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
|
+ renderer = new WebGLRenderer( { antialias: true } );
|
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|
|
|
renderer.setSize( window.innerWidth, window.innerHeight );
|
|
|
renderer.gammaOutput = true;
|
|
|
container.appendChild( renderer.domElement );
|
|
|
|
|
|
- controls = new THREE.OrbitControls( camera, renderer.domElement );
|
|
|
+ controls = new OrbitControls( camera, renderer.domElement );
|
|
|
controls.target.set( 0, 0.9, 0 );
|
|
|
controls.update();
|
|
|
|