Skip to content

ThingJS UE与ThingJS的区别

前言

Unreal Engine与T3D采用不同的图形接口与设计架构,在各项功能的实现上会有不同的差异,出于性能、效果等各个方面的考量,ThingJS UE在部分功能底层实现和ThingJS T3D会有一些差异。

本篇的内容主要展示目前常用方案的底层实现上差异,解释ThingJS UE为什么会出现和ThingJS T3D不一样的结果

架构差异

UET3D
图形接口DirectX11 / DirectX12 (SM6) / VulkanWebGL / WebGL 2 / WebGPU
跨平台全平台(兼容成本高)全平台
应用架构CS(依靠串流实现BS)BS
硬件平台x86_64/arm64(兼容arm64成本高)全平台

拾取功能

  • UE 同时使用RayCast和GPU Picker,兼具拾取性能与拾取效率
  • T3D 默认使用GPU Picker
UET3D
可以拾取到Mesh的三角面片、对象位置、拾取点坐标、面法向量、碰撞点法向量、拾取的组件、骨骼(骨骼模型)、距离等可以拾取到Mesh、对象位置、拾取面的法线
可以实现穿透拾取,并且在大型复杂场景下不会有较大的性能消耗不支持穿透拾取
使用射线检测的情况下使用较为简单,无需额外渲染开销充分利用GPU运算
开启Raycast的情况下需要对模型添加碰撞盒(做场景需要对staicmesh组件进行相关设置,其他资源无需手动添加)无需添加碰撞盒

运行模式

UET3D
UE运行在服务端,通过云渲染方式将视频流推送到前端页面T3D三维场景的运行和渲染在客户端浏览器完成
渲染、运行压力在服务器端,对服务器机器配置网络有要求渲染、运行压力在客户端浏览器,对客户端机器有要求,有性能瓶颈

TODO: 待补充

京ICP备13053130号 京公网安备11010502050947号