跳转至内容

1

在线

678

用户

201

主题

523

帖子
  • 用orillusion渲染瓦片地球

    中文社区
    3
    0 赞同
    3 帖子
    2k 浏览
    MrzhubingxinM

    @Scorpio-Gyh
    1.这个85°空洞是这个地图服务就这么大,像cesium这种解决方法是把这块从边缘拉伸补上的,这一块本身就是空洞的,你可以了解一下这种投影;
    2.剔除是相机和地球直接的距离,相机的旋转角度来剔除
    3.数据源你可以申请一下百度或者高德的地图开发平台

  • 0 赞同
    1 帖子
    331 浏览
    尚无回复
  • 获取不到模型动画

    中文社区
    2
    0 赞同
    2 帖子
    930 浏览
    shuangliuS

    感谢反馈,这个模型里的动画并不是 SkeletonAnimation 骨骼动画,目前引擎中 loadGltf 还没有对属性动画做处理,稍后版本会加入相关处理

  • 加载的模型如何更换材质纹理

    中文社区
    5
    0 赞同
    5 帖子
    766 浏览
    shuangliuS

    嗯 这个是一个已知bug
    https://github.com/Orillusion/orillusion/issues/177
    稍后版本会解决这个问题

  • 你好,关于超过20G的模型的加载

    中文社区
    2
    0 赞同
    2 帖子
    1k 浏览
    shuangliuS

    对于大模型,一般是无法直接加载到内存或显存里的,除非配置超大的显卡和内存,所以通常来说,需要配合后端的 模型预处理 和 实时网络分发 来进行大模型展示

    一般需要先将模型预处理成特殊的 分片 和 LOD 处理,比如 3dtiles 这种模型标准,常用于 GIS 类的应用,它会将整个模型进行坐标分片 和 lod 处理,再配合上层应用引擎进行选择性加载,比如只加载当前视口内的分片模型和lod,其它的模型会从内存和显存内剔除,根据视口的变换实时向服务器请求不同的分片模型,保证同一时间内引擎其实只加载了很小一部分,并不会全部加载 几十G 的内容

    Orillusion 当前版本还没有开发对类似 3dtiles 等主流分片模型的支持,但有计划开发相关的扩展支持,也计划会开发对模型进行分片处理的后端工具和服务,如果您有gis类的开发经验,也非常欢迎提交相关 pr

  • 加载大模型

    中文社区
    3
    0 赞同
    3 帖子
    2k 浏览
    shuangliuS

    glb是将所有文件都打包到了一起,有优点,也有缺点,一个大文件并不利于 web 网络加载和缓存,所以实践中,一般我们都建议使用 gltf 将所有文件分开打包,可以把一个模型拆分成多个独立的小文件,1个gltf,多个bin,和多个jpg/png... 贴图,一般每个文件都会小于50mb方便传输和缓存

    并且浏览器可以同时发起多个http请求,也就是把一个模型并行加载,使得整体下载时间相较于一个glb大幅度缩减,提升网络传输效率,当然前提条件是你的带宽和服务器带宽足够大

  • 发布项目的模型处理

    中文社区
    3
    0 赞同
    3 帖子
    737 浏览
    Z

    @shuangliu 无法将模型文件打到包里

  • vue打包发布

    中文社区
    3
    0 赞同
    3 帖子
    841 浏览
    Z

    @shuangliu 感谢回答,用本机nginx发布,手绘的立方体正常,但glb模型文件打包没好使,提示 invalid GLB file

  • 请问有没有使用JavaScript进行开发的版本

    General Discussion
    4
    0 赞同
    4 帖子
    1k 浏览
    shuangliuS

    @zilong ts只是一种开发脚本,最终都是要编译成js运行的,发布的 @orillusion/core 里的核心文件也是 js 文件,当然是可以被 js 引用的,并不要求开发者也必须要使用ts

  • 三维地球渲染

    General Discussion
    1
    0 赞同
    1 帖子
    1k 浏览
    尚无回复
  • gltf加载问题

    中文社区
    3
    0 赞同
    3 帖子
    1k 浏览
    Y

    如何提供模型文件个你们呢?

  • 自定义shader,uniform值怎么定义和传递

    中文社区
    1
    0 赞同
    1 帖子
    519 浏览
    尚无回复
  • 0 赞同
    2 帖子
    221 浏览
    shuangliuS

    感谢反馈,类似的读取像素或截屏的API会在后续版本中加入

    不过,WebGPU 对于 CPU 和 GPU 的数据读写速度可能并不会有额外的帮助。Three 中也是使用 WebGL/2 原生 readPixels 将渲染贴图buffer copy到 CPU/JS 中,这其中 Three 并没有添加额外的处理导致额外的时间,最终传输速度基本取决于设备的 GPU 到 CPU 的物理读取带宽。

    使用 WebGPU 并不会加速这一过程,WebGPU 能带来的优势是异步IO,也就是将 readRenderTargetPixels 变成异步读取,减少阻塞主线程的渲染,所消耗的整体时间不一定比 WebGL 快,但主线程渲染帧率不会出现明显掉帧,不会出现ui卡顿,整体体验会好一些

  • 物体渲染抖动

    中文社区
    2
    0 赞同
    2 帖子
    835 浏览
    U

    看看后期处理TAA,不过不得不说,加了后期处理后,页面肉眼可见的变卡了,后期处理希望还要多优化

  • API文档错别字

    Suggestions & Feedback
    4
    0 赞同
    4 帖子
    1k 浏览
    shuangliuS

    感谢反馈,已修改

  • 0 赞同
    3 帖子
    240 浏览
    shuangliuS

    全局光照我们也会在稍后几版中加入

  • 加载glb模型设置HDR泛光不生效

    General Discussion
    2
    0 赞同
    2 帖子
    1k 浏览
    shuangliuS

    一个gltf模型一般是由多个子模型组合而来的,loadGltf 的本质是遍历模型中所有子节点,挨个添加 meshrenderer 分别进行渲染,最终返回的只是模型的一个逻辑根节点,这个 object 本身是没有内容的,它的 children 才是具体的渲染节点,给 root 设置 material 是不会更改内部子节点显示内容的。

    一般我们可以通过forChild遍历模型的所有子对象来设置对应的 meshrenderer 显示,e.g.

    // 加载模型,返回一个 root 节点 let asrolite = await Engine3D.res.loadGltf(...) // 遍历所有子节点 asrolite.forChild(node=>{ // 获取子节点的渲染组件 let mr = node.getComponent(MeshRenderer) if(mr){ // 如果是渲染节点,再设置对应的 material mr.material.emissiveMap = … mr.material.emissiveColor = … … } })
  • scene.addComponent(Stats);

    中文社区
    3
    0 赞同
    3 帖子
    938 浏览
    H

    更新版本到0.6.2好了

  • orillusion的视频材质,也许这样可以丝滑一些

    中文社区
    3
    1 赞同
    3 帖子
    998 浏览
    OldGongO

    感谢您的回复,我看到目前的示例中已更新。

  • 文档中没找到类似Threejs中BufferGeometry的api

    中文社区
    4
    1 赞同
    4 帖子
    852 浏览
    Mqian43M

    @shuangliu 好的感谢