본문 바로가기
반응형

공부15

[게임 개발] [Unity] Unity로 앵그리버드 모작 만들기 (Unity - AngryBirds) 개요Unity 엔진을 사용하여 앵그리버드 모작 Hangry Birds를 만들어 보았습니다. 유니티 버전은 2022.3.30f1 이고 싱글톤 패턴을 활용해 보았습니다.추가로 Unity Cinemachine과 DOTween도 사용해 보았습니다. 구현한 부분메인 타이틀 화면씬 전환앵그리버드의 움직임블록 및 돼지의 파괴 이펙트 및 사운드스테이지는 5개를 만들어 보았고 앵그리버드는 1개만 존재합니다.첫 모작이라 적당히 구현해보았습니다. 스크립트BirdController.cs - 앵그리버드의 움직임 등 전체적인 동작을 위한 컴포넌트ButtonClickFunc.cs - 씬 전환 버튼의 OnClick 이벤트를 위한 컴포넌트.ButtonController.cs - 씬 전환이 아닌 버튼의 동작을 위한 컴포넌트.Camera.. 2024. 9. 12.
[Unity] 유니티로 태양계 만들기 개요 유니티 엔진을 활용하여 태양계를 만들어 보자. 혼자서 유니티 기초에 대한 책을 읽어 보던 도중 어떠한 물체의 주위를 도는 오브젝트를 만들어보는 예제를 보는데 태양계를 만들어보면 재미있을 것 같아 만들어 보았다.  에셋 및 환경https://assetstore.unity.com/packages/3d/environments/planets-of-the-solar-system-3d-90219#content Planets of the Solar System 3D | 3D 주변환경 | Unity Asset StoreElevate your workflow with the Planets of the Solar System 3D asset from Evgenii Nikolskii. Find this & other .. 2024. 7. 11.
[Unity] WASD 입력을 이용해 캐릭터 이동하기 개요유니티에서 WASD 입력을 이용해 캐릭터를 이동하는 법을 알아보자. 캐릭터는 유니티의 기본 3D 오브젝트 Cube 2개를 사용해 임시로 만들었다. 파란 큐브가 정면이다. 이번 포스팅에선 두 가지 방법으로 위 캐릭터를 이동해 볼 예정이다.Input.GetKey를 활용해 움직임을 구현Input.GetAxis를 활용해 움직임을 구현 공통 코드 및 환경두 가지 방법에서 공통적으로 사용하는 환경과 코드이다. using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class CubeScript : MonoBehaviour{ // 속도를 인스펙터 상에서 설정 public float mov.. 2024. 6. 27.
[C++] [정렬 알고리즘] 선택 정렬 (Selection Sort) 선택 정렬 (Selection Sort) 선택 정렬은 정렬 알고리즘 중 하나이다. 선택 정렬은 알고리즘이 단순하며 사용할 수 있는 메모리가 제한적인 경우에 사용시 성능 상의 이점이 있다. 선택 정렬은 정렬 되어있지 않은 데이터 중 최소값을 찾아 맨 앞 값과 자리를 바꾼다. 정렬이 완료된 나머지 데이터를 똑같은 방식으로 정렬하는 것이다. 최악 시간복잡도: O(n^2) 최선 시간복잡도: O(n^2) 평균 시간복잡도: O(n^2) 공간복잡도: O(1) 예시 다음의 배열을 오름차순으로 정렬한다. [ 11, 8, 1, 5, 20, 0 ] 배열에서 최솟값을 찾는다. 최솟값: 0 그리고 정렬되지 않은 배열의 첫 번째 값인 11과 위치를 바꾼다. [ 0, 8, 1, 5, 20, 11 ] 정렬되지 않은 나머지 데이터 중.. 2024. 2. 20.
[C++] [정렬 알고리즘] 버블 정렬 (Bubble Sort) 버블 정렬 (Bubble Sort) 버블 정렬은 정렬 알고리즘 중 하나이다. 시간 복잡도가 O(n^2)로 아주 느리지만 코드가 단순해 자주 사용된다. 버블 정렬을 기본적으로 배열의 두 수(a, b)를 선택한 뒤, 두 수가 정렬되어 있다면 놔두고 그렇지 않다면 두 수를 바꾸는 방식이다. 오름차순으로 정렬할 때는 a b여야 정렬된 것으로 판단한다. 이를 처음부터 끝까지 반복한다. 최악 시간복잡도: O(n^2) 최선 시간복잡도: O(n) 평균 시간복잡도: O(n^2) 공간복잡도: O(1) 예시 다음의 배열을 오름차순으로 정렬한다. [ 11, 8, 1, 5, 20, 0 ] 맨 처음 11과 8을 비교한다. 11 > 8 이므로 두 수를 바꾼다. [ 8, 11, 1, 5, 20, 0 ].. 2024. 2. 2.
[C++] [인프런] 섹션 8. TextRPG 실습 보호되어 있는 글 입니다. 2024. 1. 31.
[C++] 팩토리얼 (Factorial) 팩토리얼 팩토리얼이란 사전적 정의로는 "n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말"이다. 기호는 느낌표(!)를 사용하며 팩토리얼이라고 한다. ex) 5! = 5 * 4 * 3 * 2 * 1 = 120이다. n! = n * (n-1) * (n-2) * · · · * 3 * 2 * 1이다. +) 0! 의 값은 1이다. 재귀를 이용한 팩토리얼 재귀란 어떠한 것을 정의할 때 자기 자신을 참조하는 것을 뜻한다. 팩토리얼을 재귀를 이용해 구현한다면 factorial 함수 안에서 자기 자신인 factorial 함수를 호출하는 것이다. #include using namespace std; int factorial(int num) { if (num > n; result = f.. 2024. 1. 21.
[C++] 유클리드 호제법을 사용해 최대공약수 구하기 유클리드 호제법 유클리드 호제법이란 2개의 자연수를 이용해 최대공약수를 구하는 알고리즘이다. 유클리드 호제법을 사용해 최대공약수를 구하는 방법 두 자연수를 각각 a와 b라고 하고 a >= b 일 때 a % b = c 계산을 한다. c가 0이 아니라면 b % c 계산을 진행한다. 나머지 값이 0이 될 때까지 반복한다. 나머지 값이 0이 되었을 때 나누는 수의 값이 두 자연수의 최대공약수이다. 예시) 78696와 19332의 최대공약수 구하기 / 최대공약수는 36이다. 78696 = 19332×4 + 1368 19332 = 1368×14 + 180 1368 = 180×7 + 108 180 = 108×1 + 72 108 = 72×1 + 36 72 = 36×2 + 0 출처) 위키백과 최대공약수 구하기 유클리드 .. 2024. 1. 19.
[C++] 문자열의 공백 제거하기 C++ 문자열 공백을 remove, erase 함수를 사용해 제거하기 문자열에 존재하는 공백을 없애주기 위해 remove 함수와 erase 함수를 이용할 수 있다. 이때 remove와 erase를 동시에 사용하여 문자열 내의 모든 공백을 제거한다. erase 함수 형태: erase(제거할 원소의 위치) or erase(문자열의 시작 위치, 문자열의 마지막 위치) erase 함수를 사용할 때 매개변수를 1개만 넘겨준다면 문자열의 특정 원소만 제거하는 것이고, 매개변수를 2개 넘겨준다면 문자열의 시작 위치와 마지막 위치 사이에 존재하는 모든 원소를 제거한다. 제거한 원소만큼 문자열의 크기가 작아진다. +) 매개변수가 1개일 때 #include using namespace std; int main() { st.. 2024. 1. 16.
[C++] [인프런] 섹션 7. 동적 할당 보호되어 있는 글 입니다. 2023. 11. 26.
[C++] [인프런] 섹션 6. 객체지향 여행 보호되어 있는 글 입니다. 2023. 2. 2.
[C++] [인프런] 섹션 5. 포인터 보호되어 있는 글 입니다. 2023. 1. 10.
반응형