three.js使用UDP(客户端/服务器)的HTML5多人游戏壁虎

three.js壁虎151
我只是想和大家分享一下我刚才建的图书馆。我读了很多文章,甚至在较新的文章中,都说在浏览器中通过UDP进行网络连接是不可能的。但这是可能的。WebRTC的数据通道可以通过UDP(SCTP)发送无序和不可靠的消息。但是WebRTC不仅仅在浏览器中工作。除其他外,它在Node.js. 因此,如果您想通过UPD连接多人游戏,请在浏览器和上使用WebRTCnode.js.
我的图书馆就是这样做的。在浏览器和服务器之间通过UDP发送客户端/服务器消息
ode.js。看一看!我相信你们中的一些人可以使用它
这是我刚刚在巴比伦论坛。但我觉得它也非常适合这里。
不错!您能详细介绍一下WebSocket和WebRTC之间的区别吗?(除非它们是一样的,否则我对网络有点无知。我只记得Colyseus框架使用ws://进行实时通信,使用HTTP进行有序更新。)mjurczyk:nWebSocket和WebRTC之间的区别
WebSocket和WebRTC之间的最大区别在于
- WebSocket运行在TCP之上UDP
这对你的多人游戏意味着什么,你可以在这里观看78。mjurczyk:nColyseus
我刚刚看到有一个相关的未解决问题8和一个已解决问题1。也许有一天他们会加上它。也许我可以写信给他们,帮助他们添加。我不知道他们的计划是什么
干得好,我相信这对我的mmorpg项目会有很大帮助,我对websocket有疑问,你提到了一个重要的点,UDP或TCP,谢谢分享!
这太恶心了!从没想过网络会支持UDP。这将修复我们在那些有趣的小网络游戏中的所有滞后。了不起的工作!!这太棒了!
你知道WebTransport吗?nhttps://wicg.github.io/web-transport/98
是的,如果它(或类似的quic(HTTP/3))变得广泛可用,我将集成它并使用WebRTC作为备用方案
我对壁虎56及socket.io7希望它对HTML5游戏有帮助-UDP与TCP!你一定要把它挂上壁虎32自述,展示UDP和TCP(或壁虎32及socket.io2). 没有什么比清晰的视觉效果更令人信服了海豚智商:
你绝对应该把它放上去壁虎
完成了
这是一项了不起的工作!
出于好奇,什么样的情况会导致严重的数据包丢失?nduhaime:
出于好奇,什么样的情况会导致严重的数据包丢失?
生活在荷兰,通过Tele2互联网连接……:”
非常有趣的家伙!但WebRTC数据通道是否仅在对等网络之间可用?nduhaime:
出于好奇,什么样的情况会导致严重的数据包丢失?
我想是坏网络吧。我不是一个真正的网络专家,也没有任何关于包丢失的统计数据。很高兴能看到一些基于每个国家的统计数据。
但包裹丢失并不是唯一的事情壁虎13保护你。它平滑了巨大的延迟峰值
低于packetlosstest.com从我的手机截图4。在我居住的地方,包丢失不是问题,但是有些包到达时延迟了100毫秒(或更多)。
现在,假设您每16毫秒(每秒60次)向您的客户端发送一个新的更新,第100个包的延迟为100毫秒。即使您可能已经收到包101、102和103,如果您使用TCP,客户端也会收到在读取101、102等之前,等待包裹编号100。如果你使用壁虎13(UDP)您可以立即读取101、102并在它到达时删除100。
希望这有帮助屏幕截图\\u 20200610-2146501440×2880 391 KBnaiteon:n,但WebRTC数据通道是否仅在点对点之间可用?
是的,但点对点不一定只是浏览器对浏览器。一个节点可以是浏览器,第二个节点可以是服务器。
哦,我明白了。太棒了,伙计!真是个好主意!
酷,总有一天会有人这么做的。顺便说一句,也许你会有兴趣阅读这篇>n@yannick很棒的文章-我在追求终极html5多用户服务器速度的过程中偶然发现了你的文章。
我有一个问题,你的库与这里有什么不同?n2020-09-16 14\\u 42\\u 13-21-webtransport-WebCodeCsdf1920×1080 82.3 KBnPDF:nw3.org21 webtransport-webcodecs.pdf7n890.39 KB
谈话:任何浏览器都不支持QUIC。另一方面,请参见>nWebRTC得到了很好的支持>
壁虎7使用客户端/服务器WebRTC数据通道。但一旦quic被广泛使用,如果需要的话,它会使用它,然后退回到WebRTC。
所以第二种情况是在服务器和浏览器之间使用UDP。
非常感谢
21-webtransport-webcodecs-19800×450 30.3kb
对于未来,我认为我们现在可以使用QUIC/HTTP3作为实验功能:nfirefox>;关于:配置>;http3&燃气轮机;network.http.http3.启用>;真
chrome>;chrome://flags/>;quic>;实验quic协议>;启用
HTML5 Multiplayer Games over UDP (client/server) using geckos.ion

three.js[已解决]正交摄影机的变换控件:gizmos缩放问题

您好,我正在使用带轨道控制的正交摄影机。我注意到当缩放照相机变焦不改变相机的位置(如透视相机)。首先,我想知道为什么这两个相机的实现方式不同?第二,我也在使用TransformControls,对于透视摄影机,更新功能上的小控件的重新缩放在这个等式中非常有效>但是使用OrbitControls更改缩放而不是正交摄影机的位置时,它没有正常工作。我试着像这样在等式中添加缩放,但没有得到任何好的结果>我应该以不同的方式包括它吗?我应该使用其他控件吗?谢谢大家的帮助!NaDaMa:首先,我很想了解为什么这两个摄像头...

日期:2021-12-11 08:00:01 浏览:1728

three.js多次渲染同一模型(obj模型),FPS要低得多

我试图在程序中渲染150个相同的树模型,但FPS突然从60下降到30+。你能告诉我什么是最好的解决办法吗?非常感谢。和平与爱。skr有两种典型的方法可以解决这个性能问题(太多的绘制调用):- 使用实例化渲染- 将所有几何体合并为一个几何体(因此只有一个网格)...

日期:2021-12-11 08:00:02 浏览:1742

three.js可缩放场景背景

three.js大家好,我有一个场景,由一个物体(反射雕像)组成,保持在一个漂亮背景的中心。我一直在使用威尼斯日落矩形hdr地图作为我的场景背景它既可以作为环境地图,也可以作为背景我看到背景不会与场景中渲染的网格一起缩放。这给人一种场景完全是假的感觉。i、 e状态向上/向下缩放,但背景不缩放。目前,我已经禁用了放大/缩小功能,这样用户就不会感到害怕。我的问题是:1. 当轨道控制放大/缩小时,我是否需要在此处使用一些着色器魔法来放大或缩小场景背景,以便看起来场景中的所有对象都在均匀缩放?或者这根本不可能做到?...

日期:2021-12-11 09:00:02 浏览:1266

three.js移动导入的Gltf模型

three.js我导入了我的gltf模型并将其添加到场景中,但现在如果我尝试移动它,它将不会=新建三、几何();var=混音器( 模型动画[0]>如何移动模式?Prakar_Srivastava:var>3D对象不能是Geometry或BufferGeometry类型。它应该是Object3D或类似Mesh、Points或Line的派生类的实例。在您的情况下,我只是这样声明变量:var mode;在动画循环中,执行以下操作:如果(mod!==未定义)>还请记住,基本3D场景的重要部分在代码片段中丢失(例如相...

日期:2021-12-11 10:00:01 浏览:1099

three.js平面明暗处理的问题

three.js嗨!我在项目中使用节点材质。我在模型渲染方面有问题。它看起来像是真实的平面阴影。如何平滑多边形?也有点像低分辨率阴影纹理贴图的自阴影。可能不是,但可能是。@Arkadiy\\u Vinkovskiy您需要在您的帖子中添加更多细节。屏幕截图不足以说明这里发生了什么。始终包括引起问题的代码,如果您使用的是模型,也要包括这些代码。更好的是,使用codepe制作一个工作示例...

日期:2021-12-11 10:00:02 浏览:992

three.js如何渲染立方体材质?

您好,直到昨天,我才相信Object3D是一组网格,而网格是一组几何体+材质,每个对象只有一个对象。我发现了立方体材质的结构,因此object3D的网格包含1个几何体(boxGeometry)和6个材质!所以问题是,这种网格的渲染效果如何?有关于它的文件吗?(这是为了提高我对three.js)非常感谢还有其他问题,与我的上一个帖子相关,如果一个网格中可能有多个材质,如何设置CustomDistanceMaterial以考虑所有材质的所有贴图?elysium11:所以问题是,渲染如何在这种类型的网格上工作?您...

日期:2021-12-11 11:00:03 浏览:851

three.js如何创建要在网格中拟合的线段

three.js伙计们,我想帮忙,假设我有一个这样的网格图像718×729 1.25 KB我想在网格面内创建线段,也就是说,我想将网格转换成这样的线图像710×828 740字节有人能帮忙吗???...

日期:2021-12-11 12:00:01 浏览:900

three.jsGLTFLoader.js这是我的登记簿错误

three.js每当我试着做决定的时候3.GLTFLoader对象我收到此错误代码:“未捕获类型错误:这是我的登记簿不是一个函数“我需要帮助!由Penta#u Trax在post#5中解决我最终发现我一直在使用错误的文件,当你需要使用jsm/example时,我使用的是js/example。其他东西也是个问题。但这是问题的基础。你能给我们看看你的代码吗?通常,如果你使用的是import语句,GLTFLoader不需要在前面加三个字符。好的,所以在这之前,我刚刚关注了这个视频,因为它是去年发布的。但是现在我试...

日期:2021-12-11 12:00:02 浏览:1061

three.js使用threejs的光流

嘿,我需要通过我的屏幕显示一束移动的光束。我不想使用任何模型或动画。我想知道我是否可以单独使用threejs来实现这一点。我也应该能够控制其运动的颜色强度和路径。嗨!也许这会有帮助:GitHub-jeromeetienne/三倍体积聚光灯: three.js扩展以提供体积聚光灯13,用于可视化光锥。您可以使用THREE.Curve()设置其路径。控制颜色强度,可能取决于曲线上的位置,也可以使用tween.js或者GSAP用于复杂的动画。创造力取决于您这是您想要的吗?https://threejs.org/e...

日期:2021-12-11 13:00:01 浏览:1303

three.js使用光线投射动态绘制多边形

我要画多边形three.js具有交点。为此,我使用下面的函数。首先,我使用光线投射器在第一个交点的第一个点添加球体。每次单击后,在交点处创建新球体,并在该交点和上一点之间创建线。现在,我希望在第一次单击时关闭多边形指向或单击该点周围。如何实现此目标。raycaster params是否与网格一起工作以检测鼠标位置周围的网格?function checkIntersectionclick() = raycaster.intersectObjects(addedObject, true);if (interse...

日期:2021-12-11 13:00:02 浏览:860