国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

threejs加載.Fbx .OBJ 3D模型文件

這篇具有很好參考價值的文章主要介紹了threejs加載.Fbx .OBJ 3D模型文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

threejs加載.Fbx .OBJ 3D模型文件

文件下載與啟動

在threejs官網(wǎng)下載threejs的文件,可以選擇直接下載,也可以跳轉(zhuǎn)到GitHub拉取

threejs加載.Fbx .OBJ 3D模型文件

拉取下來的完整文件就是這個樣子

threejs加載.Fbx .OBJ 3D模型文件

拉取成功后我們在本地安裝啟動服務,這樣就能很快速的查看threejs的各種例子了

npm i -g http-server
http-server

可以先看看官網(wǎng)里的例子,你想要的東西官方里面都有

開始開發(fā)

后期在開發(fā)的時候需要用到build和jsm文件,我們可以單獨放進demo里這樣比較方便我們使用

threejs加載.Fbx .OBJ 3D模型文件

下面我們直接上代碼

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>FBXLoader3D模型展示</title>
    <style>
        body {
            margin: 0;
        }
    </style>
</head>

<body>
    <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 { FBXLoader } from './jsm/loaders/FBXLoader.js'

        var container, stats, controls, camera, scene, renderer, light;

        init();
        animate();
        function init() {
            container = document.createElement('div');
            document.body.appendChild(container);
            camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, .2, 1000);
            camera.position.set(0, 1.6, 0);
            scene = new THREE.Scene();
            scene.background = new THREE.Color(0xa0a0a0);
            scene.fog = new THREE.Fog(0xa0a0a0, 200, 1000);
            light = new THREE.HemisphereLight(0xffffff, 0x444444);
            light.position.set(0, 20, 0);
            scene.add(light);
            light = new THREE.DirectionalLight(0xffffff);
            light.position.set(0, 20, 10);
            light.castShadow = true;
            scene.add(light);
            var grid = new THREE.GridHelper(5, 20, 0x000000, 0x000000);
            grid.material.opacity = 0.2;
            grid.material.transparent = true;
            scene.add(grid);
            // model

            var loader = new FBXLoader();
            loader.load('fbx/demo1.fbx', function (object) {
                undefined
                object.traverse(function (child) {
                    undefined
                    if (child.isMesh) {
                        undefined
                        child.castShadow = true;
                        child.receiveShadow = true;
                    }
                });
                object.rotation.y = Math.PI / 2;
                //object.rotation.x = -Math.PI/2 - Math.PI/12;
                object.position.set(0, -0.15, 0.3);
                console.log(object.position);
                object.scale.set(.003, .003, .003);
                scene.add(object);
            });

            renderer = new THREE.WebGLRenderer({ antialias: true });
            renderer.setPixelRatio(window.devicePixelRatio);
            renderer.setSize(window.innerWidth, window.innerHeight);
            renderer.shadowMap.enabled = true;
            container.appendChild(renderer.domElement);
            controls = new OrbitControls(camera, renderer.domElement);
            controls.target.set(0, 0, 0);
            controls.update();
            window.addEventListener('resize', onWindowResize, false);

            // stats
            stats = new Stats();
            container.appendChild(stats.dom);
        }

        function onWindowResize() {
            undefined
            camera.aspect = window.innerWidth / window.innerHeight;
            camera.updateProjectionMatrix();
            renderer.setSize(window.innerWidth, window.innerHeight);
        }

        //

        function animate() {
            undefined
            requestAnimationFrame(animate);
            renderer.render(scene, camera);
            stats.update();
        }
    </script>
</body>
</html>

會不會寫不重要,只要你會改就能出來,實在不行,就去看官網(wǎng)里的例子,邊學邊做,也會讓你快速學會的


補充一下我犯的錯誤與解決方式

像我要加載.fbx模型文件, 那就加載FBXLoader.js文。(.obj模型文件, 那就加載OBJLoader.js文件)

然后是OrbitControls.js 接收的camera參數(shù)

我們在引入文件的時候不能直接引入,會出現(xiàn)引入失敗

threejs加載.Fbx .OBJ 3D模型文件

最好的引入方法是(看的官網(wǎng)的例子)

threejs加載.Fbx .OBJ 3D模型文件

想看源碼的你可以打開FBXLoader.js文件看一下

最后的效果圖就是這樣的

threejs加載.Fbx .OBJ 3D模型文件

運行是沒有問題的,細節(jié)部分在不斷優(yōu)化。文章來源地址http://www.zghlxwxcb.cn/news/detail-404588.html

