• 版块
  • 最新
  • 标签
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

Orillusion

0

在线

524

用户

151

主题

408

帖子

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

已定时 已固定 已锁定 已移动 General Discussion
hdr
2 帖子 2 发布者 64 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • U 离线
    U 离线
    unstop007
    写于 最后由 编辑
    #1

    使用自带BoxGeometry可以泛光,加载glb模型设置HDR泛光不生效
    1c6421b1-8abd-4f82-92ed-c542eb121bda-image.png

    1 条回复 最后回复
    0
  • shuangliuS 离线
    shuangliuS 离线
    shuangliu
    写于 最后由 shuangliu 编辑
    #2

    一个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 = …
            …
        }
    })
    
    1 条回复 最后回复
    0

Copyright © 2023 Orillusion | Contact US

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。