Three.js搭建小米SU7三維汽車實戰(1)搭建開發環境

1.基本概念

![](https://i-blog.csdnimg.cn/img_convert/a4676122e207e058f3a335df2c99d4f8.png)

1) 場景

如何理解場景 場景就是一個三維的世界, 在這個世界中可以放置各種各樣的物體 可以理解成一個**空間**, 或者**容器**

2) 相機

如何理解相機 🤔**思考: **如何在二維平面表現三維效果 由于我們的顯示器是二維平面, 只有兩個維度, 如何在一個二維平面表現出三維效果呢? 在現實生活中, 得益于拍照技術, 從不同的角度拍射(觀察)同一個物體, 然后通過一些光照陰影我們的大腦可以自行腦補出三維的畫圖 **這里的相機就是三維空間的觀察者** 當相機從不同的角度觀察同一個物體會得到不同的圖像, 然后把這些圖像使用一定的技術拼接組合, 我們的大腦會根據生活在三維世界的經驗自行腦補出三維空間

3) 物體

在三維空間, 可以放置一些物體, 這些物體就是**被觀察的對象** 不同的物體形狀, 大小, 材質和紋理不相同 盡可能模擬現實生活中的實際物體, 比如

4) 光源

有了光照,物體就會有明暗效果的區別

2.開發環境搭建

1) 開發建議

在開發之前, 我有幾點建議 **1一定使用代碼自動補全!!!** 由于three.js有眾多的API, 名字長, 單詞容易拼錯, 基本上記不住 **2模塊化開發** threejs的官方從150+版本后打算廢棄直接引入的方式, 并在160版本移除

2) 初始化項目

創建一個目錄three-basic, 執行
npm init -y

3) 安裝three.js

```javascript npm install three@0.152 ```

??**** 特別注意
由于threejs的更新非常快, 這里默認安裝會自動安裝最新版的three.js, 不同的版本下API和目錄結構可能不同
本教程(2023-05-10)使用的版本是最新版(v0.152.2)
為了保證一致性, 建議大家在安裝時指定版本

4) 使用vite

vite是開箱即用的下一代打包工具, 原生支持模塊化開發 相比于webpackRollupParcel更快, 更好用 將vite安裝成開發時依賴, 使用vite啟動開發服務 注意:使用5.4.11版本的vite
npm i vite@5.4.11 -D

創建入口文件index.html, 在入口文件中引入
●初始化樣式reset.css
●主入口文件main.js

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><!-- 引入初始化樣式 --><link rel="stylesheet" href="./src/assets/styles/reset.css" /></head><body><!-- 使用模塊化方式引入入口文件 --><script src="./src/main.js" type="module"></script></body>
</html>
* {margin: 0;padding: 0;
}body {background-color: skyblue;
}
// 導入THREE
import * as THREE from 'three'// 創建一個場景
const scene = new THREE.Scene()
console.log(scene)

編輯package.json腳本

"scripts": {"dev": "vite"
},

啟動開發服務

npm run dev

在這里插入圖片描述
如果過程中有任何不懂的地方
大家可以+下方小助手↓回復關鍵詞 su7 免費獲取

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

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

相關文章

Selenium 原理【selenium】

Selenium 是什么&#xff1f;Selenium 是一個專門用于自動化操作網頁的工具集&#xff0c;它能夠模擬人類在瀏覽器中進行的各種操作&#xff0c;如點擊按鈕、填寫表單、滾動頁面等。借助 Selenium&#xff0c;開發者可以編寫腳本來控制瀏覽器&#xff0c;實現自動化測試、數據采…

【音視頻】HLS-m3u8協議介紹

參考文檔&#xff1a;https://datatracker.ietf.org/doc/html/rfc8216 一、m3u8協議概述 m3u8 協議是基于 M3U 格式擴展而來的一種多媒體播放列表協議&#xff0c;主要用于流媒體的索引和分發&#xff0c;尤其在 HLS&#xff08;HTTP Live Streaming&#xff09;技術中扮演核…

unity入門:動畫等不顯示問題——畫布設置

unity入門&#xff1a;動畫等不顯示問題——畫布設置動畫等不顯示問題大部分原因畫布Canvas總結動畫等不顯示問題大部分原因 1、畫布設置渲染模式不對&#xff0c;下文再講這個問題。 2、在層級雙擊動畫查看動畫大小&#xff0c;有些動畫創建完之后在場景大小實際很小需要在R…

【機器學習筆記 Ⅱ】3 前向傳播

前向傳播&#xff08;Forward Propagation&#xff09;實現詳解 前向傳播是神經網絡中數據從輸入層流向輸出層的過程&#xff0c;通過逐層計算每一層的輸出&#xff0c;最終得到預測結果。以下是其實現原理和步驟的完整解析&#xff1a;1. 前向傳播的核心步驟 (1) 線性變換&…

人體坐姿檢測系統開發實戰(YOLOv8+PyTorch+可視化)

本文將手把手教你構建智能坐姿檢測系統,結合目標檢測與姿態估計技術,實現不良坐姿的實時識別與預警 ### 一、項目背景與價值 現代人每天平均坐姿時間超過8小時,不良坐姿會導致: - 脊椎壓力增加300% - 頸椎病發病率提升45% - 腰椎間盤突出風險增加60% 本系統通過計算機…

卷積神經網絡經典架構演進

LeNet-5 網絡架構 #mermaid-svg-8VgsGVLusLXKY5lE {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8VgsGVLusLXKY5lE .error-icon{fill:#552222;}#mermaid-svg-8VgsGVLusLXKY5lE .error-text{fill:#552222;stroke:#5…

