일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바스크립트심화
- ChatGPT
- 파이썬
- JDBC
- 컴퓨터비전
- 정보처리기사실기
- CSS
- 순환신경망
- 연습문제
- JSP
- 자바
- 디버깅
- 자바 실습
- SQL
- 정보처리기사필기
- 혼공머신
- JSP/Servlet
- 데이터베이스
- html/css
- 데이터분석
- 컴퓨터구조
- rnn
- 중학1-1
- 자바스크립트
- 상속
- 딥러닝
- 머신러닝
- 개발일기
- c언어
- 중학수학
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
Line Trace로 레이 발사해보기 본문
이제 상호작용을 하며 물체에서 레이저가 발사되는 기능을 추가해 보기로 하자. 지난번에 문을 만들다 말았는데 그전에 레이저가 나오는 Lind Trace에 대해서 알아보기로 했다.
라인 트레이스에 관한 자료들이 좀 많아서 링크에 걸어두었다. 지금은 다 보기에는 시간이 없고, 바로 적용할 수 있는 블로그 위주로 보고 학습하는 중이다.
Lind Trace
레이캐스트와 라인 트레이스는 왜 필요할까?
게임에서 플레이어 캐릭터가 무언가를 바라보고 있는지 확인하여 그런 경우 게임을 어떤 상태로 변경하고자 하는 경우가 있다. 아니면 적이 플레이어 캐릭터를 볼 수 있는지 확인하여 그런 경우 어떤 식으로든 발사 또는 교전을 시작시켰으면 하는 경우도 있다.
이 두 가지 모두 Raycast 또는 Trace를 통해 보이지 않는 광선을 "발사"하여 두 점 사이에 걸리는 지오메트리가 있는지 확인하고, 걸리는 지오메트리가 있으면 어떤 작업을 할 수 있도록 걸린 것을 반환한다.
트레이스 실행시 사용할 수 있는 옵션은 여러 가지 있다. 트레이스를 실행하여 오브젝트와 콜리전 검사를 한 뒤 히트한 오브젝트를 반환하거나, Trace Channel로 트레이스를 실행하여 특정 트레이스 채널에 반응하도록 지정된 오브젝트의 경우에만 히트 정보를 반환하도록 할 수도 있다.
레이캐스트는 유니티에서도 자주 사용했던 기능이었다. 그러니까 특정 대상을 향해 레이를 발사한다고 보면 될 것 같다. 레이를 발사하는 이유는 그렇지 않으면 그 대상이 존재하는지 잘 모르기 때문이다.
Line Trace 만들기
입력 키를 누를 때
난 총 쏘는 애니메이션을 아직 만들지 못해서 특정 키를 눌렀을 때 레이가 나오는 것으로 만들어보았다.
E 키를 누르면 이렇게 빨간색 선이 나온다.
Event graph
총을 쏘는 것과 칼을 휘두르는 입력 키가 다르지 않은 것 같아 칼을 휘두를 때도 레이가 나오게 할 수 있을 것 같았다.
좌클릭을 할 때
Event graph
이렇게 칼을 휘두르는 지점에서 레이가 발사되는 것을 알 수 있었다.
작업을 마치고
지난번에는 한 포스트에 가능한한 많은 내용을 한 번에 담으려고 노력했던 것 같다. 2시간 이상 작업해야 할 분량을 담다 보니 너무 힘들어서 정리하는 일이 귀찮게 느껴졌다.
하지만 지금은 내가 소화할 수 있는만큼 조금씩 잘라서 기록해 보니 언리얼을 배우는 것도 재미있어지고 있다. 어제 언리얼 외국 동영상을 몇 개 시청했는데 잘 이해하지는 못했어도 알고 보면 별로 어렵지 않다는 생각을 했다. 계속 같은 동작들이 반복되고 자주 사용하는 것 위주로 하나씩 익히다 보면 손에 익고 금세 잘 따라 할 수 있을 것 같다.
외국인들이 프로그램을 잘 다루는 건 그들이 능력이 출충해서가 아니다. 프로그램 툴이 자신의 모국어로 되어 있기에 우리보다 익숙한 것뿐이었다. 영어를 잘 못하기에 언리얼이 프로그래밍보다 훨씬 어렵게 느껴졌다는 걸 알게 되었다. 이 부분만 극복하면 언리얼을 다루는 일도 별로 어렵지 않을 것이다.
'게임 개발 공부 > 언리얼 엔진' 카테고리의 다른 글
문 열고 닫는 상호작용 만들기 + 입력 키에 따라 (0) | 2024.08.25 |
---|---|
RPG 게임 기능 6 - Motion Warping 3 : 완성을 향해 (0) | 2024.08.25 |
RPG 게임 기능 5 - Motion Warping 2 : 모션 워핑 기능 처음부터 다시 해보기 (0) | 2024.08.25 |
RPG 게임 기능 4 - Motion Warping 1 : 레이로 거리 계산하여 쏘기 (0) | 2024.08.25 |
RPG 게임 기능 3 - 애니메이션 Locomotion & Blend Space 3 : 캐릭터에 머티리얼 입히기 (0) | 2024.08.25 |