Wpis z mikrobloga

Mam problem z wyświetleniem gameobject będącego dzieckiem canvasa. Niby znalazłem odpowiedź na necie, ale nie do końca ją rozumiem. Brzmi ona tak:

Change the Canvas mode to either of the other modes (which use a camera). Then create a camera that sees the UI layer and change your Cube's layer to "UI". Drag the camera to the Canvas. As long as the camera position is adequate, you should see the cube.

http://answers.unity3d.com/questions/835737/gameobjects-added-to-canvas-do-not-show-in-game.html

other modes (which use a camera)

O jaki tryb pracy kamery chodzi?

Then create a camera that sees the UI layer

Mam stworzyć drugą kamerę? Chyba chodzi im o tą samą tylko, żeby widziała warstwę UI?

edit: no i jak zrobić, żeby obiekty były statyczne jak to przystała na UI, bo kiedy wrzucę w canvas kamerę, to nie będą :(

#unity3d
  • 13
@h3lloya: udało mi się to uzyskać na szybko,
1. Main camera - ustaw culling bez UI, depth musi być mniejsze od UI camera
2. UI camera - culling tylko UI, depth wieksze od main camera, Clear flags na Depth only
3. Gameobject( u mnie Cube) - Layer na UI
4.Ustaw aby UI camera skierowana była na Cube, może byc poza sceną, gdziekolwiek.
5, Wejdź w widok Game i zobacz że wszystko
Pobierz RSGApps - @h3lloya: udało mi się to uzyskać na szybko, 
1. Main camera - ustaw culli...
źródło: comment_2Z2wkky0e6g3yPYKtsj9aQZiP2Zrl8zZ.jpg
@RSGApps: Jeszcze mam jeden problem powiązany z tematem. Chciałbym przenieść w trakcie trwania gry gameobject z warstwy widzianej przez main camera, do warstwy widzianej przez UI Camera. Problem w tym, że będę musiał zmienić również współrzędne obiektu tak, aby gracz nie zauważył całej tej operacji. Pytanie brzmi czy mam sobie wyliczyć nowe współrzędne czy istnieje jakieś prostsze rozwiązanie? Jak Ty byś to zrobił?
@h3lloya: wszystko da się zrobić :) Musisz tylko w momencie przenoszenia między warstwami ustawić pozycję kamery UI na taką samą jak Main Camery. Wtedy przenosisz obiekt do Canvas, zmieniasz layer na UI i już obiekt nie podąża za główną kamerą.
Można sobie tak dowolnie zmieniać pozycję kamery UI, bo Canvas jest przyczepiony do tej kamery.
@h3lloya: pisząc pozycję Camery UI chodzi mi o cały transform (position.rotation.scale). Dodatkowe właściwości takie jak field of view czy projection też muszą być identyczne. Kamery muszą się nakładać w momencie zmiany layer i przeniesienia do canvas, żeby gracz nie zauważył przejścia.