【问题标题】:segmenting a model in threejs在threejs中分割模型
【发布时间】:2014-03-11 00:29:01
【问题描述】:

假设你有一个简单的raycaster。鼠标悬停时,模型会亮起。

但是,在此实现中,此模型将被分解为多个部分,这些部分将是模型的一部分,但仍然是它们自己独立的“模型”。例如,假设您的模型恰好是汽车。当您将鼠标悬停在引擎盖上时,它会亮起。当您将鼠标悬停在门上时,它会亮起,等等。 我在threejs的例子中没有找到我所说的任何这样的例子。

有没有办法将一个完整的 .obj 模型分解成多个独立但相互关联的三个模型?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    我使用threejs 已经有很长一段时间了,但我认为这是不可能的,至少对于threejs 本身来说是不可能的(也许WebGL 有一些工具可以帮助你实现这一点,但是,如果它是一个复杂的模型,例如汽车,结果仍然很糟糕)。但是有几种解决方法。

    1. 在 treejs 中,从多个较小的模型创建模型。对于简单的对象,这是可能的(例如:创建两个半球而不是球体并将它们彼此相邻放置)。

    2. 不要使用光线投射器,而是使用点光源。这会将光线投射到该区域而不是物体上,因此如果您瞄准一个大物体,您最终将只照亮物体的一部分,具体取决于点光源的强度和距离。

      李>
    3. 如果您有汽车等复杂模型。使用一些 3D 建模程序(Blender,...)加载它并将其分解为较小的,然后分别保存它们中的每一个。在你的threejs代码中,分别加载每一个并将它们定位为看起来像单个对象的方式。 (我想这是这种情况下唯一合理的方法)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2018-05-18
      • 2018-07-21
      • 2020-11-01
      • 2021-11-02
      • 2019-09-10
      相关资源
      最近更新 更多