ThreeJs学习-加载外部三维模型gltf格式

2024-08-26 14:36

本文主要是介绍ThreeJs学习-加载外部三维模型gltf格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import * as THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';const loader = new GLTFLoader();
const group = new THREE.Group();loader.load('./guntong.glb', function (gltf) {const scene = gltf.scene;// scene.translateZ(10)// 返回的场景对象gltf.scene插入到threejs场景中group.add(scene);
})loader.load('./Soldier.glb', (gltf) => {console.log(gltf.scene)gltf.scene.rotateY(Math.PI)// 返回的场景对象gltf.scene插入到threejs场景中const mixer = new THREE.AnimationMixer(gltf.scene);// const clipAction = mixer.clipAction(gltf.animations[0]);// clipAction.play(); //播放动画const ResetAction = mixer.clipAction(gltf.animations[0]);const RunAction = mixer.clipAction(gltf.animations[1]);const StopAction = mixer.clipAction(gltf.animations[2]);const WalkAction = mixer.clipAction(gltf.animations[3]);ResetAction.play();RunAction.play();StopAction.play();WalkAction.play();// gltf.animations[0]休息// gltf.animations[1]跑步// gltf.animations[2]静止展开// gltf.animations[3]走路// 跑步和走路动画对人影响程度为0,人处于休闲状态ResetAction.weight = 1.0;RunAction.weight = 0.0;StopAction.weight = 0.0;WalkAction.weight = 0.0;const clock = new THREE.Clock();let ActionState = ResetAction;//当前处于播放状态的动画动作对象document.getElementById('run').addEventListener('click', function () {ActionState.weight = 0.0;//播放状态动画权重设置为0RunAction.weight = 1.0;ActionState = RunAction;})document.getElementById('stop').addEventListener('click', function () {ActionState.weight = 0.0;//播放状态动画权重设置为0StopAction.weight = 1.0;ActionState = StopAction;})document.getElementById('walk').addEventListener('click', function () {ActionState.weight = 0.0;//播放状态动画权重设置为0WalkAction.weight = 1.0;ActionState = WalkAction;})document.getElementById('reset').addEventListener('click', function () {ActionState.weight = 0.0;//播放状态动画权重设置为0ResetAction.weight = 1.0;ActionState = ResetAction;})// 骨骼辅助显示const skeletonHelper = new THREE.SkeletonHelper(gltf.scene);group.add(skeletonHelper);function loop() {requestAnimationFrame(loop);//clock.getDelta()方法获得loop()两次执行时间间隔const frameT = clock.getDelta();// 更新播放器相关的时间mixer.update(frameT);}loop();group.add(gltf.scene);})export default group

这篇关于ThreeJs学习-加载外部三维模型gltf格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108842

相关文章

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus