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

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

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

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

初始化項目

  • vue create vr360-vue3
  • yarn add three

three.js 立方體實現(xiàn)VR看房

code

<template>
  <div class="container" ref="container"></div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import * as THREE from "three"
// 導(dǎo)入軌道控制器 - 控制物體的左右上下移動( 可以設(shè)置xyz軸 )
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"
// 初始化場景
const scene = new THREE.Scene()
// 初始化相機(jī)
const camera = new THREE.PerspectiveCamera(75,window.innerWidth/ window.innerHeight,0.1,1000)
// 設(shè)置相機(jī)位置 x y z
camera.position.set(0,0,10) 
// 把相機(jī)添加到場景之中
scene.add( camera );

// 立方體
const geometry = new THREE.BoxGeometry( 40, 40, 40)
// const materials = new THREE.MeshBasicMaterial({color:0x00ff00})
// const mesh = new THREE.Mesh(geometry,materials)
// mesh.castShadow = true; // 設(shè)置物體投影陰影
// scene.add(mesh)

// 立方體紋理加載
let arr = ['home1_left','home1_right','home1_top','home1_bottom','home1_front','home1_back'];
let boxMaterials = []
arr.forEach(item=>{
  const texttrue = new THREE.TextureLoader().load(`./img/living/${item}.jpg` ) // 紋理貼紙
  // if ( item === 'home1_top' || item === 'home1_bottom' ) {
  //   texttrue.rotation = Math.PI;
  //   texttrue.center = new THREE.Vector2(0.5,0.5) // 旋轉(zhuǎn)中心
  //     // 基礎(chǔ)材質(zhì)
  //   boxMaterials.push(
  //     new THREE.MeshBasicMaterial({
  //       color:'#ffff00',
  //       map:texttrue
  //     })
  //   )
  // } else {
  //     // 基礎(chǔ)材質(zhì)
    boxMaterials.push(
      new THREE.MeshBasicMaterial({
        color:'#ffff00',
        map:texttrue
      })
    )
  // }
})
const mesh = new THREE.Mesh(geometry,boxMaterials)
mesh.geometry.scale(1,1,-1) // 進(jìn)入內(nèi)部
scene.add(mesh)


// 設(shè)置渲染器
const renderer = new THREE.WebGL1Renderer()
// 設(shè)置渲染的尺寸大小
renderer.setSize(window.innerWidth,window.innerHeight)

// 創(chuàng)建軌道控制器
const controls = new OrbitControls(camera,renderer.domElement)
// 06-1:添加坐標(biāo)軸輔助器
// const axesHelper = new THREE.AxesHelper( 5 );
// scene.add( axesHelper );

// 渲染函數(shù) - 每一幀渲染一次
function render() {
  // 渲染下一幀 的時候 會調(diào)用 animate 函數(shù)
	requestAnimationFrame( render );
	renderer.render( scene, camera );
}

// 將webgl渲染的canvas內(nèi)容添加到div上
const container = ref(null)
// dom節(jié)點掛載之后 渲染dom節(jié)點
onMounted(()=>{
  container.value.appendChild(renderer.domElement)
  // 設(shè)置控制器阻尼,讓控制器更具有真是效果
  controls.enableDamping = true
  render()
})



</script>

<style lang="scss" scoped>
* {
  padding:0;
  margin: 0;
}
.container {
  height:100;
  width:100%;
  background:'#f0f0f0'
}
</style>

效果

threejs vr看房,three.js,vr,javascript,開發(fā)語言

three.js 球體HDR實現(xiàn)VR看房

code

<template>
  <div class="container" ref="container"></div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import * as THREE from "three"
// 導(dǎo)入軌道控制器 - 控制物體的左右上下移動( 可以設(shè)置xyz軸 )
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"
// 初始化場景
const scene = new THREE.Scene()
// 初始化相機(jī)
const camera = new THREE.PerspectiveCamera(75,window.innerWidth/ window.innerHeight,0.1,1000)
// 設(shè)置相機(jī)位置 x y z
camera.position.set(0,0,10) 
// 把相機(jī)添加到場景之中
scene.add( camera );

