Unity(122)
-
[Unity] 캔버스(Canvas)와 UI, Text, RectTransform
Render Mode - Overlay모니터의 크기나 해상도에 따라서 캔버스의 위치가 자동으로 변한다. 달라질 수 있는 UI의 상대적인 위치를 동일하게 고정시키며 확대 축소가 자동으로 된다.게임 화면과 캔버스가 겹쳐서 보인다.버튼 추가로 캔버스를 하나 만들면, 기본으로 Screen Space - Overlay로 설정되어있는 것을 볼 수 있다. 오버레이 모드에서는 캔버스와 왼쪽 아래 작은 게임 화면이 겹쳐서 나타나게 된다. Render Mode - Camera캔버스의 크기가 카메라의 크기와 동일하게 자동으로 조정된다.Overlay 모드와 같게 캔버스와 UI 항목이 해상도에 따라 상대적인 위치가 동일하다. 기본으로는 캐릭터 스프라이트가 버튼 위에 올라가있다. 씬에서 조절하면 버튼이 캐릭터 스프라..
2023.09.22 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(12) 적 미사일 추가, 미사일 충돌
적절한 적 발사체 스프라이트를 찾아서 적용해주고 Tag, Layer를 추가하여 설정한다. RigidBody 2D, Box Collider 2D를 추가하고 EnemyShoot 스크립트를 새로 만든다. Player와 EnemyShoot의 교차점을 체크하여 Physics를 적용한다. public class EnemyShoot : MonoBehaviour{ public float speed = 4; void Start() { } void Update() { transform.Translate(Vector3.left * speed * Time.deltaTime); } void OnBecameInvisible() { Dest..
2023.09.18 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(11) 젬 점수, 젬 먹기
가장 먼저, GemScript에서 gem 변수를 추가한다.public class GemScript : MonoBehaviour{ public float gemSpeed = 2; public float gem = 1; void Update() { transform.position += Vector3.left * Time.deltaTime * gemSpeed; } private void OnBecameInvisible() { Destroy(gameObject); }} 다음 AsteroidScript에서도 gem을 2 값으로 추가한다.public class AsteroidScript : MonoBehaviour{ public float ..
2023.09.18 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(10) 적 생성, 충돌, 제거
스프라이트들로 Enemy 애니메이션을 생성하고, Rigidbody 2D, Circle Collider 2D를 추가한다. Tag와 Layer도 Enemy로 설정한다. public class EnemyScript : MonoBehaviour{ public int type = 0; public int hp = 3; public float enemySpeed = 4; void Start() { switch (type) { case 0: hp = 10; enemySpeed = 1.5f; break; case 1: hp = 20; enemy..
2023.08.31 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(9) 소행성 랜덤 생성기
랜덤으로 소행성이 날아오게 만들기 위해서 빈 오브젝트를 하나 생성하여 스크립트를 추가한다. GameManager 이름으로 스크립트를 하나 생성하였고, 자동적으로 스크립트 아이콘이 톱니 모양으로 바뀐다. public class GameManager : MonoBehaviour{ public GameObject asteroid; public float time = 0; public float maxTime = 3; float asteroidGenSpeed; void Update() { asteroidGenSpeed = Random.Range(1.0f, 5.0f); time += Time.deltaTime * asteroidGenSpeed; ..
2023.08.31 -
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(8) 소행성 파괴 이펙트
이전에 과정과 마찬가지로, explosion 애니메이션 적용을 위해 스프라이트 설정 후 애니메이션 빠르기를 조정한다. Hit 애니메이션과 마찬가지로, 애니메이션 1번 재생 후 사라져야 하기 때문에 Hit에 쓰인 스크립트를 그대로 적용한다. 코드를 추가하여 ShootScript에서, 소행성이 사라진 지점에 explosion 애니메이션을 적용할 것이다. public class ShootScript : MonoBehaviour{ public GameObject explosion; public GameObject gem; public GameObject hitEffect; public float speed = 10; void Update() { transfo..
2023.08.31