UpdateProbe.cs Compiler Error

Das UpdateProbe.cs Script in Kapitel6 erzeugt insgesamt 4 Error Meldungen in 21,31 und 28,39 (Unity5.0.2, Windows): 

Ich vermute es gibt Probleme mit bool, die Scripting-Api von Reflection.Probe sagt dass RenderProbe targetTexture will:

 

ReflectionProbe.RenderProbe

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public function RenderProbe(targetTexture: RenderTexture = null): int;
public int RenderProbe(RenderTexture targetTexture = null);

 

Dementsprechend startet auch in Traces_Prototype_070 der gameMode nicht, Unity verlangt Compilererrors to be fixed...

 

 

 

Die Anordnung von Reflection Probe im Inspector weicht in Unity 5.0.2 geringfügig von Abb. 6.43 ab (im screenshot grün markiertes Feld Type hat zwei Tabs "Refresh Mode2 + "Time Slicing" falls realtime-type selected), deswegen denke ich dass es kürzlich in Unity leichte änderungen hier gab,....

gefragt04.06.2015
tobiasros145
tobiasros
bearbeitet04.06.2015
tobiasros145
tobiasros

2 Antworten

Diese Antwort wurde von ihrem Autor als akzeptierte Antwort gewählt.

Danke für den Bugreport!

Da hat sich tatsächlich die API geändert - und auch die GUI von Reflection Probes im Editor/Inspector. Als Quick-Fix ist es sicher, die Variable timeSliced komplett aus dem Script UpdateProbe.cs zu entfernen, also in Zeile 11 die komplette Deklaration (public bool timeSliced = false;), und dann in Zeile 22 und 29 den Parameter in dem Aufruf probe.RenderProbe(timeSliced); (was dann natürlich probe.RenderProbe(); heissen muss).

Bei den drei Reflection Probes in der Szene (Tracer-00 / Body / Reflection Probe Body, Tracer-00 / WheelFront / Reflection Probe Front und Tracer-00 / WheelBack / Reflection Probe Back) würde ich dann noch Refresh Mode auf Via Scripting umstellen. Man könnte hier allerdings auch den Refresh Mode auf Every Frame stellen, und sich dann entweder das komplette Script UpdateProbe.cs sparen (das ist jetzt gar nicht mehr unbedingt notwendig), oder zumindest den Parameter everyFrame und den dazugehörigen Codepfad entfernen (es würde dann ausreichen, das Script zu aktivieren, wenn Refresh Mode auf Via Scripting steht - bzw. könnte man es sogar automatisch deaktivieren, wenn die Reflection Probe entsprechende Einstellungen hat). Das lasse ich jetzt mal, wie es ist, schreibe aber einen entsprechenden Kommentar an die Stelle ;-)

Ich ändere das auch in dem Projekt und lade gleich eine neue Version hoch.

In der nächsten Auflage korrigiere ich dann auch den Screenshot (und schreibe das eben in Errata) ;-)

PS: Ah, eine Sache noch: Time Slicing würde ich auf "No time slicing" stellen, sofern das im jeweiligen Fall nicht zu sehr auf die Performance geht. Bei diesem Projekt fällt es ziemlich deutlich auf, wenn man Time Slicing aktiv hat, also würde ich es nach Möglichkeit einschalten (bei langsameren Bewegungen, die nicht so krass auffallen wie beim Fahren eines praktisch perfekten Spiegels über ein Raster, wird man das normalerweise natürlich eingeschaltet lassen).

beantwortet04.06.2015 Jashan Chittesh 301
Jashan Chittesh
bearbeitet04.06.2015
Jashan Chittesh301
Jashan Chittesh
  • Die Änderungen (Screenshot, Text auf nächster Seite) sind jetzt auch im Bereich Errata erfasst (Seite 171, 172). - Jashan Chittesh 04.06.2015

  • Ach ja, und die neue Version von Traces_Prototype_070.zip ist inzwischen fertig hochgeladen ... bei der Gelegenheit habe ich auch gleich ein kleines Beleuchtungsproblem korrigiert, das in den Version 080 bis 130 vorhanden war. In späteren Versionen wahrscheinlich auch - aber da komme ich jetzt nicht dazu (bin ja eigentlich grad noch im Urlaub): Unter Window / Lighting folgende Einstellungen aktivieren: Precomputed Realtime GI, Baked GI und ganz unten Continuous Baking. - Jashan Chittesh 04.06.2015

Supercool! Danke auch für die ausführliche Antwort - wie im Buch super verständlich beschrieben... Und schönen Urlaub noch!

beantwortet04.06.2015 tobiasros 145
tobiasros
bearbeitet04.06.2015
tobiasros145
tobiasros

Deine Antwort

Um eine Antwort zu geben, musst du Login

Ich markiere diese Frage weil ...

10 übrige Markierungen um Moderator zu informieren

Ich lösche diese Frage weil ...

Ich markiere diese Antwort weil ...

10 übrige Markierungen um Moderator zu informieren

Posting markieren

Du hast diese Beitrag bereits markiert. Klicke "Markierung aufheben" um deine Markierung zu entfernen, was auch die Anzahl der Markierungen um eins reduziert.

Ich lösche diese Antwort weil ...