목록분류 전체보기 (86)
박민혁의 개발
2d 한줄 바닥 체크 나도 나중에 이거 써야지 ㅎㅎ 원리 캐릭터의 포지션 + 키 절반(피벗기준 출발해서 절반)= 발바닥에 원을만들어서 바닥에 닿아있는가 체크 isGround = Physics2D.Overlapcircle((Vector2)transfrom.position + new vector2(0, -0.5f), 0.07f , 1

점프를 하고 벽에 좌클릭을 꾹 누르자 그림처럼 내 캐릭터는 벽에 턱 막힌다 내 맘도 턱턱 막힌다 대체 왜 이런일이 발생한걸까? 이유는 바로 박스 콜라이더에 마찰이 있기 때문 에셋 -크리에이트 -Physic Material 생성 생성시 - Dynamic Friction: 동적인 상태(움직이고 있는 상태)의 오브젝트의 마찰계수 (0~1사이의 값) - Static Friction: 정적인 상태(정지상태)의 오브젝트 마찰계수 (0~1사이의 값) 마찰계수가 0이면 마찰이 전혀 없어져서 얼음 위를 미끄러지는 것과 같은 상태가 됨 1이면 마찰이 강하게 되어 미끄러지기 힘듬 - Bounciness: 반발계수. 오브젝트가 물리적으로 부딪힐때 반발하는 계수 (0~1사이의 값) 반발계수가 0이면 전혀 튀어오르지 않음 1이면..
중복 없는 랜덤 뽑기를 위해 몇가지 방법을 찾아왔다 현재 목록중 3개를 뽑는걸 목표로 하기에 1번째걸 뽑은후 2번째 ,3번째가 앞선것에 중복되지 않는걸 뽑는걸 목표로 하고 잇따 중복이면 한번더 해서 다시뽑기 using System; using System.Linq; // 배열 초기화 - Enumerable 사용 static void Main(string[] args) { Random random = new Random(); int N = Convert.ToInt32(Console.ReadLine()); bool[] selected = Enumerable.Repeat(false, N).ToArray(); int selectedCnt = 0; while(selectedCnt < N) { int a = ran..
1.csv파일리더기로 불러오기 using UnityEngine; using System; using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; public class CSVReader { static string SPLIT_RE = @",(?=(?:[^""]*""[^""]*"")*(?![^""]*""))"; static string LINE_SPLIT_RE = @"\r\n|\n\r|\n|\r"; static char[] TRIM_CHARS = { '\"' }; public static List Read(string file) { var list = new List(); TextAsse..

유니티 좌표계 프로그램마다 사용하는 좌표계가 다릅니다. 따라서 좌표계에 대해서 이해하는 것은 매우 중요합니다. 유니티에서는 위치를 표현할 때 왼손 좌표계를 이용합니다. X축은 빨간색, Y축은 초록색, Z축은 파란색(RGB순서)으로 표현합니다. Transform.position Transform.position은 게임오브젝트의 절대좌표를 나타냅니다. Transform.position에 Vector3를 대입하면 해당 위치로 이동합니다. 다음은 Transform.position의 예제 코드입니다. transform.position = new Vector3(x, y, z); Transform.localPosition Transform.localPosition은 게임오브젝트의 상대좌표를 나타냅니다. 게임오브젝트의..
Json 장점 복잡한 구조를 구현할 수 있다 유니티에서 파서를 지원한다 Key와 Value 값으로 이루어져있어(Hash, Dictionary와 비슷) 사용하기 편리하다 단점 CSV와 마찬가지로 오류발견이 까다롭다 대량의 데이터 편집이 힘들다 Array 처리를 지원하지 않아 후처리가 필요하다 추천 활용법 많지 않은, 복잡한 구조의 데이터 게임 콘텐츠 list CSV 장점 엑셀 등의 툴을 사용해 외부에서 작업할 수 있어서 기획과의 협업에 편리하다 동일하게 대량의 데이터 편집 작업에 용이하다 단점 표로 만들 수 있는 구조만 가능하기에 Json보다 구조상의 한계가 있다 특정 키를 찾거나 수정하는 것도 헷갈리고 오류도 발견하기 까다로워서 신뢰성이 떨어진다 콤마(,)와 엔터(/n)는 따로 큰따옴표(““)로 묶어 후..

책 한 권만 읽은 사람이 가장 무섭다. 이란 말을 아는가? 하지만 더 무서운 사람이 있으니 유튜브 포톤 강의 몇시간만 본 사람의 포톤 그렇다 바로 이 글 이다 우선 난 포톤을 처음 알았을때 다음 4가지 컴포넌트를 알게 되었다 1. PhotonView PhotonView는 포톤 네트워크에서 네트워크 상태를 동기화하는 데 사용됩니다. 이 컴포넌트를 통해 PhotonNetwork.Instantiate를 사용해 생성된 객체가 네트워크를 통해 동기화됩니다. PhotonView는 주로 Transform 컴포넌트나 사용자 정의 스크립트와 같이 동기화하고자 하는 컴포넌트를 참조합니다. 2. PhotonTransformView PhotonTransformView는 위치, 회전, 및 크기를 동기화하는 데 사용되는 컴포넌트..
책 한 권만 읽은 사람이 가장 무섭다. 이란 말을 아는가? 하지만 더 무서운 사람이 있으니 유튜브 포톤 강의 몇시간만 본 사람의 포톤 그렇다 바로 이 글 이다 기본적으로 포톤은 호스트 쪽에서만 클라이언트가 실행된다 플레이어블캐릭터가 아닌 무언가(예를들어 몬스터)의 함수가 실행될때 모든 컴퓨터에서 실행된다고 생각하지만 사실 호스트 쪽에서만 실행되고 클라이언트 쪽에서는 호스트가 뿌려준 신호를 주는것 기본적인 트랜스폼(이동) 애니메이터, 리지드바디 는 포톤뷰 를 통해 해결하지만 단 애니메이터 같은 경우 애니메이터의 움직임을 동기화 시켜주는것 이지 애니메이터 상태 변화의 불값도 동기화 시켜주진 않기에 bool값을 바꿔주는 메서드는 따로 신경 써야한다 일반 함수는 통신이 안되기 때문에 함수에 [PunRPC]를 붙..