|
|
@@ -10,6 +10,14 @@ import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
|
import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader.js';
|
|
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
|
|
|
export default {
|
|
|
+ props: {
|
|
|
+ info: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
scene: null,
|
|
|
@@ -42,28 +50,30 @@ export default {
|
|
|
var mesh = null;
|
|
|
// const axesHelper = new THREE.AxesHelper(50);
|
|
|
// scene.add(axesHelper);
|
|
|
- fbxLoader.load('https://zhirongip.oss-cn-hangzhou.aliyuncs.com/matilda/source/sketchfab_v002.fbx', fbx => {
|
|
|
- console.log(fbx);
|
|
|
- mesh = fbx;
|
|
|
- mesh.scale.multiplyScalar(0.45);
|
|
|
- // mesh.position.y = -40;
|
|
|
- console.log(mesh.size);
|
|
|
- mesh.traverse(o => {
|
|
|
- //将图片作为纹理加载
|
|
|
- let explosionTexture = new THREE.TextureLoader().load(
|
|
|
- 'https://zhirongip.oss-cn-hangzhou.aliyuncs.com/matilda/textures/color.2.1001.png'
|
|
|
- );
|
|
|
- //调整纹理图的方向
|
|
|
- explosionTexture.flipY = true;
|
|
|
- //将纹理图生成基础网格材质(MeshBasicMaterial)
|
|
|
- const material = new THREE.MeshBasicMaterial({
|
|
|
- map: explosionTexture
|
|
|
- });
|
|
|
- //给模型每部分上材质
|
|
|
- o.material = material;
|
|
|
- });
|
|
|
- scene.add(fbx);
|
|
|
- });
|
|
|
+ fbxLoader.load(
|
|
|
+ this.info.url || 'https://zhirongip.oss-cn-hangzhou.aliyuncs.com/matilda/source/sketchfab_v002.fbx',
|
|
|
+ fbx => {
|
|
|
+ console.log(fbx);
|
|
|
+ mesh = fbx;
|
|
|
+ mesh.scale.multiplyScalar(0.45);
|
|
|
+ // mesh.position.y = -40;
|
|
|
+ // mesh.traverse(o => {
|
|
|
+ // //将图片作为纹理加载
|
|
|
+ // let explosionTexture = new THREE.TextureLoader().load(
|
|
|
+ // 'https://zhirongip.oss-cn-hangzhou.aliyuncs.com/matilda/textures/color.2.1001.png'
|
|
|
+ // );
|
|
|
+ // //调整纹理图的方向
|
|
|
+ // explosionTexture.flipY = true;
|
|
|
+ // //将纹理图生成基础网格材质(MeshBasicMaterial)
|
|
|
+ // const material = new THREE.MeshBasicMaterial({
|
|
|
+ // map: explosionTexture
|
|
|
+ // });
|
|
|
+ // //给模型每部分上材质
|
|
|
+ // o.material = material;
|
|
|
+ // });
|
|
|
+ scene.add(fbx);
|
|
|
+ }
|
|
|
+ );
|
|
|
// const controls = new OrbitControls(camera, renderer.domElement);
|
|
|
// controls.enableDamping = true;
|
|
|
const clock = new THREE.Clock();
|