1. Leobox auf bestimmten Raum zuweisen

1.1. Sensorbox konfigurieren

2. Zugriff auf 3D-Modell/Räume in Angular

2.1. Zugriff auf .obj Datei in Angular

2.1.1. Schritte:

  • Nutzen von three.js-Bibliothek in Ihrem Angular-Projekt.

  • Verwenden Sie den OBJLoader von three.js, um die .obj-Datei zu laden.

  • Für Interaktionen mit dem Modell (wie das Klicken oder Ziehen des Modells) können Sie THREE.Raycaster verwenden.

2.2. Raum zuweisung in Angular-Client

2.2.1. Klasse: Loader

  • modelName: Der Name des zu ladenden Modells.

  • scene: Die Szene, in die das Modell geladen wird.

  • objects: Ein Array, das alle Objekte in der Szene speichert.

  • objectArr: Ein Array, das alle Children des geladenen Objekts speichert.

  • floors: Ein Array, das die Namen aller Bodenobjekte speichert.

  • finishLoadingCallback: Eine Callback-Funktion, die aufgerufen wird, wenn das Laden abgeschlossen ist.

  • floorObject: Ein Array, das alle Bodenobjekte speichert.

2.2.2. Laden der Assets und des Models

Diese Methode lädt die Materialien (.mtl) und das Modell (.obj) mit Hilfe des MTLLoader und OBJLoader. Nach dem Laden des Modells wird es zur Szene hinzugefügt und seine Kinder werden zum objectArr hinzugefügt. Schließlich werden alle Kinder der Szene zum objects Array hinzugefügt.

2.2.3. Methode: generateLoadingManager

In der onLoad-Funktion des LoadingManager:

  • roomObject: Dieses Array wird gefiltert, um nur die Elemente zu behalten, deren Name mit 'U', '1', '2' oder 'E' beginnt. Dies könnte eine Konvention sein, um Räume in den Modellnamen zu kennzeichnen.

    • Im 3d-Modell sind die Raum-Objekte genau so gekennzeichnet/bennant

3D Modell Stockwerk Bezeichnung
  • floorObject: Dieses Array wird gefiltert, um nur die Elemente zu behalten, deren Name mit 'c', 's', 'f' oder 'g' (cealing, secondfloor, firstfloor) beginnt.

    • Im 3d-Modell sind die Stockwerk-Objekte genau so gekennzeichnet/bennant

3D Modell Raum Bezeichnung

3. Neue räume 3D Modell hinzufügen

  • Bearbeitung im 3D-Modell durchführen

  • Raum Objekte nach Naming-Convention benennen

    • BSP (E73, 111, 232)

Room With Model next to it
  • Exportireren in .obj Datei

How to export obj in c4d
  • Datei in Assets ordner Kopieren

    • Wenn nötig weitere änderungen im Angular-Code vornehmen