【网页端数字人开发】基于babylonjs实现GLB格式的三维模型导入及渲染

一、效果

在这里插入图片描述

二、源码

import './style.css'
//导入babylonjs
import * as BABYLON from "babylonjs"
//导入gltf加载器
import "babylonjs-loaders"


//创建canvas
const canvas = document.createElement("canvas");

//设置canvas的宽高
canvas.width=window.innerWidth;
canvas.height=window.innerHeight;

//将canvas添加到body中
document.body.appendChild(canvas);

//创建引擎
const engine = new BABYLON.Engine(canvas, true);

//创建初始场景
const scene = new BABYLON.Scene(engine);

//创建相机
const camera = new BABYLON.ArcRotateCamera(
    "camera",           // 名称
    Math.PI / 2,           // alpha(水平旋转)
    Math.PI/2 ,           // beta(垂直旋转)
    3.5,                    // radius(距离)
    new BABYLON.Vector3(0, 0.9, -1), // 目标点
    scene                 // 场景
);
// 让相机响应鼠标/触摸操作
camera.attachControl(canvas, true); //相机能够跟随鼠标进行移动

// 创建光源
const light = new BABYLON.DirectionalLight(
  "light",//名称
   new BABYLON.Vector3(0, -1, -1), //光源方向
   scene  //光源所在的场景
  );
// 设置光源强度 
light.intensity=10;

//加载模型
const result = await BABYLON.SceneLoader.ImportMeshAsync(
    null,        // 导入所有 mesh
    "/model/",   // 路径
    "man.glb",  // 模型名
    scene
);

//渲染场景
engine.runRenderLoop(() => {
scene.render();
});

//监听窗口大小改变
window.addEventListener("resize", () => {
engine.resize();
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值