ソースを参照

Switched model

Max Godefroy (Clyde) 4 年 前
コミット
4dcfd4d531

BIN
examples/models/stl/binary/roman_soldier.stl


+ 14 - 9
examples/webgl_modifier_edge_spliter.html

@@ -13,7 +13,7 @@
 			import * as THREE from '../build/three.module.js';
 
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
-			import { STLLoader } from "./jsm/loaders/STLLoader.js";
+			import { OBJLoader } from "./jsm/loaders/OBJLoader.js";
 			import { BufferGeometryUtils } from "./jsm/utils/BufferGeometryUtils.js";
 			import { EdgeSplitModifier } from "./jsm/modifiers/EdgeSplitModifier.js";
 
@@ -25,7 +25,7 @@
 			const params = {
 				smoothShading: false,
 				edgeSplit: false,
-				cutOffAngle: 30,
+				cutOffAngle: 20,
 			};
 
 			init();
@@ -59,20 +59,25 @@
 
 				scene.add( new THREE.HemisphereLight( 0xffffff, 0x444444 ) );
 
-				new STLLoader().load(
-					'./models/stl/binary/roman_soldier.stl',
-					function ( stlGeometry ) {
+				new OBJLoader().load(
+					'./models/obj/cerberus/cerberus.obj',
+					function ( group ) {
+
+						// Retrieve Cerberus vertex positions only
+						const modelGeometry = group.children[ 0 ].geometry;
+						modelGeometry.deleteAttribute( 'normal' );
+						modelGeometry.deleteAttribute( 'uv' );
 
 						modifier = new EdgeSplitModifier();
-						baseGeometry = stlGeometry;
+						baseGeometry = modelGeometry;
 
 						console.log( "Loaded" );
 
 						mesh = new THREE.Mesh( getGeometry(), new THREE.MeshStandardMaterial() );
 						mesh.material.flatShading = ! params.smoothShading;
-						mesh.rotateX( - Math.PI / 2 );
-						mesh.scale.set( 0.1, 0.1, 0.1 );
-						mesh.translateZ( - 1.5 );
+						mesh.rotateY( - Math.PI / 2 );
+						mesh.scale.set( 3.5, 3.5, 3.5 );
+						mesh.translateZ( 1.5 );
 						scene.add( mesh );
 
 						render();