当前位置: 首页 > wzjs >正文

支付网站建设的分录福州关键词排名软件

支付网站建设的分录,福州关键词排名软件,注册商标名字推荐,中小企业网站建设济南兴田德润o厉害吗场景 场景是一个容器,用于容纳所有的物体、光源、相机等元素。 // 创建场景 const scene new THREE.Scene(); //修改背景颜色,颜色支持十六进制、rgb、hsl、贴图等 scene.background new THREE.Color(0x000000);相机 相机决定了渲染的结果&#xff…

场景

场景是一个容器,用于容纳所有的物体、光源、相机等元素。

// 创建场景
const scene = new THREE.Scene();
//修改背景颜色,颜色支持十六进制、rgb、hsl、贴图等
scene.background = new THREE.Color(0x000000);

相机

相机决定了渲染的结果,决定了渲染的内容是什么,以及渲染的内容从哪里看。

相机包括正交相机(OrthographicCamera)、透视相机(PerspectiveCamera)、立方相机(CubeCamera)、立体相机(StereoCamera)。

透视相机(PerspectiveCamera)是最常用的相机,它模拟人眼的视觉,具有近大远小的效果。

PerspectiveCamera 构造函数的参数如下:

  • fov:视场角,表示相机视野的范围,单位是度数。
  • aspect:宽高比,表示渲染结果的长宽比,通常设置为窗口的宽高比。
  • near:近裁剪面,表示相机能够看到的最近距离,单位是距离单位。
  • far:远裁剪面,表示相机能够看到的最近距离,单位是距离单位。

在这里插入图片描述

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

通过camera.position.set(x, y, z)来设置相机的位置,其中 x、y、z 是相机在场景中的位置。

camera.position.set(0, 0, 5);

在这里插入图片描述

通过camera.lookAt(x, y, z)来设置相机看向的位置,其中 x、y、z 是相机看向的位置。

camera.lookAt(0, 0, 0);

在这里插入图片描述

渲染器

渲染器决定了渲染的结果应该显示在什么地方,它将相机看到的场景渲染成一个二维的图片。

WebGLRenderer 构造函数的参数如下:

  • antialias:是否开启抗锯齿,默认为 false。
  • canvas:渲染结果的画布,默认为 null。如果不传,会自动创建一个 canvas 元素。也可以传入一个已有的 canvas 元素。
const renderer = new THREE.WebGLRenderer({antialias: true,canvas: document.getElementById("canvas"),
});
renderer.setSize(window.innerWidth, window.innerHeight);

通过renderer.render(scene, camera)来渲染场景和相机。

渲染函数只会渲染一次,如果需要循环渲染,可以使用requestAnimationFrame函数。

function animate() {requestAnimationFrame(animate);renderer.render(scene, camera);
}
animate();

轨道控制器

轨道控制器(OrbitControls)可以控制相机的位置和方向,使得相机可以围绕目标旋转、缩放和平移。

import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.update();

轨道控制器提供了以下属性和方法:

  • controls.enableDamping:是否开启阻尼效果,默认为 false。
  • controls.dampingFactor:阻尼效果的因子,默认为 0.25。
  • controls.enableZoom:是否开启缩放功能,默认为 true。

通过controls.update()来更新轨道控制器,使得相机的位置和方向能够实时更新。

通过controls.enableZoom来开启或关闭缩放功能。

通过controls.enableRotate来开启或关闭旋转功能。

通过controls.enablePan来开启或关闭平移功能。

通过controls.minDistance来设置相机距离目标的最小距离。

通过controls.maxDistance来设置相机距离目标的最大距离。

通过controls.minPolarAngle来设置相机距离目标的最低角度。

通过controls.maxPolarAngle来设置相机距离目标的最高角度。

示例

import * as THREE from "three";
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
//创建场景
const scene = new THREE.Scene();//创建相机
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(15, 0, -25);
scene.add(camera);//创建渲染器
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);//创建立方体盒子
const geometry = new THREE.BoxGeometry(40, 40, 40);
// 创建一个纹理加载器
const textureLoader = new THREE.TextureLoader();
// 定义纹理列表
const textureList = ["./texture/1.jpg","./texture/2.jpg","./texture/3.jpg","./texture/4.jpg","./texture/5.jpg","./texture/6.jpg",
];
// 定义材质列表
let materials = [];
// 遍历纹理列表
textureList.forEach((item) => {// 加载纹理let texture = textureLoader.load(item);// 将纹理添加到材质列表中materials.push(new THREE.MeshBasicMaterial({ map: texture }));
});
// 创建立方体,使用几何体和材质列表
const cube = new THREE.Mesh(geometry, materials);
// 缩放立方体
cube.geometry.scale(12, 12, -12);
// 将立方体添加到场景中
scene.add(cube);//创建控制器
const controls = new OrbitControls(camera, renderer.domElement);
// 启用阻尼效果
controls.enableDamping = true;//创建动画
function animate() {requestAnimationFrame(animate);controls.update();renderer.render(scene, camera);
}
animate();//监听窗口大小变化
window.addEventListener("resize", () => {camera.aspect = window.innerWidth / window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth, window.innerHeight);
})

效果预览

书洞笔记

http://www.dtcms.com/wzjs/528295.html

相关文章:

  • 深圳网站建设新闻2023很有可能再次封城吗
  • 长沙商城网站制作站长工具友链检测
  • 智云鸟网站建设职业教育培训机构排名前十
  • 网站头条怎么做百度云网盘资源搜索引擎入口
  • p2p金融网站开发seo关键词排名优化哪好
  • 做网站建设销售途径学电脑办公软件培训班
  • 外贸营销型网站案例种子在线资源搜索神器
  • 淄博张店网站建设友情链接的作用
  • wps怎么做网站百度竞价培训
  • 网站反链建设论坛推广软件
  • 网站调研表如何建立个人网站的步骤
  • 小型企业网站开发公司北京企业网站推广哪家公司好
  • 网站开发产生的材料国内最好用免费建站系统
  • 山东济南市网站建设广东疫情最新情况
  • 优秀b2c网站设计友情链接的四个技巧
  • 怎么给网站上传附件百度24小时人工电话
  • 动效h5网站seo点击排名工具
  • 做公司网站的专业公司深圳飓风seo刷排名软件
  • 做盗版电影网站教程郑州网站关键词排名技术代理
  • wordpress 百度音乐seo优化信
  • 网站开发需要数据库私域营销
  • 注册邮箱免费注册seo网站关键词优化软件
  • 网页设置网页怎么优化
  • 好女人生活常识网站建设今日实时热点新闻事件
  • 网站设计培训班前台百度网站官网入口
  • 国内优秀网站免费广告
  • wordpress升级崩了白银网站seo
  • 网站建设 淄博 兼职网站在线制作
  • 做网站 带宽 多少钱东莞优化排名公司
  • 电子商务网站建设投资预算百度百家号官网登录