Wir machen den Client derzeit den Objektstatus abrufen, wenn die Seite geladen wird (wodurch die 'ausstehenden' Objekte im Modell in verschiedene Farben werden). Dann fragen wir nach Änderungen, um die Farbgebung zu aktualisieren (Erstens: Das ausstehende Objekt wird beim Laden des Viewers farbig und dann wird der Status erneut überprüft und geändert, damit Forge diese in einer anderen Farbe rendern und ihre alte Farbe/Material speichern kann. wenn die Abfrage eine Änderung erhalten, dass ein Objekt nicht mehr gefärbt werden soll, sagt er Forge wieder das alte Farbe/Material verwendenÄndern von Materialien in Forge
das Problem:. wir haben festgestellt, was das Problem ist, aber wir couldn Ich finde heraus, wie man es reparieren kann Das Problem ist, dass das Ändern von Materialien in Forge nach dem Start nicht mehr funktioniert, es funktioniert nur in den ersten ~ 3 Sekunden oder so (die Materialien wurden verwendet, um die Farben zu zeigen)
Einstellung o Verlays funktioniert auch nach den ersten ~ 3 Sekunden (zeigt Überlagerungen anstelle von Materialien, um die Farben anzuzeigen). Das wollen wir nicht erreichen. Das sieht nicht optimiert aus, weil Overlays durch alles angezeigt werden.
Die Materialien scheinen jedoch "gesperrt" zu sein, da sie nach den ersten ~ 3 Sekunden nicht mehr verändert werden können. Es scheint, als wären sie nicht aktualisiert oder etwas
In den Beispielen fanden wir, dass sie viewer.impl.invalidate (true) verwendet, um den Forge-Viewer zu aktualisieren, aber das macht nichts nach ~ 3 Sekunden.
Wir haben auch jede Kombination von viewer.impl.invalidate (true, true, true) sowie setting material.needsUpdate auf true versucht und auch versucht, die gesamte Szene neu zu rendern.
Wir haben auch gefunden: https://github.com/mrdoob/three.js/issues/790, aber wir konnten nicht einen guten Weg finden, das in Forge zu tun, wir versuchten viewer.requestSilentRender(), aber das tat auch nichts.
Wie auch immer, wir haben alles versucht, was wir uns vorstellen konnten und konnten online finden, damit die Materialien funktionieren, aber nichts machte einen Unterschied. Wir suchen jemanden, der erfahrener ist, wie Forge arbeitet, der sehen kann, was der Materialcode falsch macht.
Wie für den Inhalt, hier ist der gesamte Code müssen Sie verstehen, was geschieht: DROPBOX LINK
Und hier ist ein kleiner Teil der Datei „index.html“, die die Farbe setzt:
try
{
viewer.restoreAllColorOverlays(); //for materials instead of overlays: viewer.restoreAllColorMaterials();
$.each(colors, function(color, selectionIds)
{
viewer.setColorOverlay(selectionIds, color); //for materials instead of overlays: viewer.setColorMaterial(selectionIds, color);
});
}
catch(error)
{
console.error(error);
}
.Hi, vielen Dank für Ihre Antwort. Wir haben die Schritte wie in Teil 2 Ihrer Antwort beschrieben durchgeführt. Leider hat es nicht dazu geführt, dass die Materialien funktionieren, aber die Overlays sehen jetzt viel besser aus. Wir wären sehr daran interessiert, unser Projekt mit [email protected] zu teilen – artobii