• 关于#游戏引擎#的问题:虚幻项目设置里,不开Hardware Ray Tracing支持硬件光线追踪光线追踪阴影(不开)ue光直接穿过封闭空间的模型,


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 weixin_44529779 2024-05-15 16:22 采纳率: 0% 浏览 3 首页/ 游戏 / 关于#游戏引擎#的问题:虚幻项目设置里,不开Hardware Ray Tracing支持硬件光线追踪光线追踪阴影(不开)ue光直接穿过封闭空间的模型, 游戏引擎虚幻ue5 虚幻项目设置里,不开Hardware Ray Tracing支持硬件光线追踪光线追踪阴影(不开)ue光直接穿过封闭空间的模型, 怎么让光不穿过模型 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-15 16:22
      关注

      在UE项目设置中,启用静态光照或使用物理材质可防止光穿透模型。

      以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

      评论
      专家-赤兔[在线] 回复 weixin_44529779 2024-05-15 16:23

      在虚幻引擎(Unreal Engine)中,如果你想要阻止灯光穿透封闭的空间模型,你需要确保你的模型被正确地设置了材质和网格灯光遮罩。这里是一个详细的步骤指南:

      1. 检查模型和网格: 确保你的模型没有洞或者开放的部分,所有面都应该是封闭的。如果模型有镂空部分,你需要修复它。

      2. 创建或修改材质:

        • 打开Content Browser(内容浏览器),找到你的模型所使用的材质。
        • 如果还没有,可以右键点击Content Browser中的空白区域,然后选择Materials -> Material进行新建。
        • 在Material Editor(材质编辑器)中,找到Lighting Model选项卡,在Basic Settings(基本设置)部分,确保Lighting Mode(光照模式)设置为"Specular Workflow" 或 "PBR金属/粗糙度"。
      3. 启用表面着色器:

        • 为了防止光线穿透,你需要开启表面着色器功能。
        • 转到Surface Shaders(表面着色器)标签页,勾选"Use Surface Shader"(使用表面着色器)复选框。
        • 如果是PBR材质,确保"Diffuse Base Color Alpha Is Translucency"(漫反射基底颜色Alpha作为透明度)未被勾选。
      4. 网格灯光遮罩:

        • 有时即使材质设置正确,模型仍然可能允许光线穿透,这时可以考虑使用网格灯光遮罩。
        • 在你的蓝图或者C++类中,找到与模型关联的Actor,并打开它的Component Tree(组件树)。
        • 寻找Static Mesh Component(静态网格组件),并展开它。
        • 找到Light Mass Properties(灯光质量属性)并双击打开它。
        • 在Lightmass Settings(灯光质量设置)中,勾选"Light Visibility"(灯光可见性)。
        • 点击"Add Light Visibility Channel"(添加灯光可见性通道),然后选择一个名称(例如"MyMeshMask")。
        • 这会创建一个新的遮罩通道,用于控制灯光如何影响这个模型。
      5. 分配遮罩:

        • 在Scene Outliner(场景大纲视图)中,找到你的模型,展开它,然后找到Light Visibility Channels(灯光可见性通道)。
        • 双击"MyMeshMask"通道,进入Mask Editor(遮罩编辑器)。
        • 使用画刷工具将模型填充为白色,表示该模型对灯光是可见的。如果不希望光线穿透某个特定部分,可以将其涂成黑色。

      完成上述步骤后,你应该能看到灯光不再穿透你的模型。如果还有问题,确保你在Project Settings(项目设置)中启用了Light Propagation Volumes(光照传播体积)以支持全局照明。这可以在Project Settings > Engine > Rendering > Global Illumination中找到。

      回复
    • 阿里嘎多学长 2024-05-15 16:22
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      您想要解决的问题

      您想要解决的问题是如何在虚幻引擎(Unreal Engine,简称UE)中防止光线穿过封闭空间的模型,即使在关闭了硬件光线追踪(Hardware Ray Tracing)和光线追踪阴影(Ray Traced Shadows)的情况下。

      问题出现原因

      这个问题可能出现的原因是在虚幻引擎中,默认的光照系统可能没有正确处理封闭空间的光照效果,导致光线看起来像是穿过了模型。这可能是因为光照设置不正确,或者模型的几何体存在问题,比如微小的间隙或者不准确的碰撞体积。

      问题解决方案

      为了解决这个问题,您可以尝试以下几种方法:

      1. 检查模型的几何体:确保您的模型是完全封闭的,没有微小的缝隙或者重叠的面。

      2. 使用遮挡体积:在需要防止光线穿透的区域,使用遮挡体积(Occlusion Volumes)来阻止光线。

      3. 调整光照设置:在UE的光照设置中,调整光照的衰减和阴影设置,以更好地模拟封闭空间的光照效果。

      4. 使用体积光照:如果问题依然存在,您可以尝试使用体积光照(Volumetric Lighting)来模拟更真实的光照效果。

      提供代码

      由于虚幻引擎主要是通过蓝图(Blueprints)和可视化编辑器进行操作的,而不是传统意义上的编程,因此这里不提供具体的代码解决方案。但是,以下是一些可能需要调整的设置的蓝图节点:

      • Set Mobility:将模型的Mobility设置为StaticStationary,以优化光照计算。
      • Occlusion Query Override:使用这个节点来控制是否使用遮挡查询。

      代码运行方式

      在虚幻引擎的编辑器中,您可以通过以下步骤运行和测试您的设置:

      1. 打开您的项目。
      2. 选择需要调整光照效果的模型。
      3. 在细节面板中找到光照相关的设置并进行调整。
      4. 保存并编译您的蓝图。
      5. 在编辑器中预览效果。

      代码预期运行结果

      预期结果是光线不再穿过封闭空间的模型,而是被正确地阻挡,从而在封闭空间内产生更真实的光照效果。

      推荐相关链接

      以下是一些可能与该问题有关的一些网站:

      这些资源可以帮助您更深入地了解虚幻引擎的光照系统和相关的最佳实践。

      展开全部

      评论 编辑记录
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    3、后台数据库连接以及工具类编写 [木字楠博客]
    第1章 强化学习基础
    Ubuntu 24.04 LTS 安装Docker
    rust入门基础案例:猜数字游戏
    Unity--互动组件(Toggle Group)||Unity--互动组件(Slider)
    33 | 我应该迁移到HTTP/2吗?
    IDEA 开发插件,插件依赖|文件路径转VirtualFile 遇坑随笔
    leetcode146.LRU缓存,从算法题引入,全面学习LRU和链表哈希表知识
    递推与递归
    MySQL主从配置的一些问题
  • 原文地址:https://ask.csdn.net/questions/8103890