Three.js - 粒子系统 Points 和 PointsMaterial

THREE.Points是用来创建点的类,也用来批量管理粒子,这个类的构造函数可以接受两个参数,一个几何体和一个材质,几何体参数用来制定粒子的位置坐标,而材质参数用来格式化粒子。
可以基于简单几何体对象例如BoxGeometrySphereGeometry等作为粒子系统的参数,但是一般来讲,都需要自己指定顶点来确定粒子的位置。
通过THREE.PointsMaterial可以设置粒子的属性参数,示例中通过调试插件可以尝试着调整粒子的样式。
示例:https://ithanmang.gitee.io/threejs/home/201808/20180807/03-PointsMaterial.html
这里写图片描述
点击map添加贴图的话,可以实现,下雨的效果
这里写图片描述

属性
名称 描述
color 点(粒子)的颜色,默认值为白色
map 贴图
size 点的大小,默认值为1
vertexColors 若不设置此属性,则所有的带你具有相同的颜色,若设置此属性为true或者THREE.VertexColors并且,几何体的color属性是一个颜色数组,那么就会应用颜色数组的值,默认值为THREE.NoColors
sizeAttenuation 设置点的大小是否随着距离的增大而变小,默认为true,如果设置为false,z则所有点的大小不随距离的增加而变化
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>粒子系统 Points</title>
    <style>
        body {
   
            margin: 0;
            overflow: hidden; /*溢出隐藏*/
        }
    </style>
    <script src="../../libs/build/three-r93.min.js"></script>
    <script src="../../libs/examples/js/controls/OrbitControls.js"></script>
    <script src="../../libs/examples/js/libs/dat.gui.min.js"></script>
    <script src="../../libs/examples/js/libs/stats.min.js"></script>
    <script src="../../libs/examples/js/Detector.js"></script>
</head>
<body>
<script>

    let stats = initStats();
    let scene, camera, renderer, points, controls, guiControls;

    /* 场景 */
    function initScene() {
   

        scene = new THREE.Scene();
        scene.background = new THREE.Color(0x050505);
        scene.fog = new THREE.Fog(0x050505, 2000, 3500);
    }

    /* 相机 */
    function initCamera() {
   

        camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值