threejs webgl效果 功能特效

news2025/1/7 7:10:13
雷达效果

​飘扬的红旗

光柱效果

OD线

下雪

下雨

光墙效果

能源球

烟火效果

threejs烟花效果

光圈效果

threejs 光圈 波动

 function initScene() {
     scene = new THREE.Scene();
 }

 function initCamera() {
     camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
     camera.position.set(30, 40, 80)
     camera.lookAt(new THREE.Vector3(0, 0, 0));
 }

 function initLight() {
     //添加环境光
     var ambientLight = new THREE.AmbientLight(0xffffff);
     scene.add(ambientLight);

     var spotLight = new THREE.SpotLight(0xffffff);
     spotLight.position.set(5, 10, 20);
     spotLight.castShadow = true;
     scene.add(spotLight);
 }


 function initModel() {
     //创建60个立方体模拟楼宇
     for (let i = 0; i < 60; i++) {
         const height = Math.random() * 10 + 2
         const width = 3
let cubeGeom;
if(i%2==0) cubeGeom = new THREE.BoxGeometry(width, height, width);
else cubeGeom = new THREE.CylinderGeometry( width/2, width/2, height, 32 );
         cubeGeom.setAttribute('color', new THREE.BufferAttribute(new Float32Array(cubeGeom.attributes.position.count * 3), 3))
         const colors = cubeGeom.attributes.color
let lr = 1;//Math.random()
         let r = lr * 0.2,
             g = lr * 0.2,
             b = lr * 0.5
         //设置立方体六个面24个顶点的颜色

         for (let i = 0; i < cubeGeom.attributes.color.count; i++) {
             colors.setXYZ(i, r, g, b)
         }
         //重置立方体顶部四边形的四个顶点的颜色
         // const k = 2
         // colors.setXYZ(k * 4 + 0, .0, g, 1.0)
         // colors.setXYZ(k * 4 + 1, .0, g, 1.0)
         // colors.setXYZ(k * 4 + 2, .0, g, 1.0)
         // colors.setXYZ(k * 4 + 3, .0, g, 1.0)
         const cube = new THREE.Mesh(cubeGeom, material)
         cube.position.set(Math.random() * 100 - 50, height / 2, Math.random() * 100 - 50)
         scene.add(cube)

         //绘制边框线
         const lineGeom = new THREE.EdgesGeometry(cubeGeom)
         const lineMaterial = new THREE.LineBasicMaterial({
             color: 0x018BF5,
             linewidth: 1,
             linecap: 'round',
             linejoin: 'round'
         })
         const line = new THREE.LineSegments(lineGeom, lineMaterial)
         line.scale.copy(cube.scale)
         line.rotation.copy(cube.rotation)
         line.position.copy(cube.position)
         scene.add(line)
     }
 }

 function initRender() {

     renderer = new THREE.WebGLRenderer({
         antialias: true,
         alpha: true
     })
     renderer.setPixelRatio(window.devicePixelRatio);
     renderer.setSize(window.innerWidth, window.innerHeight);
     renderer.setClearColor(0x0f2d48, 1) // 设置背景颜色
     renderer.toneMapping = THREE.ACESFilmicToneMapping;
     document.getElementById("WebGL-output").appendChild(renderer.domElement);
 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2040783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

培训学校课程管理系统-计算机毕设Java|springboot实战项目

&#x1f34a;作者&#xff1a;计算机毕设残哥 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目、 源…

MiniCPM-V 2.6 面壁“小钢炮”,多图、视频理解多模态模型,部署和推理实战教程

MiniCPM-V 2.6是清华和面壁智能最新发布的多模态模型&#xff0c;亦称面壁“小钢炮”&#xff0c;它是 MiniCPM-V 系列中最新、性能最佳的模型。该模型基于 SigLip-400M 和 Qwen2-7B 构建&#xff0c;仅 8B 参数&#xff0c;但却取得 20B 以下单图、多图、视频理解 3 SOTA 成绩…

leetcode300. 最长递增子序列,动态规划附状态转移方程

leetcode300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2…

【扩散模型(七)】Stable Diffusion 3 diffusers 源码详解2 - DiT 与 MMDiT 相关代码(上)

系列文章目录 【扩散模型&#xff08;一&#xff09;】中介绍了 Stable Diffusion 可以被理解为重建分支&#xff08;reconstruction branch&#xff09;和条件分支&#xff08;condition branch&#xff09;【扩散模型&#xff08;二&#xff09;】IP-Adapter 从条件分支的视…

“从零开始的HTML 表格”——WEB开发系列09

HTML 表格是一种用于在网页上组织和显示信息的结构性元素&#xff0c;它能够将数据以行和列的形式呈现&#xff0c;帮助用户更清晰地理解数据关系。表格在展示统计数据、产品列表、日程安排等方面非常实用。 一、HTML 表格的基本结构 HTML 表格用 ​​<table>​​ 标签来…

创意无限!2024年热门视频剪辑软件精选

从专业级电影剪辑工具到简单易用的手机APP&#xff0c;再到集创意与高效于一身的桌面应用&#xff0c;各类剪辑软件如雨后春笋般涌现。本文将带你一窥2024年火热的剪辑视频的软件。 1.福昕视频剪辑 连接直达>>https://www.pdf365.cn/foxit-clip/ 这款视频编辑工具凭…

Oracle 12.2集群搭建遇到ORA-ORA-15227,ORA-15031,ORA-15018问题处理

报错&#xff1a; [FATAL] [DBT-30056] Labeling of disks failed. ORA-15227: could not perform label set/clear operation ORA-15031: disk specification /dev/asmdisk/ocr01 matches no disks [FATAL] [DBT-30002] Disk group OCR creation failed. ORA-15018: diskgrou…

用Python实现9大回归算法详解——03. 岭回归算法

1. 岭回归的基本概念与动机 1.1 为什么使用岭回归&#xff1f; 在线性回归中&#xff0c;当特征之间存在强烈的相关性&#xff08;即多重共线性&#xff09;时&#xff0c;回归系数会变得不稳定&#xff0c;导致模型在新数据上的表现很差。多重共线性会导致普通最小二乘法&am…

stm32f407新建项目工程及烧录

1、新建一个文件夹&#xff0c;打开keil5将项目工程放入文件夹中 2、弹出选择对应型号设备 3、弹出选择对应库 可以看见出现下图&#xff1a;感叹号表示有错 最后如图所示&#xff1a;点击ok就行了 4、创建对应的文件夹存放文件 4、建立main.c 5、添加对应的设置 最后写一个空白…

sp-eric靶机

端口扫描 靶机ip地址为192.168.7.46 目录扫描 访问80端口 拼接访问 /admin.php 发现登录框 测试sql注入&#xff0c;弱口令等&#xff0c;无结果 扫描目录发现了.git文件&#xff0c;存在源码泄漏 将其下载到kali上读取 python2 GitHack.py -u http://192.168.7.180/.git/…

Linux11

Linux运行级别 graphical.target图形化模式 runlevel查看运行级别 init 6自动重启 centos7单用户模式修改密码 Windows安全模式可用来删除木马&#xff0c;更为方便 单用户模式修改密码 选择第一个 按e键进入编辑模式&#xff0c;并完成以下修改&#xff08;注意&#xff0…

linux上Java生成图片中文乱码

在生成图形二维码时&#xff0c;设置底部中文导出空白乱码&#xff0c;效果如下&#xff1a; 这里服务器使用的是centos7&#xff0c;解决方案下载simsun.ttc文件&#xff0c;放入至jdk安装目录“/opt/jdk/jre/lib/fonts”中&#xff0c;具体根据自身本机jdk安装路径存放&…

ZOOKEEPER+KAFKA消息队列群集

前言 消息队列(Message Queue)&#xff0c;是分布式系统中重要的组件&#xff0c;其通用的使用场景可以简单地描述为:当不需要立即获得结果&#xff0c;但是并发量又需要进行控制的时候&#xff0c;差不多就是需要使用消息队列的时候。 消息队列 什么是消息队列 消息(Messa…

CAD二次开发IFoxCAD框架系列(19)-图层操作

1. 根据名称查询指定的图层 查看层表中是否含有名为“MyLayer”的图层。 using var tr new DBTrans();if(tr.LayerTable.Has("MyLayer")){//要执行的操作}2. 遍历图层名称 遍历图层表并打印每个图层的名字 。 using var tr new DBTrans();tr.LayerTable.GetRecor…

MySQL源码安装与MySQL基础学习

1、安装MySQL ​ 本次安装使用的是绿色硬盘版本&#xff0c;无需额外安装依赖环境&#xff0c;比较简单 修改相关配置文件&#xff1a; 设置环境变量&#xff0c;声明/宣告MySQL命令便于系统识别&#xff1a; 初始化数据库&#xff1a; 设置系统识别&#xff0c;进行操作&…

【代码随想录】数组总结篇

本博文为《代码随想录》的学习笔记&#xff0c;原文链接&#xff1a;代码随想录 数组理论基础 首先要知道数组在内存中的存储方式&#xff0c;数组时存放在连续内存空间上的相同类型数据的集合。数组可以方便地通过下标索引的方式获取到下标对应的数据。举例如下&#xff1a;…

电信优惠套餐到期会自动延续吗?这个问题你了解过吗?

电信优惠套餐到期会自动延续吗&#xff1f;看选择的套餐&#xff0c;不同的套餐情况不同。 对于电信流量卡的优惠期限&#xff0c;有以下几种情况&#xff1a; 短期套餐&#xff1a; 6个月、12个月、24个月等&#xff0c;套餐到期后会恢复原来的资费&#xff0c;不会自动延续…

分组汇总时保留不变列

Excel表格的ID列是分类&#xff0c;Value1和Value2是数值&#xff0c;ID相同时Descr 1和Descr 2保持不变。 ABCDE1IDValue 1Value 2Descr 1Descr 22112.51.8ax13112.31.1ax14111.91.6ax15123.73.5bx26123.91.5bx27132.50.2cx38132.64.1cx391324.8cx310132.71.8cx3 要求&#…

Linux Shell实例

1.查空行 答案&#xff1a; awk /^$/{print NR} file1.txt#awk:一个强大的文本分析工具&#xff0c;把文件逐行的读入&#xff0c;以空格为默认分隔符将每行切片&#xff0c;切开的部分再进行分析#处理。 #1&#xff09;基本语法 #awk [选项参数]/pattern1/{action1} /pattern…

【数据结构详解】——计数排序(动图详解)

目录 &#x1f552; 1. 计数排序 &#x1f552; 1. 计数排序 &#x1f4a1; 算法思想&#xff1a;计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用&#xff0c;操作步骤&#xff1a; 统计相同元素出现次数根据统计的结果将序列回收到原来的序列中 void Coun…