java整合webgl stl_结合WebSocket编写WebGL综合场景示例

该博客展示了如何在WebGL场景中整合Java和STL模型,利用WebSocket实现多用户交互。文章通过具体实例,如在场景中导入Babylon骨骼模型并控制其移动,以及当其他用户加入时,模型根据用户行为做出反应。内容涵盖工程结构介绍、基本场景构建、模型导入和WebSocket的使用。
摘要由CSDN通过智能技术生成

在WebGL场景中导入多个Babylon骨骼模型,在局域网用WebSocket实现多用户交互控制。

首先是场景截图:

f47b94f8e12ba7d4762c6101022bcfef.png

上图在场景中导入一个Babylon骨骼模型,使用asdw、空格、鼠标控制加速度移动,在移动时播放骨骼动画。

568458b568080a06c61f16ff5e049843.png

上图在场景中加入更多的骨骼模型(兔子),兔子感知到人类接近后会加速远离人类。

0d25b7edb15bff568fd7521b843d8cfe.png

上图,一个局域网中的新玩家进入场景,(他们头上的数字是WebSocket分配的session id),兔子们受到0和1的叠加影响。

具体实现:

一、工程结构:

前台WebStorm工程:

d8c2b6d3de85620040f8c506882d4a9f.png

其中map.jpg是地形高度图,tree.jpg不是树而是地面泥土的纹理。。。

LIB文件夹里是引用的第三方库(babylon.max.js是2.4版),MYLIB文件夹里是我自己编写或整理修改的库,PAGE里是专用于此网页的脚本文件

其中FileText.js是js前台文件处理库(这里只用到了其中的产生日期字符串函数)

MoveWeb.js是加速度计算库

Sdyq.js里是对物体对象的定义和操作监听

Player.js里是继承了物体对象的玩家对象和动物对象的定义

utils是一些其他工具

View是页面控制库

MODEL文件夹里是人物和兔子的骨骼模型文件。

后台MyEclipse工程:

507b695112621485fb7540a84a8e107f.png

使用JDK1.7,因为Tomcat v8.0里包含了WebSocket所用的库,所以不需要引入额外jar包,只写了一个类。

二、基本场景构建和骨骼模型导入:

html页面文件:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1

2

3

4

5

使用websocket联网进行数据传递,这个节点应该既可以做主机也可以加入他人的主机

6

7

8

9

10

11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值