到了這里,關(guān)于threejs加載.Fbx .OBJ 3D模型文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • vue-3d-model js在線預覽obj,dae,ply,json,fbx,stl,gltf格式的3D文件

    vue-3d-model js在線預覽obj,dae,ply,json,fbx,stl,gltf格式的3D文件

    在線預覽地址vue-3d-model js在線預覽obj,dae,ply,json,fbx,stl,gltf格式的3D文件 效果: 例子使用了.obj 3D文件格式,自帶了截圖和旋轉(zhuǎn)功能,其他的3D格式只需要切換一個vue的模板標簽即可。具體標簽格式如下: 可支持obj,dae,ply,json,fbx,stl,gltf等格式的3D文件格式顯示。只需要單頁面html即

    2024年02月12日
    瀏覽(26)
  • qt加載obj格式的3D模型

    在 Qt 中加載 obj 格式的 3D 模型可以使用 Qt 3D 模塊。 首先,你需要在你的工程文件中包含 Qt 3D 模塊,方法是在工程文件的頂部添加以下行: 然后,在你的代碼中包含 Qt 3D 的頭文件: 接下來,你可以使用 Qt3DRender::QObjLoader 類來加載 obj 格式的 3D 模型。首先,創(chuàng)建一個 Qt3DRen

    2024年02月16日
    瀏覽(26)
  • three.js加載3D模型,在網(wǎng)頁上展示3D模型(.glb.gltf.fbx格式)

    three.js加載3D模型,在網(wǎng)頁上展示3D模型(.glb.gltf.fbx格式)

    Three.js是一款開源的主流3D繪圖JS引擎,簡單點,可以將它理解為three+js就可以了,three表示3D,js表示JavaScript的意思。 結(jié)構(gòu) ?.glb.gltf文件最好放在服務器上 放在本地容易報找不到的錯?.fbx格式文件可以在本地用3d看圖(win10自帶)打開另存為.glb格式 index.html代碼 js代碼 項目案例

    2024年02月11日
    瀏覽(101)
  • ThreeJS-3D教學八-OBJLoader模型加載+動畫

    ThreeJS-3D教學八-OBJLoader模型加載+動畫

    先看效果圖: 本篇給大家介紹下模型加載的知識,用到了OBJLoader對應的模型,為了增加趣味性,花了些時間,利用new THREE.Points獲取到模型上的點,做了一個動畫效果,其實就是操作 Y軸上的點,先降低上0,然后再還原,代碼如下: 如果有同學從我第一篇文章開始學到現(xiàn)在,

    2024年04月24日
    瀏覽(21)
  • uniapp通過renderjs加載3D模型,支持FBX、GLB和GLTF模型,模型可自動適應。

    n-text-loading是我的自定義loading組件,可以自行替換 id是threeView是模型顯示的位置, props里面的url是模型鏈接,cameraZ是相機位置,默認100,一般不需要改,有些z軸很長的模型旋轉(zhuǎn)的時候會有一部分相機看不到這個時候就需要調(diào)整這個值了,這兩個要從后臺上傳。 :prop=“url”,

    2024年02月14日
    瀏覽(19)
  • 推薦:vue-3d-loader支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json,并支持同一個場景導入多個不同3D模型,支持mtl材質(zhì)以及jpg/png等圖片紋理

    推薦:vue-3d-loader支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json,并支持同一個場景導入多個不同3D模型,支持mtl材質(zhì)以及jpg/png等圖片紋理

    vue-3d-loader是vueJS + threeJS整合的一個3d展示組件。 支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json,并支持同一個場景導入多個不同3D模型,支持mtl材質(zhì)以及jpg/png等圖片紋理 vue3請安裝 2.0.0 及以上版本?

    2024年02月10日
    瀏覽(33)
  • 3dmax模型完美轉(zhuǎn)glb模型,gltf格式模型轉(zhuǎn)fbx格式轉(zhuǎn)obj格式

    3dmax模型完美轉(zhuǎn)glb模型,gltf格式模型轉(zhuǎn)fbx格式轉(zhuǎn)obj格式

    現(xiàn)在好多模型都是3dmax模型,但是客戶要求是glb或者gltf模型 這個時候好多人直接導出glb模型,是沒有顏色貼圖的,這樣的 這個時候是不能用的,怎么辦,咱們要回到3dmax,把VR材質(zhì)一個個重新上普通材質(zhì) 當然也可以用插件一鍵轉(zhuǎn)換 沒有插件可以聯(lián)系QQ 424081801也可以制作glb模

    2024年02月12日
    瀏覽(34)
  • 【瑞模網(wǎng)】Cesium 模型轉(zhuǎn)換(obj max fbx轉(zhuǎn)gltf/3dtiles)

    【瑞模網(wǎng)】Cesium 模型轉(zhuǎn)換(obj max fbx轉(zhuǎn)gltf/3dtiles)

    這三種都是3dmax支持的格式,可以統(tǒng)一將.fbx和.max轉(zhuǎn)化為.obj格式,然后通過obj2gltf轉(zhuǎn)為glb或者gltf,其中g(shù)ltf是比glb的模型要大一點;或者通過ceisumlab等工具將.obj處理成3dtiles,當然3dtiles是用于大場景居多。 .obj .max .fbx類型的模型轉(zhuǎn)換為gltf/glb,使用obj2gltf 以下舉例講述下.max的處

    2024年02月11日
    瀏覽(83)
  • [visionOS] [Apple Vision Pro] 3D模型文件格式轉(zhuǎn)換:obj轉(zhuǎn)usdz

    1,先要安裝好Python3.7 【必須是Python3.7.x版本】 到Python官方去下載macOS版的Python3.7.x安裝包 Python Releases for macOS | Python.org 要注意找一下,有些 3.7.x版本沒有macOS安裝包, 這里直接給出其中兩個可以下載的 Python 3.7.8rc1 - June 17, 2020 Download?macOS 64-bit installer Python 3.7.9 - Aug. 17, 2020

    2024年02月16日
    瀏覽(18)
  • Panda3d如何獲取到可用的模型?Maya、3D Max、OBJ等3D格式轉(zhuǎn)換為egg、gltf文件

    Panda3d如何獲取到可用的模型?Maya、3D Max、OBJ等3D格式轉(zhuǎn)換為egg、gltf文件

    ? 使用Panda3d進行3D環(huán)境建模也有一段時間了,真的是被折磨的頭禿。。。不過也不得不說,Panda3D也確實是一個比較優(yōu)秀的3D游戲引擎,還是能滿足你的大部分需要的。 ? 如果你在深入使用Panda3d后,我相信有個問題那絕對是讓人頭大的,那就是模型問題。對于沒有學過3D建模

    2024年02月05日
    瀏覽(52)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包