Javascript 将模型分成三部分

Javascript 将模型分成三部分,javascript,three.js,Javascript,Three.js,说你有一个简单的答案。当您将鼠标移到上方时,模型将亮起 然而,在这个实现中,这个模型将被分成几个部分,这些部分将是模型的一部分,但仍然是各自独立的“模型”。例如,假设您的模型恰好是一辆汽车。当您将鼠标移到发动机罩上时,它会亮起。当你把鼠标移到门上时,它会亮起来,等等。 我在threejs示例中没有找到我所说的任何这样的例子 有没有办法将一个完整的.obj模型分解为三个.js中的几个独立但相互连接的模型?我已经使用三个js很长时间了,但我认为这是不可能的,至少三个js本身是不可能的(也许WebGL

说你有一个简单的答案。当您将鼠标移到上方时,模型将亮起

然而,在这个实现中,这个模型将被分成几个部分,这些部分将是模型的一部分,但仍然是各自独立的“模型”。例如,假设您的模型恰好是一辆汽车。当您将鼠标移到发动机罩上时,它会亮起。当你把鼠标移到门上时,它会亮起来,等等。 我在threejs示例中没有找到我所说的任何这样的例子


有没有办法将一个完整的.obj模型分解为三个.js中的几个独立但相互连接的模型?

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

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

  • 不要使用光线投射器,而是使用点光源。这会将灯光投射到区域而不是对象上,因此,如果你瞄准一个大对象,你将根据点光源的强度和距离,只照亮对象的一部分

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