前言(脱发只是开始,秃顶才是终点,与君共勉。

博主是一名机械专业的研究生,因课题需要开始了jMonkeyEngine的学习之旅。鉴于课题的持久性以及相关资料的匮乏程度,特在此记录下自己的学习过程,既是对自己学习过程的梳理,也希望能为后来者提供一些帮助。不过博主本月才开始学习jMonkeyEngine,知识点掌握的还不全面,文章中有论述不正确的地方还望指出,共同探讨,一起进步。

开发工具

  • eclipse
  • jME3.2-stable

学习资料

  • 使用 jMonkeyEngine 进行游戏开发
  • jMonkeyEngine Documentation
  • jMonkeyEngine3 API

场景搭建

注:文中代码经过剪辑,只是为了展示实现思路和一些方法的调用,直接复制可能无法复现。

1.地板、坐标系

  • 地板
    实现思路:
    新建网格作为地板,并将其加入节点axisNode
     Geometry grid = new Geometry("floorGrid", new Grid(21, 21, 1)); // 地板Material material = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");material.setColor("Color", ColorRGBA.DarkGray);grid.setMaterial(material);  //设置材质grid.center();  //居中axisNode.attachChild(grid);rootNode.attachChild(axisNode);

最后记得将节点axisNode加入程序根节点rootNode,因为rootNode是场景所有节点的父对象,如果想在摄像机中见到模型,最终都需要将其加入根节点中,无论间接还是直接

  • 坐标系
    实现思路:

地板本地坐标系:
在x,y,z三个方向分别新建三个箭头,再将其加入地板的父对象节点axisNode中。

//以X轴示例
Material material = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");material.setColor("Color", ColorRGBA.Green);material.getAdditionalRenderState().setLineWidth(3f);  //线宽Geometry geometry = new Geometry("AxisX", new Arrow(Vector3f.UNIT_X.mult(10)));  //X轴方向向量geometry.setMaterial(material);axisNode.attachChild(geometry);

世界坐标系:
在x,y,z三个方向分别新建三个箭头,再将其加入根节点rootNode中。

//以X轴示例
Material material = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");material.setColor("Color", ColorRGBA.Green);material.getAdditionalRenderState().setLineWidth(5f);  //线宽Geometry geometry = new Geometry("AxisX", new Arrow(Vector3f.UNIT_X.mult(2)));  //X轴方向向量geometry.setMaterial(material);rootNode.attachChild(geometry);

坐标轴箭头由Arrow生成,线条,鼠标不可选中。

  • 效果

    谢谢大家能够看到这里,欢迎大家留言交流,下一章记录 摄像机镜头控制。
    –来自一位并不专业的机械生

基于jMonkeyEngine的三维仿真场景搭建(一)相关推荐

  1. 实现osgEarth三维仿真场景模型雾的效果的添加解决方法

    在osgearth项目开发的过程中,为了实现逼真的三维场景可视化效果,需要对模型进行雾化处理,从而实现雾的自然天气情况模拟.在这过程中,利用OSG的osg::Fog类实现雾的效果,实现的效果如图1所示 ...

  2. dSPACE ModelDesk Road Scenario模块使用简介(仿真场景搭建、道路与情景的创建和具体使用)

    dSPACE ModelDesk Road & Scenario ModelDesk 配置页面 ModelDesk Road & Scenario的创建 ModelDesk Road ...

  3. FAST选址与三维仿真模拟研究

    1993年国际无线电联大会上, 包括中国在内的10国天文学家提出共同建造接收面积为一平方公里的阵国际大射电望远镜(Square Kilometer Array,简称SKA)计划.从1994年开始,以国 ...

  4. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台

    这篇我觉得是写得比较详细完整的 摘自:https://dgzc.ganahe.top/ganahe/2021/uavgazebomoni.html Ubuntu18.04配置搭建基于Gazebo的虚拟 ...

  5. matlab火箭模型,基于Matlab/Simulink的新型火箭建模与仿真平台搭建

    2018 年 11 月第 14 卷 第 4 期 系 统 仿 真 技 术 System Simulation Technology Nov. ,2018 Vol. 14,No. 4 中图分类号: TP3 ...

  6. OPENGL三维场景搭建、漫游、交互

    OPENGL三维场景搭建.漫游.交互 标签(空格分隔): OPENGL 这是博主的一次实验,实验截止日期还没有到.等deadline过后,博主附上源码. 源码地址:更新:OPENGL三维场景搭建.漫游 ...

  7. 3D激光SLAM:ALOAM---gazebo仿真测试场景搭建

    3D激光SLAM:ALOAM---gazebo仿真测试场景搭建 gazebo世界场景 AGV模型 Velodyne 激光雷达 测试 gazebo世界场景 在launch文件中加入 gazebo世界场景 ...

  8. 计算机三维建模概述论文,基于视觉的三维场景建模研究与实现-计算机科学与技术专业毕业论文.docx...

    文档介绍: ClassifiedIndex:TP391.41U.D.C.:681.39DissertationfortheMasterDegreeVISION-BASED3DSCENEMODELINGR ...

  9. 基于osgearth开发的三维仿真与态势软件系统源代码

    基于osgearth开发的三维仿真与态势软件系统源代码. 功能如下: 1.新建方案.打开方案.保存方案: 2.导入影像.高程.矢量.模型数据: 3.灯光控制.雨.雪.雾特效: 4.通视分析.距离测量. ...

最新文章

  1. matlab 在图片上绘制热力图_python可视化之seaborn——热力图
  2. Markdown批量发布到Github
  3. Android studio | Unused import statement
  4. Linux 下 微擎 的安装使用
  5. php cli mysql_php – 为什么mysql CLI可以连接,但不能连接WordPress?
  6. [蓝桥杯][算法提高VIP]五次方数-枚举
  7. nano-pc-t1 4412 显示驱动分析
  8. Qt学习笔记-SQL的基本操作【创建、查询、添加、索引等】
  9. centos6.5下的mysql5.6.30安装
  10. linux2.4.18内核定时器的使用
  11. Leetcode 22. 括号生成(递归+去重)
  12. 【codeforce 219D】 Choosing Capital for Treeland (树形DP)
  13. autocad完全应用指南_北京博超时代软件有限公司软件SQL安装指南
  14. ssh远程连接windows
  15. Java求取主析取范式、主合取范式、成真赋值、成假赋值、打印真值表
  16. 如何把多张图片快速的拼接在一起?如何拼接多张图片?
  17. cogs908. 校园网
  18. 大话西游2同一个账号同一个服务器,大话西游2:服务器合并你是否支持?老玩家告诉你合服后的影响!...
  19. 客制化键盘编程_装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版
  20. 使用-cifs自动挂载

热门文章

  1. Springboot毕业设计毕设作品,助农农产品销售系统 开题报告
  2. Tecnomatix Plant Simulation 14 学习之路(五)
  3. scratch项目PPT:关于博客中scratch项目中教学PPT的下载与分享
  4. Raccoon——(Misc)Black Night writeup
  5. 联通5G智能手机测试机正式交付!5G智能手机真的不远了你激动吗
  6. 《实战Java高并发程序设计》github笔记和源码
  7. 中国硬分币价格表参考
  8. 算法_数学问题_Question11_换分币(java实现)
  9. 常见的wait等待事件及处理
  10. WT2003S MP3解码芯片 语音芯片 KT403A VS1003替代