일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Trie
- union find
- Dijkstra
- DP
- two pointer
- 그래프
- 다익스트라
- Two Points
- Hash
- String
- binary search
- 스토어드 프로시저
- Stored Procedure
- SQL
- MYSQL
- 이진탐색
- Brute Force
- Today
- Total
목록분류 전체보기 (418)
codingfarm
https://www.youtube.com/watch?v=JxP-kqstMAY&ab_channel=%EB%B2%A0%EB%A5%B4%EC%9D%98%EA%B2%8C%EC%9E%84%EA%B0%9C%EB%B0%9C%EC%9C%A0%ED%8A%9C%EB%B8%8C
USING LERP WITH DELTA-TIME https://www.construct.net/en/blogs/ashleys-blog-2/using-lerp-delta-time-924 Recently on the forums came up the question of how to use dt (delta time) correctly with lerp. This turned out to be a surprisingly tricky question, and is a good demonstration of how knowledge of maths comes in handy when designing games. Just to recap, lerp(a, b, x) is a system expression tha..
3D 2가지 방법 사용가능 Ray 사용 카메라에서 마우스를 향하는 ray와 plane을 상호작용하여 얻은 좌표에 오브젝트를 위치시킨다 게임이 플레이 되는 floor에 오브젝트 위치 가능 ScreenToWorldPoint 함수 사용 카메라에 투영되는 평면상에 오브젝트 위치 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 32 33 34 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseChaser : MonoBehaviour { public Transform ob1, ob2; Vect..
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 32 33 34 35 36 37 38 39 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class UIItem : MonoBehaviour, IPointerDownHandler, IPointerClickHandler, IPointerUpHandler, IPointerExitHandler, IPointerEnterHandler, IBeginDragHandl..
1. 렌더 엔진 쉐이더 작업전에는 우선 어느 Render Engine을 사용할지 부터 결정해야 한다. (각 렌더엔진 간에 머터리얼이 호환되는 부분도 있지만, 결국 각각의 엔진에 맞게끔 material을 설정해주어야 하므로) Eevee : PBR material, 물리기반 매터리얼을 실시간으로 표시가능 Workbench : solid shading 과 비슷한 프리뷰용 렌더엔진, lighting과 material이 적용 X Cycles : 느리지만 더 정확한 렌더엔진, 본 포스팅에서 사용 뷰포트 쉐이딩 모드 설정한 렌더엔진으로 실시간 렌더링 결과를 뷰 포트에 출력하기 단축키 Z를 누르면 여러가지 뷰포트 모드가 나오며, 그 중 Rendered 를 선택한다. 2. Material 1. Material Slot ..
Unit 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 1..
보호되어 있는 글입니다.
https://docs.unity3d.com/Manual/AnimationSection.html 0. 애니메이션 유니티의 애니메이션 기능에는 여러가지 기능이 제공됨 리타겟팅 런타임 시 애니메이션 가중치 제어 애니메이션 재생 내에서의 이벤트 호출 FSM 구조 및 전환 얼굴 애니메이션을 위한 혼합 모양 등 1. 아바타 모델 파일(FBX, COLLADA 등)을 임포트한 후, Model Importer 옵션의 Rig 탭에서 Rig을 지정할 수 있습니다. 휴머노이드 https://docs.unity3d.com/Manual/AvatarCreationandSetup.html#:~:text=See%20in%20Glossary.,%2C%20arms%2C%20head%20and%20body. 인간형 캐릭터의 관절 애니메이..
https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html 유니티에서 자체적으로 제공해주는 경로찾기기능이다. 발판 역할을 할 plane과 장애물이 될 cube들이 놓여 있다. 2개의 오브젝트 모두 Navigation Static을 활성화 하고 Navigation Area를 상자는 "Not Walkable"로, 판자는 Walkable로 설정한다. Bake 탭에서 하단의 "Bake" 버튼을 누르면 navmesh가 설정된다. NavMeshAgent 컴포넌트를 가진 게임 오브젝트는 위의 navmesh 위에서 경로를 찾을 수 있게 된다. 기본적인 활용법은 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2..
데미지를 입는 오브젝트가 있다고 하자. 이 오브젝트에 총알이 닿으면, 충돌체의 종류에 알맞은 이벤트가 발생할것이다. 생명체의 경우엔 데미지를 입은 후, HP가 바닥너면 죽어서 사라질것이다. 장애물은 파괴되어 산산이 흩어질것이다. 게이트라면 문이 열릴것이다. 그리고 각 오브젝트는 자신들이 총알에 닿았을때 발동시킬 함수를 다 가지고 있다. 총알은 자신과 닿은 오브젝트의 종류를 파악한 후, switch 문으로 분기점을 형성하여 각기 다른 함수를 호출해도 된다. 하지만 총알은 자신이 닿은 오브젝트가 무엇인지 신경 쓰지 않고 그냥 파괴 효과를 주는것이 더 효율 적일것이다. 이런 경우, 상속이 매우 유용히 쓰일 수 있다. 총알의 경우 충돌이 발생했을 때, 상대방에게 IDamageable 컴포넌트가 있는지만 조사하여..
쿨타임 1 2 3 4 5 6 7 8 float msBetweenFire, nextTime; public void Fire() { if(Time.time > nextTime){ nextTime = Time.time + msBetweenFire / 1000; /* functions */ } } Colored by Color Scripter cs
1 2 3 4 5 6 public Unit unit; public Transform spawner; public void Spawn(){ Unit newUnit = Instantiate(unit, spawner.position, spawner.rotation) as Unit; } Colored by Color Scripter cs
트랜스 폼 1 2 3 4 5 6 7 8 9 10 Vector3 velocity; public void Move(Vector3 _velocity) { velocity = _velocity; } public void Update() { transform.Translate(velocity * Time.deltaTime); } Colored by Color Scripter cs 물리엔진 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Vector3 velocity; Rigidbody myRigidbody; void Start() { myRigidbody = GetComponent (); } public void Move(Vector3 _velocity) { velocity = _velocity; } ..
https://docs.unity3d.com/kr/2018.4/Manual/CameraRays.html 화면상에 마우스가 존재하는 위치로 캐릭터를 돌아보게 만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public Crosshairs crosshairs; public void LookAt(Vector3 lookPoint) { Vector3 heightCorrectedPoint = new Vector3 (lookPoint.x, transform.position.y, lookPoint.z); transform.LookAt (heightCorrectedPoint); } void Update () { // Look input Ray ray = viewCamera.S..
https://docs.unity3d.com/kr/530/Manual/Coroutines.html 특정 효과를 점진적으로 주고 싶을경우 주로 사용한다. 주로 점차적인 애니메이션 혹은, 분산 연산(로딩 화면 etc)등에 사용됩니다. 1 StartCoroutine(DeathAnimation()); cs 1 2 3 4 5 6 7 8 9 public IEnumerator DeathAnimation() { int current = 0; for (; current > -90; current = current - 5) { transform.Rotate(new Vector3(-5, 0, 0)); yield return null; } Die(); } Colored by Color Scripter cs yield retu..
0. 개요 https://docs.microsoft.com/en-us/windows/win32/dlgbox/using-dialog-boxes 대화상자에는 컨트롤들이 배치되며 사용자는 대화상자를 호출한 후 컨트롤을 통해 자신의 의사를 표시하고 명령을 내리며 프로그램은 대화상자에 배치된 컨트롤을 통해 현재 상태를 사용자에게 보여준다. 대화상자는 크게 모달형과 모델리스형으로 나뉘어진다. 모달(Modal)형 : 대화상자를 닫기 전에 다른 윈도우로 전환할 수 없으며 반드시 OK버튼이나 Cancel 버튼을 눌러 대화상자를 닫아야 다른 윈도우로 전환할 수 있다. MessageBox 함수에 의해 만들어지는 메시지 박스도 모달형 대화상자이다 모델리스(Modeless)형 : 대화상자를 열어 놓은 채로 다른 윈도우로 전환할..
0. 개요 사용자로부터 입력을 받는 기능 없이, 오로지 문자열을 보여주는것이 전부인 컨트롤 그렇기에 부모 윈도우로 통지 메시지를 보낼 필요도, 메시지를 받을 필요도 없다. 그러므로 여러개의 스태틱 컨트롤 모두 ID를 -1로 지정해도 된다. 즉, 별다른 목적이 없다면 사용자가 선택할 이유도, static control 끼리 구분되어야할 필요도 없다. 가령 위 윈도우에서 Header, Footer, Left, Top 등의 문자열이 static control이다. 주로 다른 컨트롤 옆에서 해당 컨트롤에 대해 수식하는 역할을 담당한다. 1. 스타일 static control에 즐겨 쓰이는 스타일은 아래와 같다. 스타일 설명 SS_LEFT 왼쪽으로 정렬되는 텍스트이며 자동으로 개행된다. SS_LEFTNOWORDW..
0. 개요 "scrollbar" 윈도우 클래스로 생성 수평의 경우 SBS_HORZ 스타일을, 수직일 경우 SBS_VERT 스타일을 지정 다음 함수를 통해 허용 가능한 설정값 범위와 스크롤의 위치값을 설정할 수 있다. 1 2 BOOL SetScrollRange( HWND hWnd, int nBar, int nMinPos, int nMaxPos, BOOL bRedraw ); int SetScrollPos( HWND hWnd, int nBar, int nPos, BOOL bRedraw ); cs 스크롤바는 자신의 변화에 대해 WM_HSCROLL(수평일 경우), WM_VSCROLL(수직일 경우) 이라는 별도의 메시지를 부모 윈도우로 보내며 추가 정보는 아래와 같다. 인수 설명 LOWORD(wParam) 스크롤 ..
0. 개요 에디트 컨트롤과 리스트 박스를 결합시킨 형태의 컨트롤 목록에 있는 항목중 다수를 선택할 수 있고, 원하는 항목이 없으면 에디트를 통해 직접 입력할 수도 있다. 항상 열려있는 리스트박스에 비해 필요한 경우에만 목록을 열어 선택 가능하다. 1. 스타일 스타일 설명 CBS_SIMPLE 에디트만 가진다. CBS_DROPDOWN 에디트와 리스트 박스를 가진다. CBS_DROPDOWNLIST 리스트 박스만 가지며 에디트에 항목을 입력할 수는 없다. 이외의 특징이나 메시지들에 대해서는 MSDN을 참고한다. https://docs.microsoft.com/en-us/windows/win32/controls/combo-boxes 사용법의 예는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13..
https://docs.microsoft.com/en-us/windows/win32/controls/about-list-boxes 0. 개요 선택 가능한 여러개의 항목들을 나열해놓고 그 중 하나 이상을 선택하도록 하는 컨트롤 선택가능한 항목은 주로 문자열임 listbox 라는 윈도우 클래스를 사용 1. 스타일 스타일 설명 LBS_MULTIPLESEL 여러개의 항목을 선택할 수 있도록 한다. 이 스타일을 적용하지 않으면 디폴트로 하나만 선택할 수 있다. LBS_NOTIFY 사용자가 목록중 하나를 선택했을 때 부모 윈도우로 통지 메시지를 보내도록 한다. LBS_SORT 추가된 항목들을 자동 정렬하도록 한다. LBS_OWNERDRAW 문자열이 아닌 비트맵이나 그림을 넣을 수 있도록 한다. LBS_STANDAR..