목록창고/나만의 게임 제작 (24)
도드넷
유니티 텍스트 그림자 효과 넣는방법? 이미지나 텍스트 컴포넌트가 들어있는 오브젝트에 빌트인으로 있는 쉐도우 컴포넌트(Shadow Component) 를 넣어주면 됨. 넣었는데 안생기면 아마도 쉐도우 위치가 너무 멀리 떨어져서 안보이는거일거임 아마도. 그냥끝내면 좀 시시하니 쉐도우 컴포넌트를 살펴보면, 스크립트는 뭐 쉐도우 그리는 내부 스크립트겠고Effect Color 은 그림자 색인데 알파값이 125 정도로 되어있는데 255로 진하게 하는게 좋다고봄.Effect Distance 는 그림자 거리로 해당 GUI에 컴포넌트 넣었는데 그림자가 안보일경우 이거리를 조절해야함Use Graphic Alpha는 나도 모르겠다 다른점이 없엉 (응?) 추가팁 그리고 유니티 GUI 텍스트가 월드 스케일로 만들었을때 작은 텍..
고통당하는 트와 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ >ㅁ< 고통이 느껴진다 ♥ Dream on dream on, dream until dream comes true. 도드의 개발노트#5 - 데쓰씬, Any State 무한반복 안하게 하기 1) Any State과 트랜시션된 애니메이션 무한반복안하게 하기해당 트랜시션에 들어가서 Settings 를 연다음 Can Transition To Self 를 끈다. 그래도 애니메이션이 반복 한다면 애니메이션 자체가 루프로 설정되어 있어서 그렇다. 해당 애니메이션을 프로젝트 패널에서 선택해 루프를 체크해주면 된다. ▲ Death 와 Hit 은 Any State 와 연결되서 어느 애니메이션에서든지 끼어들수있게 만들었다. 2) STAGGER ANIMATION 완벽한 데미징 스..
DREAM ON DREAM ON dream until your dream come true 도드의 개발노트#5 - 유니티 공격 시스템 총괄 정리. 1. 사거리내에 유닛감지 들어오는것 감지 void OnTriggerEnter2D(Collider2D thiscollider) { 리스트에 더한다 (Add) } 나가는것 감지 void OnTriggerExit2D(Collider2D thiscollider){ 리스트에서 뺀다 (Remove) } 퍼펫 컨트롤 항시반복 부분 유닛감지 if (Enemies_In_Attack_Range.Count > 0 && Target) { // 공격 범위안에 있는 모든 유닛을 대상으로, for (int N = 0; N < Enemies_In_Attack_Range.Count; N++..
whats my age again? 도드의 개발노트#4 - 본 애니메이션 스프라이트 2D 스켈레톤 모델 유니티 본 애니메이션 그러니까 뼈대 형태를 갇춘 스켈레톤 2D 스프라이트 모델을 만드는 방법과 애니메이션 제작 방법을 간단히 정리해봄. 1. 스프라이트 시트를 만든다. - 김프/포토샵/플래쉬등 아트 소프트를 이용해서 머리 몸통 윗팔 아래앗팔 윗다리 아랫다리 손 발.. 2. 스프라이트 시트를 유니티 프로젝트 패널에 불러온다. 3. 불러온 스프라이트 시트 설정을 다음과 같이 한다. 4. Sprite Editor 를 열어서 Slice를 눌러줘서 자동으로 나눠지게 한다.Slice가 비활성 상태라면 Sprite 모드가 Multiple로 설정되지 않아서 일거다 (그니까 위대로 하라고 ㅠㅠ) 5. 각 바디파트의 이..
도드의 개발노트#3 - 유니티 마우스로 유닛 선택해서 움직이기 마우스로 유닛 선택해서 움직이게하는 워크플로우와 사용한 명령어 공개 1) 플레이어에게서 마우스 입력을 받고 명령을 내리는 뇌와같은 역할을 하는 스크립트 Master Of Puppets 사용한 핵심 명령어 모음 좌클릭(0) 우클릭(1) 감지 if (Input.GetMouseButtonDown(0)) {} if (Input.GetMouseButtonDown(1)) {} 클릭한 위치와 클릭한 물체를 반환Vector2 Click_Point = Camera.main.ScreenToWorldPoint(Input.mousePosition); Collider2D Click_Collision = Physics2D.OverlapPoint(Click_Point)..
도드의 개발노트#2 - 스프라이트 빛 받게하기. 1. 새 매터리얼을 만든다. 2. 셰이더를 Sprites/Diffuse를 선택한다. 3. 스프라이트 랜더러의 매터리얼을 새 매터리얼로 교체한다. 4. 이제 스프라이트가 빛에 반응하게 된다. 5. 새 매터리얼의 틴트를 어둡게 조정하면 밤같은 효과를 낼수있다.
도드의 개발노트#1 - 유니티 스프라이트 테두리 만들기 1. 아래 파일을 다운받아서 통째로 애셋에 추가한다. 2. 레이어에 Outline 이라는 레이어를 추가한다. 3. 스프라이트 테투리를 그릴 물체에 Outline 스크립트를 추가한다. 4. 플레이어 카메라에 Outline Effect 스크립트를 추가한다. 5. 필요한면 Y플립을 해준다. 6. 물체마다 번호로 색상 3가지를 지정할 수 있고 Erase Render 을 체크함으로서 테두리를 감출수있다.
유니티 for문과 List remove 버그에 대해서? List의 길이로 반복문 돌리는데 그 반복문이 절반만 실행되는 경우. 만약 for문 내에서 리스트에 해당 요소를 지우라는 remove 명령이 내려진 경우1회차 회전후 지워지고 for문의 조건검사 부분에도 영향을 미치게 된다. 예를 들어서 만약에 [선택된 유닛]이라는 리스트에 4개의 유닛이 들어가있다고 하자. 4개의 유닛을 모두 리스트에서 지우고자 [for문 + 리스트의 길이]라는 반복문으로 지우겠다고 하면 1회전시 remove 명령에 의해 요소가 삭제되어 리스트의 길이가 줄어들어 3이 되고 2회차 반복때에는 리스트의 길이가 2가 된다. 이때마침 반복횟수 인수인 k도 2에 도달하므로 반복문이 멈추게 된다. 즉 리스트의 길이를 두고 for 반복문을 설정..
Marry Me AJ ♥ 유니티 C# LIST ArgumentOutOfRangeException Argument is out of range 에러! 원인 : 불러낸 요소가 비어있습니다. 해결법 : 요소를 추가해 줍니다. 예시 "아이이이이" 라는 인트 리스트를 만들었습니다. 아이이이의 첫번째 요소를 불러내려고 했으나 ArgumentOutOfRangeException Argument is out of range 에러가 발생하며 실패합니다. List Add 메소드를 추가해서 0을 추가할경우 에러없이 0이 출력됩니다. (Array를 생각하고 0번 요소에 4를 집어넣는다던가 하는건 안됩니다. list에서 없는건 없는겁니다.) 아규맨트 아웃오브 레인지 익셉션이 발생하는 이유는 비어있는 리스트의 요소에 접근하려 했기..
Realisant mon espoir ♠ 도드의 유니티 API#6 - ONGUI CLICK 만드는 방법 UI 클릭시 발동하게 만들기 1. 해당 GUI에 EVENT TRIGGER 를 추가한다. 2. Add New Event Type을 눌러서 Pointer Click 을 선택한다. 3. 원하는 오브젝트를 등록하고 원하는 함수를 호출하도록 한다. 사실 여기까지 했으면 다 끝난건데 마음에 안드는게 있다. 바로 우클릭 좌클릭 모두에 반응한다는것. 좌클릭에만 반응하게 하려면 update 반복문에 좌클릭 검사용 조건문을 추가해주고 if (Input.GetMouseButton(0)) { left_click = true; } else { left_click = false; } 트리거로 부르는 함수에 다음 조건문 구조로 ..