лучевая передача объектов в группе + объекты в группе внутри нее - PullRequest
0 голосов
/ 25 февраля 2019

то, что я пытаюсь достичь: сначала вы можете выбирать только объекты в группе "интерактивные".когда вы нажимаете на «интерактивный» объект, теперь вы можете выбрать любой объект в группе «мастер».(вы выбираете интерактивное, а затем выбираете объект для размещения.)

"master" содержит группу "взаимодействующие".Прямо сейчас я могу переключаться только с выбора в «интерактивном» на выбор в «мастере» без «интерактивного».

вот мой код:

function render() {

  raycaster.setFromCamera(mouse, camera);

  if (obj_selected) {intersects = raycaster.intersectObjects(master.children)}
  else {intersects = raycaster.intersectObjects(interactable.children)}

  if (intersects.length > 0) {
    if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);

    INTERSECTED = intersects[0].object;
    INTERSECTED.currentHex = INTERSECTED.material.emissive.getHex();
    INTERSECTED.material.emissive.setHex( 0xf4425f );
  } else {
    if (INTERSECTED) INTERSECTED.material.emissive.setHex(INTERSECTED.currentHex);
    INTERSECTED = null;
  }

  renderer.render(scene, camera);

}

Надеюсь, мое объяснение не былоне слишком запутаннозаранее спасибо.

1 Ответ

0 голосов
/ 25 февраля 2019

не берите в голову, я понял это!

, поэтому вместо того, чтобы помещать вещи в группы, я добавил сетки в массив.У меня есть три массива: основной, статический и интерактивный.если я получу пересечения для мастера, тогда я смогу получить доступ ко всем объектам в моей сцене, не связываясь с группами.

заключение: я не думаю, что я должен использовать группы, когда я просто классифицирую вещи.

...