// 球體
const geometry = new THREE.SphereGeometry(10,40,40)
import {RGBELoader} from 'three/examples/jsm/loaders/RGBELoader'
// 設(shè)置hdr環(huán)境圖
const rgbeLoader = new RGBELoader()
rgbeLoader.load("./img/hdr/001.hdr",(texture)=>{
  const materials = new THREE.MeshBasicMaterial({
    map:texture,
    color:'#ffff00',
  })
  const sphere = new THREE.Mesh(geometry,materials)
  sphere.geometry.scale(1,1,-1) // 進(jìn)入內(nèi)部 反過來
  scene.add(sphere)
})

// 設(shè)置渲染器
const renderer = new THREE.WebGL1Renderer()
// 設(shè)置渲染的尺寸大小
renderer.setSize(window.innerWidth,window.innerHeight)

// 創(chuàng)建軌道控制器
const controls = new OrbitControls(camera,renderer.domElement)

// 渲染函數(shù) - 每一幀渲染一次
function render() {
  // 渲染下一幀 的時候 會調(diào)用 animate 函數(shù)
	requestAnimationFrame( render );
	renderer.render( scene, camera );
}

// 將webgl渲染的canvas內(nèi)容添加到div上
const container = ref(null)
// dom節(jié)點掛載之后 渲染dom節(jié)點
onMounted(()=>{
  container.value.appendChild(renderer.domElement)
  // 設(shè)置控制器阻尼,讓控制器更具有真是效果
  controls.enableDamping = true
  render()
})



</script>

<style lang="scss" scoped>
* {
  padding:0;
  margin: 0;
}
.container {
  height:100;
  width:100%;
  background:'#f0f0f0'
}
</style>

效果

threejs vr看房,three.js,vr,javascript,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-736110.html

