使用法线贴图实现 3D 效果

使用法线贴图实现 3D 效果

法线贴图是一种用于在传统 3D 图形中模拟光照效果的重要技术。我们正在重新利用它,使其在 Corona 中变得非常容易实现。

例如,以下是如何实现点光源效果的方法

所有效果都有您可以使用的属性旋钮。在点光源中,其中一个旋钮是点光源的位置。在下面的视频中,我们只是在圆圈中移动位置

walter
20 条评论
  • Greg
    发布于 07:23,8 月 28 日

    看起来太棒了!

  • Mario Roberti
    发布于 07:49,8 月 28 日

    这正是我想要的!,,, 我们能够拥有多个点光源吗!? 只是在检查以防发射多个魔法导弹。我可能不得不攻击黑暗!

    🙂
    -Mario

    • FearTec
      发布于 10:15,8 月 29 日

      我怀疑它是不是凹凸贴图

  • Pablo Isidro
    发布于 09:03,8 月 28 日

    太棒了!

  • Fan Studio iPhone 游戏开发公司英国
    发布于 10:43,8 月 28 日

    这太疯狂了! 迫不及待想要上手了!

  • Devin
    发布于 11:02,8 月 28 日

    我不想听起来像是在发酸葡萄,但早在 5 月份,您就谈到 Graphics 2.0:

    “顺便说一下,如果您渴望使用新的图形引擎,我们很快就会将其分发给测试人员,可能最早在下个月!”

    其中“下个月”将是六月,“新图形引擎”表示为 Graphics 2.0。

    在这篇文章中,您说“只是快速预览一下即将到来的 Graphics 2.0 更新中的内容,我们很快就会将其分发给 alpha 测试人员。”

    那么 Graphics 2.0 的实际情况如何? 它是否已经在测试人员中进行测试?

    • Walter
      发布于 11:19,8 月 28 日

      我们已经将其分发给选定的开发人员 - 请参阅我之前的帖子:https://www.coronalabs.com/blog/2013/08/07/corona-update-graphics-2-0/

      而我指的是,这些开发人员的新更新即将推出。

      在更开放的测试版方面,我之前在帖子中暗示过这一点,但具体来说,我们选择延迟它,以便我们可以自由地更改 API 之类的内容。

      • louis roy
        发布于 15:48,8 月 29 日

        亲爱的 Walter,

        您知道什么时候蓝牙控制将可用于 Iphone 和 Android 平台(用于机器控制...如机器人...等...启用蓝牙)

        谢谢,

  • Chase Morell
    发布于 11:48,8 月 28 日

    Graphics 2.0 是否可用于 corona 入门版(又名免费版)?

    • David
      发布于 12:31,8 月 28 日

      Chase - 一些功能将可供入门版使用,但许多功能仅供专业版使用。最终列表仍在确定中。

  • Devin
    发布于 13:38,8 月 28 日

    感谢 Walter 的澄清!

  • Cleverson
    发布于 13:41,8 月 28 日
  • Owen Yang
    发布于 21:59,8 月 28 日

    难以置信!!!

  • Jay Patel
    发布于 00:21,8 月 29 日

    很棒的视频,3D 图形是伟大的技术。 它对于网页设计和游戏开发人员非常有用。

  • Thomas
    发布于 06:53,8 月 29 日

    虽然我很欣赏让事情保持简单的努力,但在某种程度上,我觉得我应该直接控制,有点像这样

    local lux = display.newPointLight(color, intensity, x-position, y-position, z-position)

    然后为图像添加一个 z-position 属性。我知道我在这里过于简化了,但是,对我来说,您开始在幕后压制太多力量了。当然,我是使用 openAL 钩子而不是 Corona 声音引擎的那种人...

    • Walter
      发布于 09:22,8 月 29 日

      实际上,您会得到比我展示的更多的东西,但既然您问了。

      您得到的第一件事是为您选择的合理默认值。

      除此之外,您还可以控制效果属性。对于点光源,它看起来像这样

      local effect = object.fill.effect
      effect.pointLightColor = { r, g, b, a }
      effect.pointLightPos = { x, y, z }
      effect.ambientLightIntensity = 0.3 — 值从 0 到 1
      effect.attenuationFactors = { a, b, c }

  • Paolo
    发布于 10:12,8 月 29 日

    这将在我当前的项目中派上用场... 您认为我是否也可以以某种方式模拟一些阴影投射?

  • David Wallin
    发布于 10:20,8 月 29 日

    看起来太棒了! 非常期待 graphics 2.0

  • Theo Rushin Jr
    发布于 12:21,8 月 29 日

    哇!! 放马过来吧!

  • Gianmichele
    发布于 16:28,8 月 30 日

    有了 Graphic 2.0,我们是否也将获得导出到桌面系统的功能?