Unity24 [Unity] Raycast Ray - 직선의 시작점과 방향 받아오는법오브젝트Ray ray = new Ray(transform.position, transform.forward); 카메라 중심Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0)); 마우스Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Raycast - Ray에 맞은 물체가 무엇인지 여부를 판단 후 처리. - Ray, RaycastHit, MaxDistance, LayerMask 등이 속함 RaycastHit - Raycast에 의해 검출된 객체의 정보가 담겨있다.- 검출되는 정보가 있다면 true, 없다면 false를 반환- Brick.. 2024. 5. 24. [Unity] Rigidbody - ForceMode Rigitbody 컴포넌트에서 AddForce() 를 사용할 때두 번째 인자에 대양한 힘 적용 방식을 설정할 수 있다. 1. Force- 힘을 지속적으로 적용Rigidbody.AddForce(Vector3 force, ForceMode.Force); 2. Acceleration- 가속도를 적용Rigidbody.AddForce(Vector3 force, ForceMode.Acceleration); 3. Impulse- 순간적인 힘을 적용- 짧은 시간에 갑작스러운 움직임 발생Rigidbody.Addforce(Vector3 force, ForceMode.Impulse) 4. VelocityChange- 변화하는 속도를 적용- 물체의 현재 속도를 변경하면서 움직임Rigidbody.Addforce(Ve.. 2024. 5. 24. [Unity] 스카이박스 유니티 3D 프로젝트에는 스카이박스라는 개념이 존재 모양- 큐브 모양으로 공간 구성 가능 (Cube Map) -> 6면이 존재- 반구 모양의 공간 (Sphere Map) 기능 - 주로 씬의 배경으로 사용됨 - 전체 씬을 렌더링해 수평선에 다양한 배경이 있어 보이게 함- 동적으로 변환가능 -> 낮과 밤 구현 가능- 성능에 영향을 미친다 -> 최적화 주의!!! 프로퍼티 Tint Color - 하늘 & 땅 색깔 변경Exposure - 밝기 조정Rotation - 양의 Y축으로 스카이박스의 회전을 변경Front, etc - 스카이박스를 저장하는 데 사용된 큐브 각 면의 텍스처- 텍스처를 정확한 슬롯에 적용하는 것이 중요!!! 사용 방법1. 스카이박스 material 생성2. Window > Renderin.. 2024. 5. 24. [Unity] BrickOutGame - 완성 드디어 일주일 간의 벽돌 게임 제작이 끝났다.오늘은 발표를 하고 개발했던 자료들을 정리하는 시간을 가졌다. 팀 Github 페이지 GitHub - JeongEunJi1127/A05-BrickOutGame-Project: 내일배움캠프 팀프로젝트내일배움캠프 팀프로젝트. Contribute to JeongEunJi1127/A05-BrickOutGame-Project development by creating an account on GitHub.github.com 플레이 영상유튜브 링크! 많이 부끄러운 내 목소리.. 팀 노션 페이지 5조가쵝5조 | Notion프로젝트 평가 체크 리스트teamsparta.notion.site와이어프레임을 확인할 수 있다. 2024. 5. 23. [Unity] BrickOutGame - 보스 스테이지 오늘은 보스 스테이지를 제작하고보스 스킬을 만들었다. 보스 Hp가 50 미만일 때 랜덤한 벽돌 블럭을 생성하고,Hp가 30, 70일 때 플레이어의 시야를 가려 플레이를 방해한다. BossBrick.csusing System;using UnityEngine;public class BossBrick : Brick{ [SerializeField] private GameObject endingObj; private BossAttack bossAttack; private EndingManager endingManager; protected override void Awake() { base.Awake(); endingManager = endingObj.GetCo.. 2024. 5. 21. [Unity] BrickOutGame - 충돌 처리 오늘은 도움말 UI, 화면 전환 효과에 사용될 UI 디자인을 마치고 사운드를 연결하였다. 벽돌과 공, 패들 사이에서 발생하는 충돌처리를 팀 논의를 통해 해결하였다. 충돌 이슈우리 팀의 게임에는 공과 패들이 충돌할 때 공의 속도가 우리가 의도한 대로 흘러가지 않는 큰 문제가 있었다.문제는 Ball과 Paddle 각각에 Rigidbody2D 속성이 붙어있기 때문이었다. 두 가지 방법으로 해결하고자 하였다. 1. Paddle의 Rigidbody값을 제거하고 Paddle의 transform.position값으로 움직임을 제어두 개의 Rigidbody값의 충돌로 인해 서로 값에 영향을 주며 발생하는 문제임으로이와 같은 방법으로 수정 가능하였으나, 패들과 벽의 충돌을 감지할 수 없어 Paddle의 transfor.. 2024. 5. 20. [Unity] BrickOutGame - 오브젝트 풀링 (2) 오늘은 오브젝트 풀링을 이용한 레벨 디자인을 진행했다. ObjectPool 배열 안에 36개의 게임 오브젝트들을 미리 선언해두고레벨 별 Json 데이터를 읽어와 스테이지 별로 Pool 배열 안의 벽돌 데이터를 설정해주었다. BrickData[System.Serializable]public class BrickData{ public int HP; public int Score; public bool IsActive;}[System.Serializable]public class BrickDataList{ public BrickData[] bricks;} 다음과 같은 형태로 BrickData 선언 "bricks": [ { "HP": 10, "Score": 10, "IsA.. 2024. 5. 17. [Unity] Anchor Presets 유니티 UI를 만들 때 Rect Transform 왼쪽에 다음과 같은 Anchor Presets이 있다 누르면 다음과 같은 화면이 나온다 그냥 클릭- Anchor(기준점) 변경 - Anchor로부터의 네 모서리의 거리가 고정된다 alt- Anchor변경 & UI의 위치 변경- alt키를 누르고 위치를 변경하면 해당 UI의 위치가 변경된다 shift- Anchor 변경 & UI의 Pivot 위치 변경- UI의 위치를 Pivot을 기준으로 계산 해당 설정을 해주어야 사용자의 화면에서 해상도가 바뀔 때 마다 개발자가 의도한 방향에 UI가 존재한다 2024. 5. 14. [Unity] Input System Input System을 사용해보자1. Window -> 패키지 매니저에서 Input System 설치2. 입력 받을 게임 오브젝트 (Player)에 Player Input 컴포넌트 적용3. 새로운 Control Scheme Create -> 키보드, 마우스 입력을 사용할 것이므로 두 개 추가4. Action Maps에 플레이어 추가5. 이번 게임에서 플레이어가 할 행동 → 걷기(WASD), 뛰기(쉬프트), 보기(마우스 따라서)6. 위의 세 행동 Actions에 추가7. 세 가지 행동 모두 Action Type Value, Control Type Vector2 로 설정8. 키 바인딩9. Player Input 컴포넌트의 Behavior 값 Send Messages 로 설정-> OnWalk,.. 2024. 5. 9. 이전 1 2 3 다음