게임

    | 니앙팽이 - 스크립터블 오브젝트 (게임 개발 : Unity) | ScriptableObject

    103 ScriptableObject 📄 1. 용어0. 개요① intrinsic/Repeating :contain unchanging data duplicated across many objects② extrinsic/Unique :contextual data unique to each object③ 플라이 웨이트 :여러 객체들 간에 상태의 공통 부분들을 공유하여 RAM을 더 가볍게 하기 위함이다.Immutable -> intrinsic/Repeating : 공유되는것은 인스턴스마다 차이가 안나는것. readonlyMutable -> extrinsic/Unique : 공유되지 않는것은 인스턴스마다 차이 나는것이다.1. 스크립터블 오브젝트 사용하는 이유#캐시플라이 웨이트 패턴을 유니티에서 구현한것이다. 따..

    |유니티| 5 | GameManager을 통한 전역 처리 & 점수표 UI & 발사체 & 클래스와 상속

    Send Message 게임 전역적으로 처리해야하는 값,메소드를 모아놓는다 다음 기능을 각 오브젝트가 아닌 전역적으로 처리하도록 해보자. 1. 게임 재시작 2. 빨간코인 -> 장애물 삭제 3. 코인획득 -> 점수표 1. 게임 매니저 1. 전역 스크립트에 저장하기/스크립팅 절차는 다음과 같다 전역에서 실행되기를 가정한 WORLD 오브젝트를 생성한다 WORLD 오브젝트에 WORLD 스크립트를 삽입한다 다음은 게임 매니저에서 전역으로 실행될 메소드를 만든코드이다. public class GameManager : MonoBehaviour { bool DEBUG = true; private int coinCount = 0; void RestartGame(){ if(DEBUG) {Debug.Log("Total Co..

    |유니티| 4 | 충돌 감지 & 아이템과 배열

    아이템과 장애물 1. 메소드 함수를 만드는것이다 1. 특정 오브젝트간 Distence 구하기 //Target에 오브젝트Name을 문자열로 넣으면 //Find가 오브젝트를 검색한다 void Update(){ TragetDist("Text (TMP)"); } void TargetDistence(string Target){ float thisToTargetDist = Vector3.Distance( GameObject.Find(_Target).transform.position, transform.position ); Debug.Log(_Target + " To " + this.gameObject.ToString() + thisToTargetDist); } 2. 충돌상대를 밀치기 Collision.gameObj..

    |유니티| 3 | 유저 입력 & 오브젝트 말풍선(텍스트) 띄우기 & 카메라와 마주보는 스프라이트

    이전 글 추가 팁 1. 오브젝트를 추적하는 카메라 LookAt(_target _) 카메라가 타겟 오브젝트에 알아서 transform.Roation을 추적한다 단, transform.position만큼은 그대로. public Transform target; public float dist public float height private Transform tr; // Use this for initialization void Start() { tr = GetComponent(); } //Update is called once per frame void Update() { //카메라 위치 설정 tr.position = target.position + (1 * Vector3.right * dist) + (Ve..

    |유니티| 2 | 유니티 스크립트 (C# 문법) & 카메라가 오브젝트 따라가게 하기 & 밤낮 표현하기 (Light 회전)

    C# 문법 컴포넌트 직접 구현 컴포넌트는 C#을 이용해서 구현한다. 1. C# 변수 선언 //type //정수 int age = 24; //부동 소수는 항상 뒤에 f를 붙여준다 float height = 176.8f; string myName = "상준"; 2. C# 변수 계산 //사칙연산 + - * / int a = 1; a++; string a = "My"; string b = "Name"; a + b; //MyName 3. C# script 만들기 3-1.스크립트 생성 1. 프로젝트 창에서 우클릭 2. Create -> C# script 3-2.스크립트 내용 //유니티 콘솔창에 메세지 띄우기 //단 대소문자 구분 잘하자 Debug.Log(); //유니티 전용 Console.WriteLine(); /..

    |유니티| 1 | 유니티 UI & 물리 적용시키기 & Rigid-Body & Bouncy

    유니티 시작 1 https://docs.unity3d.com/kr/2020.3/Manual/UnityManual.html 1. 계층뷰 2. 씬뷰 게임화면 3. 인스펙터 변수 수치 4.프로젝트 뷰/콘솔뷰 2. 게임 오브젝트 & 컴포넌트 1. 툴 1. 핸드툴 스크린 뷰의 카메라(object는 아님)를 조정 우클릭 : wasd로 자유시점 가능 좌클릭 2. 트랜지션 조절 오브젝트의 위치, 회전, 크기를 수치가 아닌 마우스로 조절하게 돕는 인터페이스 무브툴 : 게임 오브젝트의 position 조정 로테이트 툴 : 게임 오브젝트의 회전 스케일 툴 : 오브젝트의 크기 조절 2. 카메라 & 빛 카메라 3. 컴포넌트 참고 오브젝트의 정체성을 나타내는것 게임오브젝트의 성질을 결정 1. 카메라 오브젝트 인스펙터 카메라 컴포..

    [cocos2d-x - 설치] cocos --version syntaxWarning 오류; 해결책은-python 2, 3 같이 사용하기!

    1. cocos2d-x 오류 발생. cocos2d-x 를 설치하고 나서 이제 제대로 설치 되었는지 cocos --version 명령어를 실행해 확인하려고 할때.. syntaxWarning(뭐시기...) 또는 D :\cocos\cocos2d-x-3.16\tools\cocos2d-console\bin/cocos.py”, line 1047, in if not _check_python_version() 이런식으로 에러가 발생해 버젼확인이 안될때, 고려해볼것.. 혹시 파이썬 2.x 3.x 둘다 설치한것은 아닌가?? 그러면서 발생한 충돌 문제가 있는게 아닌가?? 2. 야 너두? 님만 그런게 아님. 위와같은 이유로 $PATH 문제가 발생한 사례는 cocos 커뮤니티에도 질문이 올라온것이 있다. https://disc..