three.js基础--利用three.js封装的方法实现光照阴影效果


本文主要介绍如何利用three.js封装的方法属性来实现光照阴影

THREE实现光照阴影主要需要四步

渲染器设置renderer

首先告诉渲染器需要渲染阴影

 	// 创建渲染器
      let renderer = new THREE.WebGLRenderer({
   
        antialias: true, // 是否执行抗锯齿
      });
      renderer.setPixelRatio(window.devicePixelRatio); // 设置设备像素比率。通常用于HiDPI设备,以防止输出画布模糊。
      renderer.setSize(window.innerWidth, window.innerHeight); // 设置渲染器大小
      renderer.shadowMap.enabled = true; // 设置渲染阴影
      container.appendChild(renderer.domElement);

灯光设置light

设置产生阴影的光源,在three.js中只有点光源THREE.PointLight,平行光THREE.DirectionalLight,和聚光源THREE.SpotLight可以产生阴影。

	// 创建平行光源
      const light = new THREE.DirectionalLight(0xffffff, 1); // 平行光,颜色为白色,强度为1
      light.position.set(-40, 40, 20); // 设置灯源位置
      light.castShadow = true; // 允许生成阴影
      light.target = mesh;
      scene.add(light); // 添加到场景中

产生阴影的物体mesh

设置在光照下产生阴影的物体

mesh.castShadow = true; // mesh对象渲染到阴影贴图中

接受阴

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值