前端開發3D-基于three.js

基于 three.js 渲染任何畫面,都要基于這 3 個要素來實現
1場景scene:放置物體的容器
2攝像機:類似人眼,可調整位置,角度等信息,展示不同畫面
3渲染器:接收場景和攝像機對象,計算在瀏覽器上要渲染的最終 2D 畫面

第一步:下載three包

npm i three

第二步:引入three對象

import * as THREE from 'three'; 

第三步:創建場景

// 3. 創建場景(容器)const scene = new THREE.Scene();

第四步:創建攝像機(人眼)

const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

最后一步:創建渲染器,設置畫布大小,顯示另傳給渲染器

//  創建渲染器(繪制)const renderer = new THREE.WebGLRenderer()// 設置畫布大小(會生成 canvas 標簽)renderer.setSize(window.innerWidth, window.innerHeight)// 把畫布標簽添加到頁面顯示document.body.appendChild(renderer.domElement)// 把空場景和攝像機傳給渲染器,默認是黑色背景的世界renderer.render(scene, camera)

完整代碼如下

<template></template><script setup>// 1. 引入 three.js 對象(命名導出->默認導入)import * as THREE from 'three'; // 2. 創建場景(容器)const scene = new THREE.Scene();// 3. 創建攝像機(人眼)const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);// 4. 創建渲染器(繪制)const renderer = new THREE.WebGLRenderer()// 設置畫布大小(會生成 canvas 標簽)renderer.setSize(window.innerWidth, window.innerHeight)// 把畫布標簽添加到頁面顯示document.body.appendChild(renderer.domElement)// 把空場景和攝像機傳給渲染器,默認是黑色背景的世界renderer.render(scene, camera)
</script><style scoped></style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75327.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼隨想錄算法訓練營--打卡day4

一.移除鏈表元素 1.題目鏈接 203. 移除鏈表元素 - 力扣&#xff08;LeetCode&#xff09; 2.思路 通過 while 循環來遍歷鏈表&#xff0c;只要 cur 的下一個節點不為空&#xff0c;就繼續循環。在循環中&#xff0c;對 cur 的下一個節點的值進行判斷&#xff1a; 值不等于…

虛擬電廠:多元能源聚合,開啟綠色電力新時代

虛擬電廠&#xff1a;多元能源聚合&#xff0c;開啟綠色電力新時代 在“雙碳”目標驅動下&#xff0c;電力系統正經歷從集中式向分布式、從單一能源向多能互補的深刻變革。 作為能源互聯網的核心載體&#xff0c;虛擬電廠通過數字化技術整合多種能源資源&#xff0c;而是像指…

高通Android10 鈴聲通話音頻80%音量修改

先修改最高的音量step --- a/SC60_AP/frameworks/base/services/core/java/com/android/server/audio/AudioService.javab/SC60_AP/frameworks/base/services/core/java/com/android/server/audio/AudioService.java-311,14 311,14 public class AudioService extends IAudio…

類加載過程?類隔離了解過嗎?

類加載過程詳解 類加載是 JVM 將類的字節碼從磁盤、網絡或其他來源加載到內存&#xff0c;并轉換為 Class 對象的過程&#xff0c;主要分為以下 五個階段&#xff1a; 1. 加載&#xff08;Loading&#xff09; 任務&#xff1a;查找類的二進制字節流&#xff08;如 .class 文…

使用msmtp和mutt在CentOS上發送指定目錄下的所有文件作為郵件附件

1.安裝 msmtp&#xff1a; 如果尚未安裝&#xff0c;請先通過以下命令安裝msmtp。 sudo yum install msmtp 2.配置 msmtp 使用新浪郵箱&#xff1a; 創建或編輯配置文件~/.msmtprc&#xff0c;輸入以下內容&#xff08;記得替換授權碼&#xff09;。 defaults tls on tls_st…

Vue+Elementui首頁看板

源碼 <template><!-- 查詢條件--><div class="optimize-norm" v-loading="selectDataLoading"><el-form :model="queryParams" ref="queryRef" style="padding-bottom:8px" :inline="true"…

匯編學習之《指針寄存器大小端學習》

什么是指針寄存器&#xff1f; 操作棧的寄存器 棧&#xff1a; 保存函數里面傳遞的參數&#xff0c;局部變量等。 EBP&#xff1a; 指向棧底的指針 ESP&#xff1a; 指向棧頂的指針。 計算入棧地址變化規則 通過OllDbg查看 有可能點擊安裝的時候棧區域第一次查看會沒有顯…

