首页 > 其他分享 >加载3d模型

加载3d模型

时间:2024-11-20 10:11:01浏览次数:1  
标签:模型 THREE controls scene renderer var new 3d 加载

var width = $('#models-container').width();
var height = $('#models-container').height();

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, width / (height - 4), 0.1, 1000);
camera.position.set(30, 40, 30);

var ambient = new THREE.AmbientLight(0xffffff, 0.5); //AmbientLight,影响整个场景的光源
ambient.position.set(0, 0, 0);
scene.add(ambient);

var renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true, logarithmicDepthBuffer: true });
renderer.setSize(width, (height - 4));
// 设置背景颜色
//renderer.setClearColor(0xffffff, 1); //0是完全透明,1是不透明

document.getElementById('models-container').appendChild(renderer.domElement);

var composer = new THREE.EffectComposer(renderer);
window.composer = composer;

var controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.autoRotate = true;
controls.autoRotateSpeed = 0.1;

controls.enableDamping = true; //将其设置为true以启用阻尼(惯性),这将给控制器带来重量感。默认值为false
controls.dampingFactor = 0.5; //阻尼惯性有多大。 Default is 0.05。要使得这一值生效,你必须在你的动画循环里调用.update()。
// 视角最小距离
controls.minDistance = 50;
// 视角最远距离
controls.maxDistance = 200;
// 最大角度
//controls.maxPolarAngle = Math.PI / 2.2;
//controls.target = new THREE.Vector3(50, 50, 0);

function animate() {

    requestAnimationFrame(animate);
    renderer.render(scene, camera);
    // controls.update();

    if (composer) {
        composer.render();
    }
    //if (textMesh) {
    //    textMesh.lookAt(camera.position)
    //}
    scene.traverse(function (obj) {
    });
}

function loadSceneModel() {
    var fbxLoader = new THREE.FBXLoader();
    fbxLoader.load("../Content/models/scene.fbx", function (object) {
        // 设置模型比例
        //object.scale.set(0.3, 0.3, 0.3);
        // 设置模型位置
        //object.position.set(0, -5, 0);

        //object.rotateY(agvTopRotateAngle + 0.5);
        //var brick = object.getObjectByName('立方体_60');
        //bonding_model = brick.parent;
        //brick.userData.direction = 'left';
        //object.rotateY(-0.1);

        //brick_backup = brick.clone();
        // 添加模型到场景
        scene.add(object);
    });
}

loadSceneModel();
camera.lookAt(scene.position);
animate();

标签:模型,THREE,controls,scene,renderer,var,new,3d,加载
From: https://www.cnblogs.com/duixue/p/18556247

相关文章

  • 利用 TensorFlow Profiler:在 AMD GPU 上优化 TensorFlow 模型
    TensorFlowProfilerinpractice:OptimizingTensorFlowmodelsonAMDGPUs—ROCmBlogs简介TensorFlowProfiler是一组旨在衡量TensorFlow模型执行期间资源利用率和性能的工具。它提供了关于模型如何与硬件资源交互的深入见解,包括执行时间和内存使用情况。TensorFl......
  • 使用 ROCm 在 AMD GPU 上微调和测试前沿的语音模型
    Fine-tuningandTestingCutting-EdgeSpeechModelsusingROCmonAMDGPUs—ROCmBlogsAI语音代理或语音机器人是通过使用口头语言与人交流而设计的。语音机器人通常用于客户服务和个人助手应用,并有可能进入并革命性地改变人们与技术互动的几乎每个方面,这些方面可以从......
  • 开源免费的大语言模型哪个好?排名基于国外最公允排行榜
    目前开源模型在能力上面已经与闭源模型越来越接近,笔者依托于市面最公允的模型评测: 人类评估竞技场模式  https://lmarena.ai 的最新排名做梳理:#排行靠前的开源模型梳理:如上图,在目前最公允的大模型竞技场打榜中,上面只有这么几个玩家是开源的第一个就是马斯克新公司......
  • MaskLLM:英伟达出品,用于大模型的可学习`N:M`稀疏化 | NeurIPS'24
    来源:晓飞的算法工程笔记公众号,转载请注明出处论文:MaskLLM:LearnableSemi-StructuredSparsityforLargeLanguageModels论文地址:https://arxiv.org/abs/2409.17481论文代码:https://github.com/NVlabs/MaskLLM创新性提出一种可学习的LLM半结构化剪枝方法MaskLLM......
  • 设计和训练人工智能模型的意义是什么?
    前一篇:《人工智能模型训练技术,正则化!》序言:人工智能模型的真正价值在于其实际应用,而不仅仅停留在理论阶段。本节将通过一个简单而常见的应用场景,展示如何将前面几节所设计和训练的模型应用于实际问题。我们将使用训练好的模型对句子进行分类,具体来说,识别社交平台上用户评论的类......
  • Open3D Python版本快速安装和使用
    目录一、什么是Open3D二、Python版本快速安装和使用三、测试代码四、结果展示一、什么是Open3DOpen3D是一个开源库,支持快速开发和处理3D数据。Open3D在c++和Python中公开了一组精心选择的数据结构和算法。后端是高度优化的,并且是为并行化而设置的。其核心特性......
  • Matlab实现基于SVR支持向量机回归的电力负荷预测模型
    目录项目背景介绍...1项目目标与意义...2项目挑战...2项目应用领域...3项目效果预测图程序设计...3项目模型架构...4项目模型描述...4项目模型算法流程图设计...5项目结构设计...6项目部署与应用...6项目扩展...6项目应该注意事项...7项目未来改进方......
  • 测试工程师1——测试基础(测试分类+测试模型+测试用例)
    hello~好久没有更新了,这段时间,我会用一个月左右的时间,和大家一起成长为中级测试工程师。我是平平无奇的羊,一个在字节搬砖的测试开发工程师。欢迎大家交流学习!软件测试分类主要按两种划分:阶段划分(阶段:软件产出过程顺序)代码可⻅度阶段划分单元测试说明:针对程序源代码进⾏测......
  • LangChain接入本地/国产大模型
    同步视频:BiliBiliLangChain官网示例大多是国外大模型平台,需要魔法环境,学习起来不方便提供几种解决方案ollama部署本地大模型接入兼容OpenAI接口的国产大模型(阿里云、火山引擎、腾讯云等)LangChain接入大模型LangChain文档:Chatmodels该方式为厂商/社区适配的SDK,不......
  • 【前端基础】1.CSS文件的加载和解析顺序
    HTML中,使用<link>标签先后加载两个CSS文件,其加载和解析顺序主要遵循以下规则:      CSS文件的加载与解析在现代浏览器中是边加载边解析的过程,而不是等所有CSS文件加载完毕后再进行解析。1.加载顺序:CSS文件按照<link>标签在HTML中的书写顺序加载。......