묻공러
'분류 전체보기' 카테고리의 글 목록 (37 Page)

분류 전체보기

게임 수학 & 물리/게임 수학

[게임 수학] sin, cos (2)

sin, cos 활용 예시 sin, cos을 활용하여 다양한 각도를 적용하여 패턴을 쉽게 만들 수 있다 단순하게 좌우로 움직이게 하려면 sin의 패턴을 활용해 DegreeComponent를 아래처럼 작성할 수 있다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class DegreeComponent : MonoBehaviour { [Range(1, 4)] public float scalar = 0.0f; [Range(0, 360)] public float degree = 0.0f; float dTime; // Start is called before the first frame update void..

게임 수학 & 물리/게임 수학

[게임 수학] sin, cos (1)

sin, cos 게임에서 sin, cos은 특정 패턴의 움직임을 구현할 때 sin, cos을 활용할 수 있다 sin, cos, tan의 공식 sin, cos, tan의 공식은 아래와 같다 sin, cos의 활용 단위원(반지름이 1인 경우)을 기준으로 했을 때 각도( θ )를 알면 원에서의 해당 좌표를 알 수 있는 것이 핵심이다 위 그림처럼 cos θ , sin θ가 우리가 원하는 x, y 좌표를 의미한다 이처럼 cos θ 는 x좌표가 1부터 시작하고 sin θ 는 y좌표가 0부터 시작하며 각각 sin cos tan는 아래와 같은 그래프를 그리는 것을 알 수 있다 이렇게 sin, cos을 통해서 각도로 원에서의 위치를 알아낼 수 있었다 또한, sin, cos의 그래프에서 반복적인 형태로 위아래로 움직이는 ..

게임 수학 & 물리/게임 수학

[게임 수학] 피타고라스의 정리

피타고라스의 정리 게임에서 피타고라스의 정리는 주로 거리 측정을 위해 활용한다 플레이어 A와 몬스터 B의 거리인 c를 피타고라스의 정리를 통해 알아낼 수 있다 이를 통해 몬스터의 감지 범위 내에 플레이어가 있다면 플레이어를 따라오도록 감지 범위 내에 플레이어가 없다면 움직이지 않도록 구현을 아래의 예시와 같이 구현 가능하다 피타고라스의 정리 예시 먼저 플레이어에 붙일 스크립트인 MoveComponent는 아래와 같이 구현할 수 있다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoveComponent : MonoBehaviour { public Vector3 dirVec; public ..

그 외/In

비주얼 스튜디오 유용한 단축키 모음

[디버깅 기본]F5: 디버깅실행 / 디버깅 다음단계 진행 F9: 브레이크포인트 설정 F10: 디버깅 1줄 이동하기 진행 F11: 함수 안으로 이동하기 Tip) 디버깅 중 변수에 마우스를 위치해 값 확인가능 [주석]Ctrl + K + C: 주석걸기 Ctrl + K + U: 주석취소  [이동 및 선택]Home/End : 행의 맨 앞 뒤로 커서 이동Shift + ←/→/↑/↓ : 드래그Ctrl + Shift + ←/→/↑/↓ : 단어 단위로 드래그Shift + Home/End : 입력 커서가 위치로부터 앞 혹은 뒤까지 블록 선택Shift + Delete : 입력 커서가 위치한 줄 삭제 Ctrl + ←/→ : 단어 단위로 좌우 이동Ctrl + ↑/↓: 커서 위치는 유지된채로 위 아래 스크롤Ctrl + A: 파일..

그 외/In

포토샵 유용한 기능 및 단축키 모음

보호되어 있는 글입니다.

그 외/Review

"폭군이 되는 법" 넷플릭스 시리즈 간단 정리

넷플릭스 "폭군이 되는 법"주요 내용 정리  1. 권력을 잡는 방법- 자기 자신에 대한 정의폭군들은 자신을 믿고 자신에 대한 과대망상이 존재한다또한, 자기 자신을 모든걸 해결할 수 있는 유일한 존재 (GOD)로 정의한다 - 권력을 이끌어내는 방법본인과 일반인들이 같은 적을 두고 있으며그 동일한 적에대한 맹렬한 비난과 혐오를 하며 그로부터 얻는 지지를 이용하고국민의 분노를 이용한다 - 메시지와 이미지를 이용하기절대 권력을 얻으려면 강력한 메시지 이상의 것이 필요하다메신저의 능력도 돋보여야한다 따라서 "Be a man of the people""나와 여러분은 같습니다""난 오로지 국민에만 관심 있습니다"꾸밈, 부의 과시를 나타내지 않으며보통 사람의 이미지를 형성하고이를 통해 국민과의 유대감 형성한다 2. 권..

C++/[루키스] Modern C++

[MC++] 스마트 포인터 (Smart pointer)

스마트 포인터는 포인터를 알맞은 규약에 따라 관리하는 객체이며 포인터를 래핑해서 사용한다 스마트 포인터의 종류에는 shared_ptr, weak_ptr, unique_ptr 등이 있다 shared_ptr의 간단 내부 동작원리는 아래와 같다 class Knight { public: Knight() {} ~Knight() {} void Attack() { if (mTarget) mTarget->mHp -= mDamage; } public: int mHp = 100; int mDamage = 10; Knight* mTarget = nullptr; }; class RefCountBlock { public: int mRefCount = 1; }; template class SharedPtr { public: Sh..

C++/[루키스] Modern C++

[MC++] Lambda

함수 객체를 이용한 기존 방식과 람다를 사용하는 방식을 비교하며 차이점과 람다의 장점을 알아보자 기존에 함수객체를 이용하는 방식은 아래와 같았다 enum class Rarity { Common, Rare, Unique, }; enum class ItemType { None, Armor, Weapon, Jewerly, Consumable, }; class Item { public: Item() { } Item(int itemId, Rarity rarity, ItemType type) : mItemId(itemId) , mRarity(rarity) , mType(type) { } public: int mItemId = 0; Rarity mRarity = Rarity::Common; ItemType mType..

C++/[루키스] Modern C++

[MC++] 전달 참조 (Forwarding reference)

기존에는 보편 참조(universal reference)라고 불렸는데 c++ 17을 통해 전달 참조(forwarding reference)로 불리게 되었다 전달 참조를 배우기 전, 오른 값 참조를 다시 복습하면 아래처럼 동작했다 class Knight { public: Knight() {}// 기본 생성자 Knight(const Knight&) {}// 복사 생성자 Knight(Knight&&) noexcept {}// 이동 생성자 }; void Test_RValueRef(Knight&& k)// 오른값 참조 { } int main() { Knight k1; //Test_RValueRef(k1);// 왼값은 받아주지 않음 Test_RValueRef(std::move(k1));// 캐스팅을 통해 왼값을 오..

C++/[루키스] Modern C++

[MC++] 오른 값 참조 (Rvalue reference)와 std::move

왼 값(L value) : 단일식을 넘어서 계속 지속되는 개체 오른 값(R value) : L value가 아닌 나머지 ex. 임시 값, 열거형, 람다, i++ 등... 아래를 통해 다양한 참조 방식과 그에 따른 차이점을 살펴보자 class Knight { public: public: int mhp = 100; } void TestKnight_Copy(Knight knight) {} void TestKnight_LValueRef(Knight& knight) {} void TestKnight_ConstLValueRef(const Knight& knight) {} void TestKnight_RValueRef(Knight&& knight) {} int main() { Knight k1; TestKnight_..