유니티(8)
-
[Unity / C#] 2D 젤리 키우기 게임 - 2. 인터페이스 제작 및 기능 구현
이번 강의에서는 게임에 활용되는 인터페이스와 해당 인터페이스의 기초적인 기능을 구현해보았습니다 먼저 인터페이스를 화면 상에 배치하기 위해 Canvas 오브젝트를 추가한뒤 , 다음과 같이 설정합니다 다음으로 Canvas UI => image를 추가한 뒤 이름을 "Left Btn"으로 설정하고 Source Image를 "Panel"로 지정해줍니다 . 생성한 Left Btn 의 위치를 Anchor 를 사용하여 왼쪽 하단에 위치하도록 조절해줍니다. 이후 위치와 크기를 조정하여 배치합니다 다음으로 Button오브젝트를 Left Bun 오브젝트의 자식 오브젝트로 생성한뒤 이름을 "Jelly Button"으로 설정해줍니다 . 마찬가지로 Source Image를 "lcon2 " 로 설정한뒤 "Set Native Siz..
2022.10.03 -
[Unity / C#] 2D 젤리 키우기 게임 -1.도트장면 만들기 및 Ai구현
유튜브에선 볼트 방식으로 나오지만 볼트 방식이 아닌 스크립트 방식입니다 배경을 배치할때 각 배경들이 레이어 순서(Order in Layer)를 알맞게 조절하여 어색한 부분이 없도록 해줍니다 다음은 Prefab으로 저장되어 있는 Particle Object를 화면에 배치한뒤 ,다음과 같이 Shin과 겹치도록 위치를 조절해줍니다 이후 Jelly 와 그림자를 배치하고, 적절하게 위치를 조절 해줍니다 .그림자의 경우 Jelly의 자식 오브젝트로 설정해줍니다 다음으로 카메라가 배경 바깥을 비추는 현상과 Jelly의 Pixel이미지가 흐릿하게 보이는 현상을 해결하기 위해 "PixelPerfaectCamera"라 는 패키지를 다운로드 하여 Import합니다 . 이후 Main Camera에 "PixelPerfect C..
2022.10.03 -
[C#]델리게이트 (delegete)개념
아이디어 - 함수를 변수처럼 사용 하고 싶다! 정수값을 변수에 담고 싶을때는 int (정수)로 선언 int A = 6; 문자를 담고 싶을때는 string 로 선언하면 됩니다 string A = "안녕"; 함수(or 메소도) 를 변수에 담고 싶을땐 어떻게 할까요? 이때 사용하는것이 대리자(delegate)입니다 1.델리게이트 선언하는 방법 1) 제일 앞에 delegate 명시하고 , 리턴값 타입 , 매개변수 구성 을 맟춰서 정의 합니다 아래 그림 처럼 변수에 넣고 싶은 메소드인 Print의 구성요소 를 맞춰서 delegate를 정의 하는것을 알수 있습니다, delegate void MyDelegate(string str); class A { public void Print(string str) { Cons..
2022.08.10 -
이벤트(Event)
Event 란 다들 스타그래프트 많이 해보셨나요? 거기에 나오는 옵저버! 옵저버 패턴 (Event) 입니다 델리게이트 사용시 많이 사용되는 함수 입니다 이유는 간단히 델리게이트 라는 개념이 상속 이란 개념 이며 할머니 할아버지 와 자손 과 같이 물려 받는 방식입니다 하지만 델리게이트를 사용을 하다보면 스파게티의 꼬인 면처럼 되는 상황들이 자주 발생하는대요 ! 그런 상황을 대처 및 방지 하기 위한 방식으로 사용 되는것이 이벤트(Event) 입니다! 쉽게 말해 이벤트를 발동시키는 측도 그 이벤트에 기능을 등록 시켜 놓은 측도 서로에게 관심이 없도록 함으로써 서로 엮이지 않도록 하는 방도 입니다 특정조건시 작동 되는 OnCollision, Awake 등이 이벤트 함수라고 할수있으며 이벤트를 사용하지 않을 때 ..
2022.08.09 -
[유니티 개념]MonoBehavionur 과 라이프 사이클(초기화와 관련된 특수함수) 차이점 과 사용 예
public class Inklie : MonoBehaviour MonoBehavionur :유니티의 기본 클래스 , 이렇게 상속받는 클레스는 유니티 에디터에서 게임 오브젝트로 부착가능 MonoBehavionur를 사송 받는 컴포넌트는 생성 ,업데이트 , 소멸의 광정을 거침 초기화와 관련된 특수함수 생성 : Awake() , OnEnable() , Start() Awake() : 스크립트 인스턴스가 로딩 될때 단한번에 호출됨 , 컴포넌트에 대한 초기화가 필요한 경우 Start() : 스크립트 인스턴스가 로딩 될때 단한번만 호출됨 Start() 와 Awake()의 차이점 더보기 Start와 Awake는 둘 다 MonoBehaviour 클래스가 초기화 될 때 호출 되는 이벤트 함수다. 이 두 함수는 거의 비..
2022.08.09 -
[유니티] 3D포탑이동 - 자연스럽게 환경변화(비디오클립 방식)
설명 - 빨간색 A ,초록색 B 라고 과정 하고 A문에서 B 문으로 이동 B문에서 A문으로 이동 할수있게 로직을 구현 하였습니다 문앞에 카메라 설치를 해놓았고 들어가기전 그장면을 비디오 클립과 머털이얼 교체 방식으로 자연스러운 눈속임을 주는 방식입니다 참고 !! - A와 B 는 거리가 멀리 있기때문에 가로 질러 순간이동을 합니다 -메인 카메라를 플레이어 카메라고 지정후 camare A , B 를 만들어 그림과 가치 비추어준다 방식은 어떻게 비추든 상관없습니다 -3D 오브젝트인 Quda 또는 Plan 으로 문을 만들어준후 컬라우드를 지웁니다 참고로 게임오브젝트를 하나 만든후 portel A 라고 지정후 Plan 또는 Quad 를 자식 객체로 넣어줍니다 A와 마찬가지로 B또한 그렇게 하면되며 Quda 를 사..
2022.06.25