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

three.js實現(xiàn)3D室內全景看房

這篇具有很好參考價值的文章主要介紹了three.js實現(xiàn)3D室內全景看房。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

首先我們先搭建一個項目,我選擇使用vite來進行項目的搭建,執(zhí)行命令如下:

yarn create vite 項目名稱

這樣一個基本的項目就搭建成功了,目錄如下所示

three.js實現(xiàn)3D室內全景看房,前端,vue.js,typescript,前端

然后,下載一下three.js工具,執(zhí)行如下命令

npm i three

頁面中引入

import * as THREE from "three";

先搭建一個立體圖形,并畫出輔助線,如下所示

three.js實現(xiàn)3D室內全景看房,前端,vue.js,typescript,前端

?實現(xiàn)代碼如下:

import * as THREE from "three";
import { useEffect} from "react";
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";


function App() {


  useEffect(() => {
    const camera = new THREE.PerspectiveCamera(
      70,
      window.innerWidth / window.innerHeight,
      0.01,
      10
    );
    camera.position.z = 1;

    const scene = new THREE.Scene();


    const geometry = new THREE.BoxGeometry(0.4,0.4,0.4);
    const material = new THREE.MeshNormalMaterial();

    const mesh = new THREE.Mesh( geometry, material );

    // 輔助軸畫線
    const ax = new THREE.AxesHelper();
    scene.add(ax);

    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setAnimationLoop(animation);
    document.body.appendChild(renderer.domElement);

    // animation

    function animation(time) {
      // 可以進行旋轉
      // mesh.rotation.x = time / 2000;
      // mesh.rotation.y = time / 1000;

      renderer.render(scene, camera);
    }

    new OrbitControls(camera, renderer.domElement);

  }, []);

  return <div className="App"></div>;
}

export default App;

接著,給我們的立體圖形中添加照片,實現(xiàn)如下效果

three.js實現(xiàn)3D室內全景看房,前端,vue.js,typescript,前端

這是從上面看的俯視圖,它可以進行一個旋轉

實現(xiàn)代碼如下:

import * as THREE from "three";
import { useEffect } from "react";
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
import back from '../src/img/back.png'
import bottom from '../src/img/bottom.png'
import front from '../src/img/front.png'
import left from '../src/img/left.png'
import right from '../src/img/right.png'
import top from '../src/img/top.png'

function App() {


  const loadTextrue=(url)=>{
    const loader = new THREE.TextureLoader()
    const texture=loader.load(url)
    const material = new THREE.MeshBasicMaterial( {
       map: texture,
       side:THREE.DoubleSide,
      } );
    return material
  }

  useEffect(() => {
    const camera = new THREE.PerspectiveCamera(
      70,
      window.innerWidth / window.innerHeight,
      0.01,
      10
    );
    camera.position.z = 1;

    const scene = new THREE.Scene();


    const arr=[
      loadTextrue(back),
      loadTextrue(front),
      loadTextrue(top),
      loadTextrue(bottom),
      loadTextrue(left),
      loadTextrue(right),
    ]
    const geometry = new THREE.BoxGeometry(4,4,4);


    const mesh = new THREE.Mesh(geometry,arr);
    scene.add(mesh);

    // 輔助軸畫線
    // const ax = new THREE.AxesHelper();
    // scene.add(ax);

    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setAnimationLoop(animation);
    document.body.appendChild(renderer.domElement);

    // animation

    function animation(time) {
      // 可以進行旋轉
      // mesh.rotation.x = time / 2000;
      // mesh.rotation.y = time / 1000;

      renderer.render(scene, camera);
    }

    new OrbitControls(camera, renderer.domElement);

  }, []);

  return <div className="App"></div>;
}

export default App;

需要注意的是:圖片一定要按照順序來,六方體順序如下:前后,上下,左右

圖片需要在項目中下載,如果有需要的朋友可以私聊發(fā)代碼

由于最近私信的小伙伴比較多,再加上最近比較忙,所以就把項目上傳到了百度網盤,有需要的可以下載解壓后查看代碼

鏈接:https://pan.baidu.com/s/1-ykuudmi_kyW-xPYK8iCiw?pwd=flzx?
提取碼:flzx文章來源地址http://www.zghlxwxcb.cn/news/detail-527314.html

