본문 바로가기

Unity/Unity3D

(15)
Unity-카메라시점변환 (1) - CameraManigerScript로 C#스크립트를 작성 메인카메라와 서브카메라를 카메라키워드로 퍼블릭변수를 준다 (이 후 각 각의 카메라를 직접 유니티엔진에서 넣어줄예정) - 메인카메라만 켜진 상태의 함수 와 서브카메라만 켜진상태의 함수를 생성하여 퍼블릭을 준다 (외부 클래스에서 접근할 수 있게 하도록 위해서) (2) - Player 스크립트에서 (1) 에서 작성한 카메라매니져스크립트를 키워드로 CM이라는 변수에 담고 퍼블릭을 준다 (이 후 유니티엔진에서 카메라매니져 오브젝트를 드로그앤 드롭할 예정) (3) - 게임을 시작할때 바로 메인카메라가 켜지도록 Awake()에 메인카메라만 키는 함수를 넣고 1을 눌렀을때는 메인카메라온 2를 눌렀을때는 서브카메라온이 되도록 Update()에 넣어준다 ..
Unity - Rall and Ball project(3) 1.UI 구성 image와 Text컴포넌트2개(플레이어가 먹은 아이템 개수, 총아이템 개수)를 생성한다 2. 동적인 UI 구성 (1) - GameManiger 오브젝트에서 UI를 관리해주기 위해 GameManigerScript에서 상단에 UI를 가져올 수 있게 관련 라이브러리를 쓰도록 해주고(using UnityEngine.UI;) (2) - Public Text(가져오기 위한 목적이 되는 컴포넌트) 변수명 으로 선언을 해서 유니티엔진으로 Text를 빼주고 (3) - 이전에 만든 계층구조안의 Text를 드로그앤 드랍으로 GameManigerScript안으로 옮긴 후 (4) - 해당 Text에 변수할당으로 접속하여 그안의 text를 관리할수 있도록 한다 (5) - 게임이 시작할때(void Awake(){}..
Unity - Rall and Ball project(2) 1. 카메라 조정 (1)- maincamera와 Player 오브젝트의 위치를 적당히 조절 (2)- 카메라와 Player 오브젝트의 위치가 같도록 Maincamera 스크립트 작성 *카메라와 UI등은 LateUpdate 생명주기에 작성 (3)-카메라와 Player오브젝트가 일정거리 떨어진 상태를 유지하도록 스크립트 작성 2.씬구성 (0) Finish 오브젝트 생성 - 예시에서는 컨테이너박스 안에 투명한 원기둥 모양으로 생성 (1) GameManiger오브젝트 생성 - 우클릭 - creat - EmptyObject로 오브젝트를 생성해서 GameManiger로 이름 및 tag이름 변경 *EmptyObject = 형태가 없고 전반적인 로직을 가진 오브젝트를 매니저로 지정 (2) GameManiger 오브젝트에..
Unity - Rall and Ball project(1) 1. 오브젝트 생성 및 기본스크립트 작성 //Player 스크립트 (공) public class Player : MonoBehaviour { Rigidbody rigid; public float JumpPower; //변수선언시 자료형 앞에 public을 붙이면 유니티 엔진 내에서 변수 수정가능 void Awake() { rigid = GetComponent(); } void Update() { Vector3 jump = new Vector3(0, JumpPower, 0); if (Input.GetButtonDown("Jump")) { rigid.AddForce(jump, ForceMode.Impulse); } } void FixedUpdate() { Vector3 vec = new Vector3( In..
Unity- UI 기초 1.canvas :UI가 그려지는 도화지 역할인 컴포넌트 (1) canvas 생성 (2) 그러면 스크린이 생성되는데 Scene창의 shaded 옆 2D를 클릭하면 아래화면처럼된다 스크린이란 게임이 표시되는 화면으로 해상도로 크기를 결정한다 2. text -canvas 우클릭 내부에 text 생성 text inspector 3.Image (1)canvas를 우클릭해서 UI -> image 컴포넌트 생성 -> 흰색 빈 이미지 틀 생성 *먼저 이미지파일의 속성(Texture Type)이 default로 기본적으로 되어 있는데 이것을 sprite(2D and UI)로 바꿔야함! (2) 이미지파일을 image 컴포넌트의 Source image에 드로그앤 드랍! - Rect Transform컴포넌트에서 이미지 파일..
Unity - 물리충돌이벤트 1. 물리충돌이벤트함수 : 이벤트가 일어났을때 호출되는 함수! (1) 오브젝트의 재질접근 -> MeshRenderer 컴포넌트 안의 Meterial에 접근! (2) CollisionEnter : 물리적 충돌이 시작할때 호출되는 함수 ->OnCollisionEnter(이벤트성 함수는 앞에 On이 들어감) : 물리적 충돌상태에 있을 때 호출되는함수->OnCollisionStay : 물리적 충돌이 끝났을때 호출되는 함수 ->OncollisionExit (3)OnCollisionEnter 사용 using System.Collections; using System.Collections.Generic; using UnityEngine; public class OtherBall : MonoBehaviour { Mes..
Unity -자동완성 오류 1.문제발생 Unity를 VScode에서 편집하고있는데 변수 및 기존메소드등은 자동완성이 되는데 일부 Oncollision등 관련 메소드가 자동완성되지 않음 2.문제해결 VSCode 내부 스토어샵에서 Unity Debugger, Unity Tools, Unity Code Snippets 3가지설치 후 문제해결 완료 일부 메소드는 Unity code snippets를 통해 지원하도록 되어 있음.
Unity - 힘을 이용하여 물체 움직이기 1.물체에 속도 설정해서 움직이기 Rigidbody.velocity 1. Rigidbody 컴포넌트를 C#으로 가져와서 변수로 담기 GetComponent() : T타입의 컴포넌트를 C#으로 가져옴 2. Rigidbody의 클래스 안의 velocity라는 변수로 물체에 속력을 줌 3. 그 값으로 벡터3를 줘서 방향을 나타냄 4. Rigidbody 관련 코드는 void FixedUpdate(){}안에 작성 2. 물체에 힘을 주어 움직이기 1. Rigidbody.AddForce(Vector3 위치값 * 힘크기 , 힘주는 방식) Force 해당 리지드바디(rigidbody)의 질량을 사용해서, 연속적인 힘(force)을 가하는 경우에 사용합니다. Acceleration 질량을 무시하고, 리지드바디에(rigid..