목록창고/나만의 게임 제작 (24)
도드넷
Already sold soul to a pony. 도드의 유니티 API#5 - hex 컬러 코드값을 rgb로 반환해서 color 객체만들기!! 39. HEX코드 컬러변경 함수 // HEX COLOR SYSTEM WOOT!! public static Color hexToColor(string hex) { hex = hex.Replace("0x", "");//in case the string is formatted 0xFFFFFF hex = hex.Replace("#", "");//in case the string is formatted #FFFFFF byte a = 255;//assume fully visible unless specified in hex byte r = byte.Parse(hex.Sub..
유니티 대표적인 레퍼런스 오류인 Object Reference not set to an instance of an object 의 원인과 해결법에 대해서 알아봅니다. 유니티 Object Reference not set to an instance of an object 에러는 직역하면 오브젝트 참조가 오브젝트 형태의 인스턴스가 아닙니다. 입니다. 즉, 참조 하려는 오브젝트의 형식이 잘못됬거나 참조할 오브젝트를 찾을 수 없었다는 이야기이죠. 해결법1 해당 오브젝트 변수를 퍼블릭으로 놓고 직접 오브젝트를 인스펙터 스크립트 컴포넌트에다가 끌어다가 등록한다. 해결법2 if문으로 하여금 애초에 오브젝트가 존재하지않으면 실행되지 않게 제한을 건다. 예를들어 오브젝트A의 속도를 3으로 설정하라.라는 명령어는 오브젝트A..
도드의 유니티 API#4 - 유니티 C# 기본중 기본문법 정리 스크립트를 만들때 사용되는 기본방법과 기본도구 정리하는 느낌으로 써봄. 1. 유니티 변수 선언하는 방법 public float current_hp = 10.0f; public float max_hp = 10.0f; public float phy_resist = 0.1f; public GameObject attacker = null; Vector3 newposition; float death_count = 0; float N1_60 = 1.0f / 60.0f; float death_time = 5; Color newco = new Color(0, 0, 0, 0); Color newco2 = new Color(0, 0, 0, 0); Vector3..
도드 게임즈#8 - 유닛 명령시스템 ▲ 만들면서들은 노래 왕좌의 게임 오프닝 8비트 ㅋㅋㅋㅋㅋ UI 기본 컨셉 디자인 이후 심각한 명령체계에 구조조정(?) 리컨스트럭션이 필요해서 한동안 그거하다 와봄. 내 게임의 명령체계는 이럼. 1. MASTER OF PUPPETS- 선택된 객체의 퍼펫 컨트롤 스크립트에 명령을 내린다.("선택"의 경우 클릭시 해당 오브젝트의 "selected" 플래그를 올리는식으로 함) ↓ 2. PUPPET CONTROL- 받은 명령을 처리한다. (타겟지정, 타겟위치 지정) - 최종적인 캐릭터 이동/공격 명령 처리- "Stand" 유휴상태일경우 자동으로 범위내 적탐색 및 공격 조종 스크립트와 실제 유닛 행동스크립트를 이런식으로 분리하면 심지어 적 유닛에게도 명령전달이 가능해짐. 한마디..
아래 빈 칸들 보이시나요. 제 첫 UI입니다. QWERF 스킬들어갈거고 맨끝큰 정사각형에는 유닛 초상화 넣을예정입니다. 도드의 유니티 API#3 유니티 UI - 유니티 UI 기초 UI를 만들어보자! 유니티에서 UI만들기는 생각보다 쉽습니다. 1. 일단 필요한 이미지는 알아서 감각적으로 만들어주시구요. 2. 캔버스를 만들어줍니다. 3. 그안에 자식 요소로 UI요소들을 담을 패널을 만들어줍니다. (배경이 투명이여도 되고 아니여도 됩니다.) 3. 패널안에 필요한 UI 요소인 이미지및 버튼등을 만들어줍니다. 4. 배치하기전에 캔버스에 가서 Canvas Scaler 컴포넌트에서 UI Scale Mode를 Scale With Screen Size로 바꿔줍니다. 이렇게 해놔야 다양한 해상도에서 UI가 사라지지않고 알..
산적 : 거기너 멈춰 난 강도다 가진거 다내놔. 그렇게 오늘은 스토리텔링을 위한 대사 시스템 만들어봤습니다. 개인적으로 여기에 대화선택지 UI 추가해서 자유도를 높이고 싶네요. 1. 꺼져 (전투) 2. 우리 같이 강도짓하실래요? (영입?) 3. 다 드리겠습니다. (봐줌)4. 꺄아아악 (50%확률로 강도도 놀라서 도망 혹은 전투) 도드의 유니티 API #2 - 대사 만들기 텍스트 GUI 유니티 대사 시스템 텍스트 GUI 과 시네마틱은 다음과 같은 방법으로 만들었습니다. 1. 데미지 GUI랑 마찬가지로 PREFAB 오브젝트를 맹급니다.이 오브젝트는 텍스트 GUI를 포함하고 있으며 스크립트에서 이걸 토대로 새로운 대사 오브젝트를 복사-생성하고 위로 쓰윽 올라가는 속도와 대사가 더해지게 됩니다. 한편 반복문에서..
도드의 유니티 API #1 유니티에서 페이드인과 페이드 아웃효과를 만드는 방법을 알랴드립니다. 사실 유니티에는 직접적인 카메라 페이드인앤 아웃 기능이 없습니다. 고로, 검은 이미지를 불러와서 화면의 맨앞으로 가져와서 가리는 방법으로 블랙아웃, 페이드아웃을 구현합니다. 일단 검은색 그림을 불러왔으면 색상을 수정해 알파값을 0으로 맞춰줍니다. 그러면 색이 빠지고 평범한상태가 되겠지요. 이제 스크립트에서 알파값을 더해주면 페이드 아웃이되고 알파값을 빼주면 페이드 인이 됩니다. (응용으로 하얀색 그림으로 할경우 화이트아웃 효과도 가능하겠죠.) 아래는 참고용 스크립트 일부분입니다. if (fadeOut) { newco.a = newco.a + 0.06f; darkscreen.GetComponent().color ..
이제 어느정도 게임 구실을 갖춰가는 나의 게임 ㅋㅋㅋㅋ ♥ 이번 포스트에서는 유니티 마우스 커서 자신만의 커서를 만드는 방법을 나눠봅니다. 도드 게임즈#7 - 유니티에서 자신만의 마우스 커서 만들기 1. 마우스 커서 이미지 만들기 - 만들때 팁은 포인팅 클릭될 부분이 항상 왼쪽위 끝부분이란점을 명심하고 마우스 포인트 끝을 그쪽으로 잡아주면 됩니다.- 그리고 마우스 이미지는 항상 정사각형이여 합니다. 아니면 유니티가 알아서 늘여서 표현하게 됩니다. 나머지 부분은 남아도 상관없는게 어짜피 마우스란게 모니터상의 한점을 반환하는것이기 때문에 실제로 사용되는 부분은 오직 왼쪽 위 끝 지점뿐이라 위처럼 만들어두 됬습니다. 2. 마우스 이미지 유니티에 등록하기- Edit > Project Settings > Play..
엄마 쟤 흙먹어... 응(?) 도드 게임즈#6 - 흙 땅 텍스쳐를 컴퓨터 도트 이미지로 그려보자. 음, 전에 쓰던 흙, 땅 스프라이트는 무작정 벤치마킹해서 따라 그렸는데 이번에는 내 스타일로 다시 만들어봄. 아래 있는게 구버전 요아래 있는건 신버전 확실히 신버전이 퀼은 더 좋은편 도트 스타일에 그렇게 잘맞는건 아니지만 깔끔하고 아랫쪽 UI배치할때 잘어울릴것같아서 이걸 채택하기로 함. 컴퓨터, 김프로 이거 땅, 흙 그리는 방법은 의외로 간단함 1. 512 x 256 정도 해상도로 도화지를 만듬. 2. 흙? 똥색을 배경색으로 만듬 3. 도구에서 연필 -> Splats 선택 -> 크기 매우 크게 조절하고 투명도 약간 낮추고 돌색(획색), 모래색(연한갈색?토사물색?)으로 랜덤하게 점박이 만들어줌-> 이후 spl..
유니티 데미지 시스템, GUI 엘레멘트 이용 팁 - 현재까지 잘 작동하는 나만의 유니티 데미지 시스템. 1. 플레이어 스크립트에 의해 타겟에게 데미지를 입힘. void attack_animend() { if (Target.tag != "Dead" && Inrange) { // 평타 공격 데미지 계산 DMG = ad * (1 - Target.GetComponent().phy_resist); Target.GetComponent().received_dmg = DMG; Target.GetComponent().current_hp = Target.GetComponent().current_hp - DMG; Target.GetComponent().attacker = gameObject; } GetComponent()...