Софтуерно Инженерство
Loading...
mitko.z avatar mitko.z 5 Точки

Няколко въпроса относно лаба от лекцията за колизии и физика

 

 

 

Здравейте всички! Опитвам се от вкъщи да си направя лаба и стигам до следните трудности:

1. Как да взема Main Camera, която е закачена като дете на основния герой, за да направя raycast през нея? Използвания пример в лекцията е raycast на камера, която е прикрепена към самия game object, но няма инструкции за този сценарий. Пробвах чрез добавяне на камера към основния герой, но се променя гледката като цяло. Единствения вариант, който се сетих е да прикача скрипт към Main Camera и от там да направя raycast, както е описан в лекцията. Така нещата стават.

2. Как да завъртя дупката, така че да се завърти към стената? Пробвах с translate.Rotate(hit.normal), но въобще не я завърта.

3. Към следващия режим на стреляне - как да завъртя куршума да се изтрелва в посоката, в която гледа играча. За сега съм го задал като

bullet.transform.rotation = newBulletPosition.transform.rotation

също как да задам и силата да е в същата посока?

Мерси предварително! :)
 

1
Unity 3D
IvayloSlavov avatar IvayloSlavov 5 Точки

В кода от Lab-а се ползва `GetComponent<Camera>()`. Това търси в компонентите на самия game object към който е атачнат скрипта. Ако скрипта е добавен към Character, тогава ще търси компонент Camera в самия Character. В случая камерата се намира в "пушката" т.е. в първия child на Character, т.е. не директно в самия него. В такива случай използвай `GetComponentInChildren<Camera>()`

 

Относно другите въпроси, не беше заредила добре страницата и не ги бях видял. Та:

> 2. Как да завъртя дупката, така че да се завърти към стената? Пробвах с translate.Rotate(hit.normal), но въобще не я завърта.

Използвай trasform.Rotate(hit.transform.rotation).

> 3. Към следващия режим на стреляне - как да завъртя куршума да се изтрелва в посоката, в която гледа играча.

Поставяш empty game object на върха на оръжието. Неговата Z координата трябва да е успоредна на оръжието и да сочи напред. Най-лесно става- като сложиш empty game object като child на оръжието, насочваш го с rotation (0, 0, 0) - така ще приеме ротацията на parent object-а в йерархията. Като стреляш, инстанцираш куршума на позицията на empty game object-а и задаваш сила само по Z.

 

2
06/03/2016 00:26:37
mitko.z avatar mitko.z 5 Точки

ОК, мерси за инфото!

А относо другите ми два въпроса? Щото относно първия го реших някак си, както написах по-горе, като си закачих скрипт към Main Camera и от там "стрелям". Но се запънах на пустите ротации - как да завъртя дупката да се залепи на стената и след това как във втория режим на стрелба да взема на къде се е завъртял Character и да задам такава ротация на куршума, а така също в тази посока да приложа и силата, която придавам на куршума?
 

0
IvayloSlavov avatar IvayloSlavov 5 Точки

Update-нах си post-а с отговорите на другите 2 въпроса

1