Kezdőoldal » Számítástechnika » Programozás » Hogy lehet unity 19-be a...

Hogy lehet unity 19-be a UI-ra tenni 3D-s objektumot?

Figyelt kérdés

Ugye próbáltam render texture-rel. De az véleményem szerint nem a megfelelő erre a célra, mert egy szimpla ikonra van szükségem. Így teljesen felesleges a textúra real time frissítése, arról nem is beszélve hogy eléggé lassítja a projektet, ha minden kis item ikonnak van egy külön kamerája, meg értitek.


Próbáltam kiszedni a render texture-ből a textúrát, de nem sok sikerrel. Arra gondolva ezzel hogy a program indulásakor az összes 3D-s tárgyat "lefotózom", majd eltárolom a memóriába. De a Texture2d-re való átalakítás nem igazán működött. Egyébként ezt a ReadPixels-es módszerrel próbáltam kivitelezni.


Próbáltam azt, hogy a render texture-t megfosztom a kamerájától. Hátha beáll arra a képre ami nekem kell. De ugye ekkor elvesztte azt a képet amit tárolt.


Gondolkoztam azon, hogy mivel a RawImage-eket lehet forgatni és eltolni, ezzel jól megjeleníthetem a dolgokat. Ez az egyszerűbb objektumoknál okés. De a bonyolultabbaknál macerásabb lenne.


Nem szeretném magam megrajzol i az ikonokat, mert nem szeretnék egy textúracsere után új ikont rajzolni.


Valaki tud valamit ajánlani, hogy a unity csak megcsinálja nekem a képet, majd a kép tárolása után maradéktalanúl menjen a süllyesztőbe, vagy hogy hogyan lehet költséghatékony módon 3d-s objektumokat UI-ra tenni?


2021. máj. 29. 10:03
 1/2 anonim ***** válasza:

Rendertexture nem frissül mindig, csak ha úgy állítod be hogy mindig frissítsen. Az alapvető gondolatmeneted jó volt, ebből ki tudsz indulni.

[link]


A második hozzászólást nézd, 2017 ből, ne azt amelyiket elfogadták 2010 ben - ahogy van nem lesz jó, mert screenshothoz van, de arra tökéletes hogy lásd mit rontottál el. Kódból hozd létre a RenderTexture t, a kamerát meg úgy állítsd be hogy csak az adott rétegeket renderelje(a cuccokat amikről képet akarsz meg rakd arra a rétegre persze), depth clear legyen bekapcsolva - ha akarsz alfát, de gondolom akarsz. camera.Render() metódussal fogja csak kirajzolni, nem minden frameben, ezt ennél gyorsabban nem tudod megcsinálni.

2021. máj. 29. 12:41
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

És képes rá, és működik normálisan. Kiderült, hogy a Camera.Render() metódus hiánya okozta a gubancot.


Köszönöm.

2021. máj. 30. 14:13

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!