到了這里,關(guān)于three.js入門篇8 之 實現(xiàn)VR看房的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue2+three.js實現(xiàn)類似VR、3D全景效果

    vue2+three.js實現(xiàn)類似VR、3D全景效果

    效果圖: 倆圖標(biāo)是我自己加的前進(jìn)后退按鈕,也是百度了好久,再加上GPT的幫助,才給搞出來。因為需求急,都不看官方文檔,百度到一個能跑的demo之后改吧改吧,就先用著了。 下面是代碼: 這里 代碼有很多用不到的地方和需要優(yōu)化的地方,我是來不及改了,就先這樣吧

    2024年02月15日
    瀏覽(87)
  • Vue實現(xiàn)vr看房效果

    1.下載依賴: VS code終端執(zhí)行兩個命令 2.template模塊代碼 3.script模塊代碼 4.style模塊的代碼:

    2024年02月11日
    瀏覽(21)
  • 【js&threeJS】入門three,并實現(xiàn)3D汽車展示廳,附帶全碼

    【js&threeJS】入門three,并實現(xiàn)3D汽車展示廳,附帶全碼

    首先放個最終效果圖: ? 三維(3D)概念: 三維(3D)是一個描述物體在三個空間坐標(biāo)軸上的位置和形態(tài)的概念。相比于二維(2D)只有長度和寬度的平面,三維增加了高度或深度這一維度 在三維空間中,我們使用三個獨立的坐標(biāo)軸來描述物體的位置。通常使用笛卡爾坐標(biāo)系

    2024年02月11日
    瀏覽(703)
  • three.js實戰(zhàn)模擬VR全景視圖

    three.js實戰(zhàn)模擬VR全景視圖

    文章中使用到的案例圖片都來源于:Humus - Textures 里面有很多免費的資源,可以直接下載,每個資源里面都提供6個不同方位的圖片,我們通過threejs稍微處理一下,就能實現(xiàn)以下3D效果的場景了。

    2024年02月04日
    瀏覽(18)
  • three.js實現(xiàn)3D室內(nèi)全景看房

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

    首先我們先搭建一個項目,我選擇使用vite來進(jìn)行項目的搭建,執(zhí)行命令如下: 這樣一個基本的項目就搭建成功了,目錄如下所示 然后,下載一下three.js工具,執(zhí)行如下命令 頁面中引入 先搭建一個立體圖形,并畫出輔助線,如下所示 ?實現(xiàn)代碼如下: 接著,給我們的立體圖

    2024年02月12日
    瀏覽(27)
  • 微信小程序集成three.js--VR全景項目源碼

    微信小程序集成three.js--VR全景項目源碼

    小程序集成Three.js,展示不同貼圖材質(zhì)的運用 實現(xiàn)VR全景效果的部分,主要實現(xiàn)步驟如下: 1 創(chuàng)建一個正方體 2加載6個不同面的圖片作為正方體的材質(zhì) 3設(shè)置正方體屬性?cube.geometry.scale(1,1,-1),即完成了正方體面的反轉(zhuǎn) 4將camera的位置設(shè)置在正方體內(nèi)部,即實現(xiàn)了從內(nèi)部觀察正

    2024年02月11日
    瀏覽(44)
  • Three.js--》探秘虛擬現(xiàn)實VR展廳的視覺盛宴

    Three.js--》探秘虛擬現(xiàn)實VR展廳的視覺盛宴

    今天簡單實現(xiàn)一個three.js的小Demo,加強自己對three知識的掌握與學(xué)習(xí),只有在項目中才能靈活將所學(xué)知識運用起來,話不多說直接開始。 源碼下載地址:地址 在線體驗地址:地址 目錄 項目搭建 初始化three代碼 camera-controls控制器使用 添加畫框 畫框處理事件 添加機(jī)器人模型

    2024年04月23日
    瀏覽(19)
  • Three.js系列: 在元宇宙看電影,享受 VR 視覺盛宴

    Three.js系列: 在元宇宙看電影,享受 VR 視覺盛宴

    本文 gihtub 地址: https://github.com/hua1995116/Fly-Three.js 最近元宇宙的概念很火,并且受到疫情的影響,我們的出行總是受限,電影院也總是關(guān)門,但是在家里又沒有看大片的氛圍,這個時候我們就可以通過自己來造一個宇宙,并在 VR 設(shè)備(Oculus 、cardboard)中來觀看。 今天我打算

    2024年02月08日
    瀏覽(23)
  • vue 項目使用three.js 實現(xiàn)3D看房效果

    vue 項目使用three.js 實現(xiàn)3D看房效果

    0.前言 該教程能幫助直接寫出vue項目的3D看房效果?。?! 先上效果圖 1.安裝依賴 2.vue代碼 這里文件名為three.vue 代碼非原創(chuàng),出處 vue3+threejs實現(xiàn)全景看房 (異步加載 BOLLROOM 部件為對原代碼的修改) 注意這里的hdr 文件必須要放在assets文件夾中,且要通過import模塊的形式導(dǎo)入!

    2024年02月13日
    瀏覽(94)
  • VR全景如何應(yīng)用在房產(chǎn)行業(yè),VR看房有哪些優(yōu)勢

    VR全景如何應(yīng)用在房產(chǎn)行業(yè),VR看房有哪些優(yōu)勢

    導(dǎo)語: 在如今的數(shù)字時代,虛擬現(xiàn)實(VR)技術(shù)的迅猛發(fā)展為許多行業(yè)帶來了福音,特別是在房產(chǎn)樓盤行業(yè)中。通過利用VR全景技術(shù),開發(fā)商和銷售人員可以為客戶提供沉浸式的樓盤瀏覽體驗,從而帶來諸多優(yōu)勢。 一、了解VR全景技術(shù)的基本原理 VR全景技術(shù)是一種模擬真實場

    2024年02月03日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包