我正在建造一个船模拟器,它将为某些定义的海况下的原型船体设计生成准确的位置和方向值。
在编程方面,我在MATLAB中有2个数组(向量),包含x,y,z,偏航,俯仰和滚转的位置和加速度值。因为MATLAB中的可视化有点粗糙,我打算在MATLAB中编写一个简单的服务器,使用套接字将这些值(200Hz)发送到另一个程序。大海被建模为一个顶点阵列(想想正弦波上不同时间步长的振幅快照)。
所以我的问题是,在屏幕上制作3D船和纹理水的最简单方法是什么?
我只对图形引擎感兴趣。我不需要声音,物理,碰撞,界面(键盘,操纵杆等)。它应该能够主要在Windows上运行,但如果它也可以在Linux和Mac OS上运行(取决于所涉及的额外复杂性),那将会很好。
答案 0 :(得分:1)
不是专家,但很少有潜在客户
如果与OpenGL这样的低级API相比,上面的内容可能会被称为复杂和膨胀,但你必须定义你想要的简单性。
例如,“为3D船和一些纹理水设置动画的最简单方法”可能意味着您直接在顶级OpenGL API上编写一个干净的低级接口;但是,就像任何图形,特别是3D一样,我认为不久你就会开始考虑灯光,相机移动,界面等......然后你可能希望有一个更丰富的环境。
所以,问题还在于你是否想要一些非常苗条的东西然后处理所有类型的低级别任务或者可能包含更多你需要的东西,但是有很多资源和捷径可用。
现在,我的咆哮已经完成 - 我相信你将能够找到一个完整的动画示例,它将在OpenGL中获取两个网格对象(海洋和船舶),并在任何体面的OpenGL教程中将它们显示在屏幕上
答案 1 :(得分:1)
最简单的方法是使用PANDA3D。它使用python并且非常完整。
答案 2 :(得分:0)
我发现OpenGL过去很容易使用,或者如果你在Windows环境中也有Direct3D。