Three.js官方案例webgl_materials_car学习

目录

1 安装VSCode  ,并安装插件live-server

2 下载官方three.js到本地

3 学习案例webgl_materials_car

3.1 car.html部分

3.2 body部分

3.3 car.html全部脚本

3.2 car.js部分

3.2.1 加载gltf模型

3.2.2 添加灯光

3.2.3 添加环境贴图

3.2.4 添加车身材质

3.2.5 添加地面网格

3.2.6 添加动画

3.2.6 添加控制器

3.2.7 添加雾效

3.2.8 添加车的影子

3.2.9 添加监听窗口大小变化的函数

3.2.10 添加性能监视器

​3.2.11 car.js全部脚本

 4 最终效果


1 安装VSCode  ,并安装插件live-server

找到后点击安装就行。

2 下载官方three.js到本地

本机搭建个Apache的服务器,把解压后的文件夹放到WWW文件夹下,运行本机服务器,就可以本地产看文档和运行案例了。

3 学习案例webgl_materials_car

  

    创建一个文件夹StudyThreejs,把解压后的three.js-r163放到里面,找到文件webgl_materials_car.html进行学习。

3.1 car.html部分

用VSCode 打开文件夹StudyThreejs,先创建文件car.html和car.js

打开car.html:

style模块把main.css里的#info复制粘贴过来,这一部分是界面的文字和按钮的布局

去掉界面滚动条

3.2 body部分

注意:

这里一开始弄错了,修改后OK了。

 3.3 car.html全部脚本

car.html如下,这一部分前度的知识我还是不太会哈

<!DOCTYPE html>
<html lang="en">
 <head>
    <meta charset="utf-8">
    <title>threejs car 学习</title>
    <!-- <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> -->
	<!-- <link type="text/css" rel="stylesheet" href="./three.js-r163/examples/main.css"> -->
    <style>
        body{
            color: #bbbbbb;
            background: #333333;
            overflow: hidden;  /*不用滚动条*/
            margin: 0px ;
        }
        a {
				color: #08f;
		}
        .colorPicker{
            display: inline-block;
            margin: 0 10px
        }
        /* 
         按钮和文字的布局
        */
        #info {
	position: absolute;
	top: 0px;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	z-index: 1; /* TODO Solve this in HTML */
}

/* 添加这一行 几个颜色才能进行点击操作 */
input{
	pointer-events: auto;
}

</style>
 </head>

<body>
    <div id="info">
        <a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> car materials<br/>
			Ferrari 458 Italia model by <a href="https://sketchfab.com/models/57bf6cc56931426e87494f554df1dab6" target="_blank" rel="noopener">vicent091036</a>
			<br><br>
            <span class="colorPicker"><input id="body-color" type="color" value="#ff0000"></input><br/>Body</span>
			<span class="colorPicker"><input id="details-color" type="color" value="#ffffff"></input><br/>Details</span>
			<span class="colorPicker"><input id="glass-color" type="color" value="#ffffff"></input><br/>Glass</span>
    </div>

    <div id="container"></div>

    <!-- <div id="webgl" style="margin-top: 0px; margin-left: 0px;">  </div> -->
    <!--z这个使得js里 引入three.js方便 好像使得和正式开发时写法一致 -->
    <script type="importmap">
        {
            "imports": {
                "three": "./three.js-r163/build/three.module.js",  
                "three/addons/":"./three.js-r163/examples/jsm/"  
            }
        }
    </script>
    <!-- 引入car.js -->
    <script type="module"  src="car.js">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hemy1989

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值