mybatis/mybatis-plus添加數據,自增id的值為負數

1、問題概述&#xff1f;使用mybatis-plus的insert方法添加數據的時候&#xff0c;數據雖然添加成功了&#xff0c;但是返回值為false&#xff0c;提示添加失敗。當觀察數據的時候&#xff0c;發現數據的自增主鍵id的值盡然為-1&#xff0c;或者無規律的長串負數&#xff0c;如…

商業創業融資項目計劃書PPT模版

創業融資計劃書PPT模版&#xff0c;營銷模式分析PPT模版&#xff0c;創業計劃書PPT模版&#xff0c;互聯網電商創業推廣手冊PPT模版&#xff0c;商業項目計劃書PPT模版&#xff0c;高端商業計劃通用PPT模版&#xff0c;商業計劃書&#xff0c;科技商業PPT模版 商業創業融資項目…

新人如何入門學習 STM32?

作為一個在嵌入式領域摸爬滾打了近10年的老兵&#xff0c;看到這個問題時我的思緒瞬間回到了當年那個懵懂的自己。說實話&#xff0c;2014年那個夏天&#xff0c;24歲的我剛從機械專業畢業卻被調劑到了廈門某馬的電子部門&#xff0c;第一次聽到"STM32"這個詞的時候&…

clickhouse數據庫表和doris數據庫表遷移starrocks數據庫時建表注意事項總結

目錄零、前言一、clickhouse數據庫表在starrocks數據庫建表時問題總結1.1 數據類型類問題&#xff1a;1.2 數據導出階段&#xff1a;二、doris 數據庫表在starrocks數據庫建表時問題總結2.1 properties不支持的屬性&#xff08;直接刪除&#xff09;&#xff1a;2.2 properties…

社區云管家 - 智慧生活新方式 ——仙盟創夢IDE

社區服務熱門推薦數字化時代的社區服務新形態?在數字化浪潮席卷日常生活的今天&#xff0c;一個集多功能于一體的綜合社區官網正成為連接居民與社區服務的核心紐帶。這類平臺以 “一站式解決生活需求” 為核心&#xff0c;將看房、外賣、物業、快遞、求職、生鮮、出行、文具打…

MongoDB GridFS

MongoDB GridFS 引言 MongoDB 是一種高性能、可擴展的文檔存儲系統,它提供了靈活的數據模型和豐富的查詢功能。在處理大量非結構化數據時,MongoDB 的 GridFS 功能尤為突出。GridFS 是一種用于存儲和檢索大文件的解決方案,它可以存儲任意大小的文件,并將其分解為多個較小的…

Linux中程序的limits中的Max open files的配置由哪些參數決定

在 Linux 中&#xff0c;程序的 Max open files&#xff08;最大打開文件數&#xff0c;即 ulimit -n&#xff09;由多個層級的參數共同控制&#xff0c;具體如下&#xff1a; 1. 內核級全局限制&#xff08;系統默認上限&#xff09; 由 /proc/sys/fs/file-max 控制&#xff0…

git clone xxx.git 提示報錯:fatal: Unable to find remote helper for ‘http‘

[rootroot /home]# git clone http://gitlab.xxx.qunar.com/xx/xxx.git Cloning into ‘xxx’… fatal: Unable to find remote helper for ‘http’ 我今天在Linux服務器上執行git clone一個倉庫的代碼到機器上&#xff0c;但是執行的時候提示上面的錯誤&#xff0c;我就很詫異…

【機器學習筆記Ⅰ】10 特征工程

特征工程&#xff08;Feature Engineering&#xff09;詳解 特征工程是機器學習和數據科學中的核心環節&#xff0c;旨在通過對原始數據的轉換、組合和提取&#xff0c;構建更適合模型的高質量特征。其質量直接決定模型性能上限&#xff08;“數據和特征決定了模型的上限&#…

20250708-03-string結構及命令詳解_筆記

一、字符串操作1. set命令&#xfeff;1&#xff09;set命令詳解&#xfeff;&#xfeff;基本語法與參數命令格式&#xff1a;set key value [ex 秒數]/[px 毫秒數][nx]/[xx]有效期設置&#xff1a;ex參數&#xff1a;以秒為單位設置過期時間&#xff0c;如set a 1 ex 10表示1…

SpringBoot3-集成MybatisPlus

此次操作是在多模塊下進行的&#xff0c;SpringBoot3-規劃多模塊目錄 添加管理依賴 根模塊 zibocoder-parent 的 pom.xml 中添加 MybatisPlus bom 管理依賴 <properties>...<mybatis-plus.version>3.5.12</mybatis-plus.version>... </properties> <…

部署MongoDB

環境:CentOS7 添加 MongoDB 官方 YUM 倉庫 sudo vi /etc/yum.repos.d/mongodb-org-6.0.repo 將以下內容粘貼到文件中(以 MongoDB 6.0 為例): [mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86…

重學前端002 --響應式網頁設計 CSS 基礎

文章目錄css 樣式特殊說明根據在這里 Freecodecamp 實踐&#xff0c;調整順序后做的總結。 css 樣式 body {background-color: red; # 跟background-image 不同時使用background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);font-family: sans-…

Zig高并發爬取數據簡潔模版

上文中我們介紹了Zig語言得爬蟲的有些優劣勢&#xff0c;想必大家對于自身項目選擇那種語言做爬蟲應該有些思路了&#xff0c;今天我將使用Zig的標準庫來構建一個簡單的高并發爬蟲模板。由于Zig的異步機制和標準庫中的http模塊&#xff0c;我們可以實現一個基于事件循環的爬蟲。…