Jump to content
Unity Insider Forum

Android Build - Objekte/Cubes/Materials unsichtbar


Recommended Posts

Hallo, ich bin nun wirklich endgültig ratlos,
- also nach über einer Woche...
Und hier jetzt nachzufragen, das ist wirklich
das einzige, was mir grad noch einfällt...

Fing damit an, dass ich ganz einfach nur ein wunderbar funktionierendes Level
(als Standalone) in eine leere Unity 2020-Version rüberkopierte,
um das Level auch als Android zu exportieren.

Ich habe alle Objekte auf Static gestellt,
alles gebaket - enlighten, CPU progressive, substractive, baked indirect,
whatever, alles mindestens einmal ausprobiert, danach hab ich versucht
ein leeres simples Level mit ein paar Cubes zu exportieren,
sowohl mit Unity 2020, als auch mit Unity 2019.4,
ich hab den GI Cache geleert, Standard Shader, Mobile Shader (lit, recflective usw)
eingestellt, aber gleichgültig, was auch immer ich versuche,
- und obwohl im Editor auch alles super aussieht -

sobald ich es aufs Android-Handy lade und starte

bekomme ich IMMER das selbe Ergebnis, nämlich dass
entweder alle Unity-Objekte (Cubes) vollständig unsichtbar sind
(Importierte Models sind sichtbar und hängen in der Luft)
- wobei ich auf den unsichtbaren Böden durchaus mit dem Player laufen kann,

oder
es sind zwei-drei Cubes gerendert, andere aber nicht - obwohl sie bspw den selben Shader haben.
(also kopiert wurden)

 

Ich dachte am Anfang, es könnte daran liegen, dass ich mein erstes Level mit Probuilder gebaut habe.
ich hab auch ältere ProbuilderVersionen ausprobiert,
aber
ich hab das Problem auch mit den normalen Unity Cubes

und ich muss an der Stelle auch einfach zugeben

dass mich das jetzt grad auch intellektuell überfordert.

Ich dachte natürlich auch daran, dass vllt mein Handy-Speicher voll sein könnte,
zig Apps gelöscht, keine Änderung.

Ich hab hier zwei einfache Screenshots gemacht,
der erste ist ein Srceenshot des Editors,
der zweite zeigt, was dann auf dem Handy zu sehen ist:
Manche Cubes sind sichtbar, andere nicht,
und das ganze kommt mir völlig willkürlich vor.

Ich hab natürlich jetzt auch tagelang in allen Foren nach diesem Problem gesucht,
auch das ist absurd, das scheint anscheinend nicht sehr viele User zu betreffen,
irgendwo hab ich gelesen, man müsse im shader auf "Enable GPU Instancing" stellen
alles ausprobiert, keine Veränderung.

Hier die Screenshots:

Editor:

0271998d-83091744.jpg

 

Auf dem Handy:
379ea23b-83091743.jpg

ich werd jetzt vllt Unity neu installieren,
(weil mir einfach nichts mehr einfällt)
aber wie gesagt, ich habs auch mit 2019.4 versucht,
das selbe Problem.

Ich kapiers einfach nicht....

Link to post
Share on other sites

mh.
Sehr guter Ansatz!

Werd ich gleich mal testen...
:)

Und zwar hatte ich bis ca Unity 2019.1
keinerlei Probleme damit, eine Android App zu exportieren,
danach, also im Zuge der Umstellung auf die neuen Renderpipelines (Leightweight, URP, HDRP)
funktionierten bei mir plötzlich alle Mobile-Controller aus dem Assetstore nicht mehr.
(Auch die teuer gekauften nicht)

Und das hatte tatsächlich mit der Clipping Plane zu tun, also
entweder alles war blau und die Kamera zeigte keine Scene mehr an,
oder aber - beim verstellen, konnte man dann zwar das Level wieder sehen
aber dafür war das Navigationspanel weg. 

Auch damals hab ich lange rumgesucht und mich sehr gewundert;
also dass dieses Problem anscheinend kaum bei anderen auftrat.

Ich meine aber, mich zu erinnern, dass ich in einem der englischsprachigen  Foren
irgendwo mal gelesen habe, dass das daran liegen würde, dass die neuen Pipelines
keine zwei übereinander gelegten Kameras erlauben würden.

Ich hab dann einige Controller aus dem Store ausprobiert
der Controller aus dem Screenshot bspw funktioniert zwar
in der Standard-Pipeline aber bei dem Versuch,
das Level heute mit der URP aufs Handy zubekommen
hatte ich wieder das selbe Ergebnis (also nen blauen Screen)
(An dem Punkt hätt ich vllt tatsächlich selbst an die Kamera denken können, ok)

Ich hab mich dann jedenfalls erstmal um andere Projekte gekümmert,
und ich dachte mir damals, dann bau ich die Android-Apps eben mit alten Unity-Versionen.
Das ist aber nun heute dann doch nicht ganz so einfach,
weil ja kein Downgrade möglich ist.

In diesem Zusammenhang stellt sich also vllt die Frage
ob jemand einen funktionierenden Mobile Controller für die URP oder gar die HDRP kennt?

Irgendwie ist bei diesem Controller ("MFPC" aus dem Assetstore )
das Navigantionspanel nicht als Canvas mit eigener Kamera eingebaut,
sondern im 3D Raum vor der Hauptkamera positioniert...

