BabyLon.js 6.0 学习笔记 (三)

简介

我们继续上一篇 BabyLon.js 学习笔记(二) 中的内容,拓展一些控制平移、缩放和旋转的API。

几何体显示

上一篇中我们在canvas画布上画了很多几何体,了解如何参数化创建几何体,但由于没有设置初始位置,所以他们呈现的效果是这样的一坨。
在这里插入图片描述

平移

BabyLon中控制平移的接口有两种,一种是独立控制x,y,z方向位移,我们用 地面ground 为例。 以为画面中正方体的边长为4,那么要让正方体平放在地面上,需要将地面y轴方向平移 4/2 =2 的长度

 ground.position.y = -2;

还有一种接口是 position.set(x,y,z) , 可以同时控制x,y,z方向位移

ground.position.set(0,-2,0); 

平移效果如下:
在这里插入图片描述
现在基于这个 position.set(x,y,z) 接口,我们把几何体分开放置看看。如果感觉场景太暗,可以微调下光源的初始方位。

const light = new BABYLON.DirectionalLight(
    "light",//name
    new BABYLON.Vector3(0,-2,-5),//light direction
    scene
);

在这里插入图片描述

缩放

控制x,y,z轴个方向上的尺度缩放接口, 我们用圆环为例:

torus.scaling.set(0.5,1,1);

这里让几何体沿x轴方向缩放为原来0.5倍,其他方向保持不变
在这里插入图片描述仅沿y轴缩放效果如下:
在这里插入图片描述整个圆环像被拍扁了一样, 要还原到原来比例,只要设置 scaling.set(1,1,1)

旋转

控制几何体绕x,y,z轴旋转的接口,我们以圆柱为例,仅绕x轴旋转:

cylinder.rotation.x = Math.PI/4;  //旋转角为弧度制

在这里插入图片描述
绕中心点旋转的话,要用到 rotateAround()

cylinder.rotateAround(
    new BABYLON.Vector3(0,0,0), //旋转的中心点坐标
    new BABYLON.Vector3(1,0,0), //旋转的基准轴
    Math.PI/4   //旋转的角度(弧度)
);

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值