评论

Three-platformize 一个支持多小程序平台的THREE (已适配微信小程序和淘宝小程序)

一个支持TS,tree shaking,多小程序平台的three.js

虽然微信官方提供了一个适配方案,但是并不完美,尤其是在工程上面。可轻松实现web和小程序代码复用

所以针对性优化了已下支持

  1. 支持TS类型提示,能方便查阅API文档(d.ts)
  2. 可以通过构建修改方便使用 three 生态 npm 包,无需手动 scope,比如 GLTFLoader
  3. 支持 tree shaking 能减少多点就少点,加个 tfjs 就更加头大。
  4. 有资源释放 dispose 接口。
  5. 支持方便动态注入多个小程序平台的平台接口实现适配器,多 backends 。

在努力适配中,目前已适配和测试过以下模块

Loader

  1. GLTFLoader (支持带纹理的GLB) && (EXT_meshopt_compression 需WASM 安卓可用)
  2. TextureLoader
  3. RGBELoader & PMREMGenerator
  4. SVGLoader
  5. OBJLoader
  6. EXRLoader (需支持 OES_texture_float_linear 扩展)
  7. MTLLoader
  8. DDSLoader (需支持 WEBGL_compressed_texture_s3tc 扩展)

Controls

  1. OrbitControls & MapControls
  2. DeviceOrientationControls

项目地址 https://github.com/deepkolos/three-platformize

DEMO地址 https://github.com/deepkolos/three-platformize-demo-wechat


最后一次编辑于  2021-02-01  
点赞 2
收藏
评论

5 个评论

  • 六月在春天
    六月在春天
    02-01

    双指放大缩小之后,会出现卡顿,而且有bug,出现单指也能缩放

    02-01
    赞同
    回复
  • 阿水v2020
    阿水v2020
    2021-11-14

    微信小程序下 材质开启阴影没有效果呢 同样的代码 原生three.js跑 没问题

    2021-11-14
    赞同
    回复
  • Vegas柠檬🍋
    Vegas柠檬🍋
    2021-05-26

    你好,我下载你的demo,但是好像没法正常运行,页面全白

    2021-05-26
    赞同
    回复
  • DeepKolos
    DeepKolos
    2021-04-14

    已测试模块


    Loader

    1. GLTFLoader (支持带纹理的 GLB) && (EXT_meshopt_compression 安卓可用
    2. WASM,ios 可用 ASM 版,见 tools) && (KHR_mesh_quantization,小程序可用)
    3. TextureLoader
    4. RGBELoader & PMREMGenerator (小程序部分机型可能偶现生成 envMap 错误,可用HDRPrefilter避免 )
    5. SVGLoader
    6. OBJLoader
    7. EXRLoader (需支持 OES_texture_float_linear 扩展,部分移动端 GPU 不支持)
    8. MTLLoader (小程序使用 JPG 纹理即可)
    9. DDSLoader (需支持 WEBGL_compressed_texture_s3tc 扩展,移动端 GPU 不支持)
    10. LWOLoader (需支持 EXT_blend_minmax 扩展,小程序一半效果绘制出错)
    11. FBXLoader
    12. BVHLoader
    13. ColladaLoader (DOMParser querySelector 未适配)
    14. TTFLoader
    15. STLLoader
    16. PDBLoader
    17. TGALoader (改用 DataTextureLoader PR 已合并,r127 可用)
    2021-04-14
    赞同
    回复
  • DeepKolos
    DeepKolos
    2021-01-27

    1.0.5 (2021-01-27)


    Bug Fixes

    • meshopt location at examples/jsm/libs (4cda31b)
    • update npmignore (936eac9)

    Features

    • add meshopt & doc update & fix ownerDocument (a6368e5)
    • add TextDecoder polyfill & EXRLoader works (25ff7c7)
    2021-01-27
    赞同
    回复
登录 后发表内容