到了這里,關于three.js實現(xiàn)3D室內全景看房的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • three.js實現(xiàn)vr全景圖(vue)

    three.js實現(xiàn)vr全景圖(vue)

    方法: 可以利用Threejs中的立方體或者球體實現(xiàn)全景圖功能,把立方體或球體當成天空盒子,將無縫銜接的圖片貼上,看起來就像在一個場景中,相機一般放置在中央。 three.js中文網 1、立方體實現(xiàn) 立方體6個面要貼上6個方向的圖片,這6個圖片如下所示: 實現(xiàn)代碼如下: 圖片

    2024年02月12日
    瀏覽(20)
  • three.js實現(xiàn)VR看房自由

    ? ? ? ?在很多看房軟件,例如貝殼看房、VR博物館或者VR展廳等等,為了更加真實的展示產品或者場景的特色,通常會通過一些VR或者全景圖的方式,給用戶帶來沉浸式的體驗,給視覺上帶來比較震撼的效果,再加上一些動感的音樂,仿佛讓人深陷其中,無法自拔。假的,因

    2024年01月18日
    瀏覽(23)
  • three.js入門篇8 之 實現(xiàn)VR看房

    three.js入門篇8 之 實現(xiàn)VR看房

    vue create vr360-vue3 yarn add three code 效果 code 效果

    2024年02月06日
    瀏覽(19)
  • Three.js 實戰(zhàn)【1】—— 3D全景視圖開發(fā)

    Three.js 實戰(zhàn)【1】—— 3D全景視圖開發(fā)

    在現(xiàn)代開發(fā)過程當中,3D開發(fā)是越來越不可或缺的一部門,在前面的文章當中簡單的說明了一些threeJs的基礎,從這里開始,我們將對ThreeJs整體進行一定的應用。 我們先看一下這篇文章主要要實現(xiàn)的一個demo效果,現(xiàn)如今在第三方租房、買房App、或者百度、高德地圖上會出現(xiàn)這

    2024年02月12日
    瀏覽(23)
  • web 3d場景構建+three.js+室內圍墻,倉庫,樓梯,貨架模型等,第一人稱進入場景案例

    web 3d場景構建+three.js+室內圍墻,倉庫,樓梯,貨架模型等,第一人稱進入場景案例

    ? 翻到了之前的一個案例,基于three.js做的倉庫布局模擬,地圖元素除了大模型外,其他都是通過JSON數(shù)據(jù)解析動態(tài)生成的,例如墻體,柱子門口,地標等,集成了第一人稱的插件可以第一人稱進入場景有需要的可以下載看看,對想入門的朋友應該有一些參考價值。 /** ? ?*創(chuàng)

    2024年02月10日
    瀏覽(21)
  • vue3結合three.js實現(xiàn)3D帶有交互的動畫

    three.js引入 安裝軌道控件插件: 安裝渲染器插件: vue文件中引用: 在頁面中創(chuàng)建場景 創(chuàng)建一個透視相機 初始化渲染器 初始動畫混合器 參數(shù):rootObject 混合器播放的動畫所屬的對象。就是包含動畫模型的場景對象。 常用參數(shù)和屬性: .time 全局的混合器時間。 .clipAction(Ani

    2024年02月04日
    瀏覽(29)
  • three.js實現(xiàn)vr全景圖

    three.js實現(xiàn)vr全景圖

    方法: 可以利用Threejs中的立方體或者球體實現(xiàn)全景圖功能,把立方體或球體當成天空盒子,將無縫銜接的圖片貼上,看起來就像在一個場景中,相機一般放置在中央。 three.js中文網 1、立方體實現(xiàn) 立方體6個面要貼上6個方向的圖片,這6個圖片如下所示: 實現(xiàn)代碼如下: 圖片

    2024年02月14日
    瀏覽(30)
  • vue2+three.js+blender(實現(xiàn)3d 模型引入并可點擊效果)

    vue2+three.js+blender(實現(xiàn)3d 模型引入并可點擊效果)

    2023.9.13今天我學習了如何把3d建模里面的模型引入到vue中,并可以實現(xiàn)拖動,點擊的效果: 首先安裝: npm install three 相關代碼如下: ?如果沒有圖片可以去 Three.js--》建模軟件如何加載外部3D模型?_threejs加載3d模型_亦世凡華、的博客-CSDN博客

    2024年02月03日
    瀏覽(98)
  • AR室內導航-Three.js

    AR室內導航-Three.js

    如有不明白的可以加QQ:2354528292;wx: aichitudousien 更多教學視頻請訪問:https://space.bilibili.com/236087412 源碼獲?。篽ttps://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.3c3a645ebB8H6oft=tid=714574529746 這一次的AR室內導航是使用蜂鳥云地圖加上three.js做的,具備室內樓層切換,2D/3D模型切換,指北

    2023年04月08日
    瀏覽(19)
  • 【案例】3D地球(vue+three.js)

    【案例】3D地球(vue+three.js)

    需要下載插件 有人找不到合適的地球平面圖的話,可直接地球平面圖

    2024年02月06日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包