본문 바로가기

전체 글113

[Unreal 5, C++] 3인칭 슈팅 게임 연습 일지 - 1 : 타이머 사용법, 이동, 사격 https://youtu.be/DkwEQc-N2a8 유데미 Sam Pattuzzi 의 언리얼 강좌를 수강하면서 3인칭 슈팅 게임을 만들어보면서 공부하기로 했다. 장르는 3인칭 슈팅게임. 매 판마다 웨이브가 존재하고 웨이브마다 몰려오는 적들을 타파하면 돈과 경험치를 얻고 강해져서 점점 높은 웨이브로 올라가는 게임으로 기획해보았다. 이동 구현 void APlayerCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(PlayerInputComponent); // PC // Keyboard Movement PlayerInputComponent->BindAxis(TEX.. 2022. 6. 18.
[C#, Unity] 오버워치 트레이서 점멸, 시간역행 구현해보기 2023.10.24 결론 : DOTween 을 쓰자! 점멸은 시작 지점에서 Ray를 쏴 전방에 부딪힌 장애물이 있다면 장애물 위치까지만 점멸하고, 장애물이 없다면 기존 점멸 사거리만큼 정상적으로 이동한다. 단, 물체를 관통하거나 바닥에 박히는 일이 없도록 num이라는 상수를 통해 이동거리를 보정하고, y축은 카메라 시점과 일치시켜 보정시킨다. https://youtu.be/KvbRFXK08i4 점멸과 시간역행 영상을 보면 알겠지만, 점멸 자체는 정상적으로 작동하는데 점멸을 하는 이펙트나 사운드가 없으니 유저 입장에서 큰 체감이 되지 않는 것 같다. 점멸 코드 void Blink() { canvas.alpha = 1; Vector3 start = Camera.position; Vector3 end = Ca.. 2022. 6. 18.
[C#, Unity] 오버워치 메인화면 + 사격 따라해보기 1. 개요 오버워치의 메인화면을 비슷하게 구현해보고자 했고, 훈련장에서 캐릭터의 스킬들을 모방하며 공부하는 것에 의미를 두었다. 오버워치의 모델과 이미지들은 공개되어 있지 않았기에 에셋 스토의 무료 에셋 중에서 분위기가 비슷한 것들을 골라 사용했다. 별도의 애니메이션, 이펙트, 사운드 등은 활용하지 않았으며 기능을 구현하는 것만 시도하였다. 2. 주요 기능 메인화면 https://youtu.be/Sht9aB_tLRw 메인화면의 모양을 최대한 비슷하게 따라해보려고 했다. 버튼은 마우스 오버 시 확대되는 애니메이션을 간단하게 만들어 사용했고, 뒷 배경 흐림은 유니티 프로가 아니어서 그런지 피사계심도가 적용되지 않아 가로 세로 방향으로 블러를 주는 쉐이더를 사용해서 구현했다. >> 이 곳을 참고했다. Unit.. 2022. 6. 18.
[C++] 더하기 사이클 :: 1110번 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번 만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 풀이 먼저.. 2022. 6. 18.
[C++] EOF를 활용한 두 수의 합 입력받기 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 풀이 #include using namespace std; int main() { int a; int b; while(scanf("%d %d", &a, &b) != EOF) cout 2022. 6. 17.
[C++] A + B / 두 수의 합 출력 - 0 입력 시 종료 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 > a >> b; cin.ignore(); if (a != 0 && b != 0) { cout 2022. 6. 17.