목록취미 (5)
거의 알고리즘 일기장
적이나 장애물을 부딛쳤을때 피격이벤트를 영상을 보고 따라 구현해봤다. 1. 먼저 가시랑 몬스터에 대한 태그, 레이어들을 설정하고 2. 가시랑 몬스터랑 맞닿아도 겹쳐지나가게 하고, 플레이어가 데미지를 입은 상태에서는 적과 닿아도 피격이벤트가 발생하지 않게 하기 위해서 ( 무적시간 ) project settings에서 아래와 같이 체크를 해제해준다. 3. 아래와 같이 스크립트에 이벤트 내용을 추가해준다. 추가 이벤트내용으로는 적에게 닿았을때 몸을 흐리게 만들고 약간의 시간동안 무적시간을 갖게 했다. void OnDamaged(Vector2 targetPos) { //player damaged gameObject.layer = 11; spriteRenderer.color = new Color(1, 1, 1, ..
Canvas : UI가 그려지는 도화지 역활의 컴포넌트 스크린 : 게임이 표시되는 화면, 해상도로 크기 결정 폰트는 꼭 라이센스 확인! text image -> image파일은 default에서 sprite로 바꿔야 쓸수있음 image type -> filled에서 fill method, fill amount를 이용해서 그려지게 할수도 있음. button -> transition -> color tint 누를때 색깔 바뀌는 모드 navigation -> 뭐 그냥 웹에서 tab키 눌렀을때 다른버튼으로 가는데 그거 방향 설정임 OnClick() : 버튼이 눌렸을 이벤트, 눌렀다 놨을때가 한번 캔버스에 ui꾸밀때 가장 중요한 부분 ancher : 어느 한곳(기준점)을 잡아 거리를 유지함!! 참고 https:/..
1. 중력 적용하기 RigidBody: 물리효과를 받기 위한 컴포넌트. Add Component에서 RigidBody를 추가하면 됨.(2D :RigidBody 2D) Mass : 질량 Drag : 공기저항 Use Gravity : 말 그대로 중력체크 Is Kinematic : 이걸 체크하게되면 부딪쳐도 움직이지 않음, 물리현상에 관여 안하는듯 (스크립트로 움직이기 전까지) 2. 충돌 영역 정하기 Collider: 물리효과(충돌판정)을 받기 위한 컴포넌트. 물체 주변에 보이는 녹색선. 없을시 타 물체와 충돌하지 않음 물리 판정은 보이는 물체가 기준이 아니라 Collider 수치에 따라 결정됨.(Radius-반지름) 3. 재질 만들기 새로 재질을 만들어 드랍하면 적용 Metallic : 0~1까지 철재질을 ..
deltaTime이 왜 필요한가? 만약에 친구랑 카트라이더 게임을 하기로 했다. 친구의 컴퓨터 fps : 60, 내 컴퓨터 fps : 10 && 친구의 차 기종 == 내 차 기종 && 그외 모든조건동일 왜 속도 차이가 날까? 필요성 멀티플레이 할때 좋은 컴퓨터와 안 좋은 컴퓨터의 프레임차이 때문에 update함수의 도는 속도가 다르게 작용해서 위와 같은 치명적인 오류가 있을 수 있다. 그렇다면 deltaTime이란? 위의 문제를 해결하기 위한것. 같은 프레임이 적으면 큰 값이고, 프레임이 많으면 작은 값이다. 이를 이용한다면 30fps도 60fps의 컴퓨터도 모두 공평하게 게임을 이용할수 있다. Time.deltaTime 사용법 using System.Collections; using System.Col..
1. 공하나 만들기 ( create sphere ) 2. c# 스크립트 만들기 3. c#스크립트 키고 (더블클릭) 밑에 코드 입력 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Move : MonoBehaviour { Vector3 target = new Vector3(8, 1.5f, 0); // Update is called once per frame void Update() { ////1. MoveTowards //transform.position = // Vector3.MoveTowards(transform.position, target, 1f); ////2. SmoothDamp, ..