Oracle數據庫數據編程SQL<3.7 PL/SQL 觸發器(Trigger)>

觸發器是Oracle數據庫中的一種特殊存儲過程&#xff0c;它會在特定數據庫事件發生時自動執行。觸發器通常用于實現復雜的業務規則、數據驗證、審計跟蹤等功能。 目錄 一、觸發器基本概念 1. 觸發器特點 2. 觸發器組成要素 二、觸發器類型 1. DML觸發器 2. DDL觸發器 3.…

2025年滲透測試面試題總結-某 攜程旅游-基礎安全工程師(題目+回答)

網絡安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 攜程旅游-基礎安全工程師 反序列化原理 核心原理 擴展分析 SQL注入本質 核心原理 擴展分析 SQL注…

CSS 邊框(Border)樣式詳解

CSS 邊框&#xff08;Border&#xff09;樣式詳解 CSS 提供了多種邊框樣式&#xff0c;使我們能夠控制元素的外觀。本文將詳細介紹 CSS 邊框的各種屬性及應用示例。 1. 基本邊框屬性 CSS 主要使用 border 相關屬性定義邊框&#xff0c;基本語法如下&#xff1a; border: [邊…

SpringCould微服務架構之Docker(6)

容器的基本命令&#xff1a; 1. docker exec &#xff1a;進入容器執行命令 2. docker logs: -f 持續查看容器的運行日志 3. docker ps&#xff1a;查看所有運行的容器和狀態 案例&#xff1a;創建運行一個容Nginx容器 docker run--name myNginx -p 80:80 -d nginx 命…

unity3d端監聽 uri scheme

一、消息監聽 1.創建一個腳本命名為 “URISchemeListener” &#xff0c;用于接收URI消息&#xff08;代碼如下&#xff09;。 using System; using System.Runtime.InteropServices; using UnityEngine; using UnityEngine.UI;public class URISchemeListener : MonoBehavio…

網絡信息安全應急演練方案

信息安全應急演練方案 總則 &#xff08;一&#xff09;編制目的 旨在建立并完善應對病毒入侵、Webshell 攻擊以及未授權訪問等信息安全突發事件的應急機制&#xff0c;提升組織對這類事件的快速響應、協同處理和恢復能力&#xff0c;最大程度降低事件對業務運營、數據安全和…

電商場景下高穩定性數據接口的選型與實踐

在電商系統開發中&#xff0c;API接口需要應對高并發請求、動態數據更新和復雜業務場景。我將重點解析電商場景對數據接口的特殊需求及選型方案。 一、電商API必備的四大核心能力 千萬級商品數據實時同步 支持SKU基礎信息/價格/庫存多維度更新每日增量數據抓取與歷史版本對比…

Android R adb remount 調用流程

目的&#xff1a;調查adb remount 與adb shell進去后執行remount的差異 調試方法&#xff1a;添加log編譯adbd,替換system\apex\com.android.adbd\bin\adbd 一、調查adb remount實現 關鍵代碼&#xff1a;system\core\adb\daemon\services.cpp unique_fd daemon_service_to…

多模態大語言模型arxiv論文略讀(二)

Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representation Space ?? 論文標題&#xff1a;Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representat…

【運維】負載均衡

老規矩&#xff0c;先占坑&#xff0c;后續更新。 開頭先理解一下所謂的“均衡”&#xff0c;不能狹義地理解為分配給所有實際服務器一樣多的工作量&#xff0c;因為多臺服務器的承載能力各不相同&#xff0c;這可能體現在硬件配置、網絡帶寬的差異&#xff0c;也可能因為某臺…

大型語言模型Claude的“思維模式”最近被公開解剖

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

Ubuntu環境安裝

1. 安裝gcc、g和make sudo apt update sudo apt install build-essential 2. 安裝cmake ubuntu安裝cmake的三種方法&#xff08;超方便&#xff01;&#xff09;-CSDN博客 3. 安裝ssh sudo apt-get install libssl-dev

【力扣hot100題】(028)刪除鏈表的倒數第N個節點

鏈表題還是太簡單了。 怕越界所以先定義了一個頭結點的頭結點&#xff0c;然后定義快慢指針&#xff0c;快指針先走n步&#xff0c;隨后一起走&#xff0c;直到快指針走到頭&#xff0c;刪除慢指針后一個節點即可。 /*** Definition for singly-linked list.* struct ListNod…