Unity skalowanie

0

Cześć, zacząłem niedawno robić gry w unity i pewna spraw spędza mi sen z powiek. Zawsze robiłem gry operując na współrzędnych lewego górnego rogu i miałem dostęp do width i height obiektu w pixelach.

Moje pytania do Was przedstawie na dwóch obrazkach :

https://zapodaj.net/e7d063bba6796.png.html

Robię grę 2d, ale tryb tworzenia jest ustawiony na 3d i kamera jest ortogonalna. Czerwony prostokąt to to co widzi kamera. Chciałbym zrobić tak, aby lewy i prawy prostokąt(czarne) na początku ustawiały się dokładnie za kamerą ( oba mają z = 0 i ten sam y ). Następnie po kliknięciu przycisku lub czegokolwiek jeden z nich ma dojeżdżać dokładnie do połowy sceny ( zielona linia ).

Ja to tak zrobiłem, że stworzyłem ogólny obiekt, a w nim umieściłem lewy prostokąt, prawy oraz gameObject, który jest punktem. Punkt ten przesunąłem po prostu myszką na ekranie mniej więcej na środek. No ale problem jest taki, że kiedy przesuwam płynnie któryś prostokąt do tego punktu przez MoveTowards, to jego środek dociera do tego punktu a nie prawa/lewa krawędź. Jak to inaczej wykombinować ? Kolejny problem jest taki, że jak chce zasymulować inne urządzenie i zmieniam rozdzielczość to pole kamery się zmienia i prostokąty nie przylegają mi dokładnie do jej boków od zewnątrz :/

Druga sprawa:

Mam gameObject, który jest spritem. Chciałbym umieścić go w górnym położeniu jak na rysunku i jego wysokość idealnie wyskalować na 1/3 wysokości pola widzenia kamery. Jakieś pomysły ?

https://zapodaj.net/5d1b792d63d3f.png.html

0

Musisz zmienić pivot sprite'a.

Pewne rzeczy łatwiej będzie Ci osiągnąć w systemie GUI.

1 użytkowników online, w tym zalogowanych: 0, gości: 1