Blub, ich hoffe grad sehr, dass es tatsächlich an der Clipping Plane liegt,
obwohl ich ja im Level rumgelaufen bin, und die Cubes nicht erschienen sind
wenn ich in ihre Nähe kam,
zudem müsste sich das ja dann eigentlich doch auch auf das Editorfenster auswirken?


Für s erste trotzdem mal vielen Dank...
:)
 

Link to post
Share on other sites

Die Clipping Planes funktionieren auch per Pixel. Da sollten nicht ganze Objekte fehlen. Das passiert eigentlich nur mit Culling. Hast du denn mal zum Test alle Assets aus der Szene genommen, die irgendwas mit der Kamera zu tun haben? Hast du Occlusion Culling an?

Link to post
Share on other sites

ja,

also ich hab die Szene gebaket,
sowohl im Lighting- als auch im Occlusion-Fenster...

was auch seltsam ist:
Obwohl das nur ein paar Cubes sind,
läuft die App recht träge.

Vllt hat es doch was mit meinem Smartphone zu tun,
werd mir mal ein anders ausleihen und es damit testen.

Thx a lot

Link to post
Share on other sites
vor 2 Stunden schrieb AlbertLascaux:

also ich hab die Szene gebaket,
sowohl im Lighting- als auch im Occlusion-Fenster...

Lösch mal allen Occlusion-Kram und schau, ob das etwas ändert.

vor 2 Stunden schrieb AlbertLascaux:

was auch seltsam ist:
Obwohl das nur ein paar Cubes sind,
läuft die App recht träge.

Mobile Geräte sind echt nicht so mächtig, wie man denken könnte. Mobile Spiele mit aufwendiger Grafik müssen nach wie vor ein ganzes Stück optimiert werden, damit sie vernünftig laufen.

Selbst mit wenigen Objekten kann man schon in Fallen laufen. Overdraw und große Triangles können einige Geräte schon in die Knie zwingen, selbst wenn es nur eine Handvoll von Objekten gibt. Ich hatte mal ein Fullscreen-Quad und mein altes Handy hat sofort geweint. Habe dann stattdessen die Standard-Plane eingesetzt (die ja aus 8x8 Quads besteht) und plötzlich lief es wieder rund...

Link to post
Share on other sites

Jo, was soll ich sagen?

Ich hab jetzt mal testweise die Demo-Scene aus dem Mobile-Controller-Asset
genommen und gebaket und exportiert...

(Zuvor hatte ich ja immer eine neue Scene erstellt
und den Controller dann dort reinkopiert)
Im Grunde sind also beide Szenen völlig identisch, paar cubes+Controller
aber die exportierte Demo-Scene funktioniert nun, alle Cubes sichtbar und da wo sie sein sollen,
während in den von mir neu generierten Szenen
die meisten Cubes/Materials einfach weiterhin willkürlich unsichtbar bleiben.

Ich verstehe das ganze nicht, aber das muss ich wohl auch nicht,
weil ich mit der DemoScene ja jetzt offensichtlich erstmal weiterarbeiten kann.

Ich bedanke mich trotzdem für den freundlichen Support...
Grüße
 

Link to post
Share on other sites

Nachtrag

Ich denke mal, ich habe die Ursache für die (im Titel des Threads genannten) Probleme gefunden...

Und zwar hab ich nochmal ganz bei Null angefangen,
und dabei eine entscheidende Sache anders gemacht...

Wie schon beschrieben, hatte ich ja versucht, ein funktionierendes
Standalone (Multiplayer-) Projekt auch als Android zu exportieren.
(Der Hintergrund ist der, dass ich einen funktionierenden MP-Chat einbauen möchte,
der sowohl als WebGL, Standalone aber auch auf dem Handy funktioniert)

Ich habe nun festgestellt, dass es für mich sinnvoller ist, drei Unity-Versionen zu betreiben,
also eine nur für Standalones, eine für WebGL und eine für Androids.

In diesem Sinne hab ich also einen leeren 2020 Unity-Editor erstellt,
- und beim ersten Versuch dann die noch leere EditorVersion gleich am Anfang auf Android umgestellt. 
Und danach erst alle Assets aus der Standalone-Version rüberkopiert,
die dann (und das dauert immer ewig) in die schon erstellte Android-Version eingelesen werden.
Dieses ist ganz offensichtlich nicht zu empfehlen...

Beim zweiten Versuch (gestern) hab ich eine neue leere Version erstellt,
dann sofort alle Assets rüberkopiert und das Projekt erst dann von 'Standalone' auf 'Android' umgestellt.

Und siehe da, dann klappt s auch plötzlich wunderbar mit dem Export aufs Handy...

 

Was ich aber gerade seltsam finde, ich hab das Standalone-Projekt
ohne große Optimierungsmaßnahmen dann mal testweise aufs Handy geladen.
Das ganze Projekt ist für Realtime optimiert, die Cubes sind nicht auf static,
und ich habe das Level nicht eine Sekunde gebaket...- und es läuft trotzdem recht flüssig
auf meinem Smartphone, was mich wirklich gerade wirklich überrascht und wundert.

Unter Umständen bleib ich bei Realtime, obwohl
ich überall lese, Mobile müsse unbedingt gebaket werden...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...