본문 바로가기

IT이야기/unity,c#

(8)
몬스터 소환 기능 넣어보기! 먼저 Hierarchy에서 우클릭후 create Empty를 만든 후 spawnManager라고 이름을 바꾼 빈 오브젝트를 하나 만들어보겠다. 그다음 스크립트를 추가해주면 된다. 소스는 아래에! public GameObject Enemy; //Prefab을 받을 public 변수 입니다. void SpawnEnemy() { Vector3 playerPosition = GameObject.FindWithTag("Character").transform.position; //플레이어 포지션을 가져오는 부분 float randomX = Random.Range(-0.5f, 0.5f); //적이 나타날 X좌표를 랜덤으로 생성해 줍니다. float randomZ = Random.Range(-0.5f, 0.5f); /..
unity 특정 스크립트에서 버튼 이벤트 관리하기! 버튼 클릭이벤트 사용은 일반적으로 많이 나와있지만 이번엔 좀 쉽고 gamemanger 스크립트같은 곳에서 관리하고싶을때 사용하는 방법이다. 먼저 버튼을 선언해 준다. public Button _Button; public으로 선언하면 내가 원하는 버튼을 그냥 드레그해서 넣을 수 있어서 편함. 그리고 addListener을 사용한다 _Button.onClick.AddListener(EventOnClickButton); 뒤에 EventOnClickButton은 버튼 글릭시 내가 호출할 함수임. void EventOnClickButton(){ Debug.Log("이렇게 호출하면 쉽다!"); } 이렇게 사용하면 원하는 스크립트에 버튼을넣어서 관리할 수 있다. 기능넣기도 편한편인듯?
unity 2019버전 모바일 화면 회전 설정 처음은 기존 모바일 화면 회전 설정과 동일 하지만 2019버전으로 올라가면서 UI가 바뀌었다! 그럼 어디에 있을까? Android로 바뀌었으면 Player Settings버튼을 클릭합니다. Project Settings창이 뜨는데, Player에 Resolution and Presentation을 선택합니다. 바로 요부분. 이전에는 other settings에 있었다면 이제는 다른곳으로 빠짐. 여기서 Default Orientation설정을 이용하여 화면을 회전하거나 고정할 수 있습니다. 설정은 5가지로 할 수 있습니다. Portratit, Portrait Upside Down, Landscape Right, Landscape Left는 게임 시작 시 해당 방향으로 화면이 고정됩니다. Auto Rotat..
unity] 오브젝트 피격제어 예제! 최근 유니티로 작업하면서 사용했던 소스 정리겸 예제를 올려본다. 기능은 2개. 하나는 사운드출력이고 또 하나는 파티클 재생이다. 아 물론 hp를 -시키는 방식으로 구현하였다. 정해진 물체에 닿았을때 피격 대상의 함수를 호출하여 동작한다. //여기는 변수 설정. public int HP; private AudioSource fireSound; public AudioClip background; public AudioClip fireHit; public ParticleSystem smoke; Vector3 pos; // Start is called before the first frame update void Start() { //시작할떄 오디오 소스인 배경음을 재생하고 현재 오브젝트의 포지션을 가져온다. ..
unity] 목표물 방향으로 바라보면서 따라가기 followTarget, LootAt Target 1. 설정(태그 방식으로 안해도 됨 hierarchy name명으로 해도 됨.) 2. 오브젝트 설정 메인 오브젝트 작은 오브젝트 3. C#코드 test와 SmallCube using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { int countSmallCube; private void Start() { countSmallCube = 0; } private void OnTriggerEnter(Collider col) { if (col.tag == "SmallCube") { countSmallCube++; // 1번째만 메인 오브젝트를 따라가고 다음부터 작은 ..
유니티] 오브잭트 랜덤 배치 예제 public class EnemyControl : MonoBehaviour { public float Speed = 50.0f; private Transform myTransform = null; // Start is called before the first frame update void Start() { myTransform = GetComponent(); } // Update is called once per frame void Update() { Vector3 moveAmount = Speed * Vector3.back * Time.deltaTime; myTransform.Translate(moveAmount); if(myTransform.position.y
unity] 가로 세로 변경하기 모바일 가로 세로를 조정 혹은 특정 해상도를 고정해야할 때가 있다. 예를들면 항상 가로라던가 항상 세로로 해야할때! 우선 build setting(Ctrl + Shift + B)을 통해 Player Settings로 이동! 그 전에, Platform은 안드로이드로 설정 변경! 안드로이드로 설정하신 다음에 밑에 있는 Player Settings를 클릭! 그럼 Inspector 창에 다음과 같이 다양한 설정을 할 수 있는 창이 뜬다. 먼저 Default Orientation을 보면 현재 설정을 볼 수 있는데 현재 설정은 Auto Rotation이다! 이것은 폰을 돌리면 그에 맞춰서 가로 세로가 바뀌는걸 말한다. 즉 자동으로 되어있다는것! Allow Orientations for Auto Rotation은 말..
C# unity게임만들기 기초 문법(수정예정) 해당 내용을 초보자들도 쉽게 볼 수 있도록 추가 수정할 예정임. //1.변수 int level = 5; float strength = 15.5f; //소수점을 쓸땐 뒤에 f를 붙인다 string platyerName = "나검사"; bool isFullLevel = true; 선언 -> 초기화 -> 호출 //2. 그룹형 변수 string[] monsters = {"슬라임","사막뱀","악마"}; //배열 int[] monsterLevel = new int[3]; monsterLevel[0] = 1; monsterLevel[1] = 2; monsterLevel[2] = 3; Debug.Log(monsters[0]); List items = new List(); items.Add("포션10"); items...