본문 바로가기

Unity24

[Unity] Photon 사용해보기 - 멀티플레이 게임 구현 Photon 초기 설정1. Photon 에셋 다운로드 PUN 2 - FREE | 네트워크 | Unity Asset StoreGet the PUN 2 - FREE package from Photon Engine and speed up your game development process. Find this & other 네트워크 options on the Unity Asset Store.assetstore.unity.com 요거 Import 해주기   2. Photon 사이트 가입2.1 회원가입하기 or 로그인하기 글로벌 크로스 플랫폼 실시간 게임 개발 | Photon EngineEssentialPhoton Details Discover a summary of our product range, notabl.. 2024. 6. 13.
[Unity] Photon Photon 이란? - Exit Games에서 개발한 멀티플레이어 게임 개발을 위한 네트워크 엔진   이중 Photon PUN2- 실시간 멀티플레이어 게임 개발 가능- CCU (Concurrent User, 동시 접속자 수) 증가에 따른 대응이 필요없다. (단, 유료로 이용시!)  주요 클래스 설명 1. PhotonNetwork 1.1 ConnectUsingSettings 메서드 PhotonNetwork.ConnectUsingSettings(); - 메서드 실행 시 앱이 포톤 클라우드에 연결.- PhotonNetwork.IsConnected를 통해 연결 상태 확인 가능  1.2 CreateRoom 및 JoinRoom 메서드PhotonNetwork.CreateRoom("RoomName");PhotonNet.. 2024. 6. 13.
[Unity] The Love 게임 - (4) 드디어 내일이 마감일!!현재까지 만든 우리 게임의 화면이다 지금 시간이 부족해서 잔버그들이 꽤 있다.고치는 법도 알고 있긴한데 제출해야 할 서류들이 너무 많아서.. . . ㅠㅠ 고치지 못하고있다 게임 씬 - 오늘 UI 디자인도 직접 바꿨다.   약간 공포 느낌의 폰트와 에셋을 찾으려고 노력했다.- 아쉬운 점 : 잘 보면 보스의 이름표가 돌아가있다. 저걸 플레이어 방향으로 항상 설정해줘야할듯..  퀘스트 창 - 퀘스트 부분을 직접 담당하여 구현했다. - 퀘스트 Scriptable Objects Data들을 UI에 띄워줬다. - 퀘스트 버튼 누르면 오른쪽에 다음과 같이 상세 내용도 나온다.- 아쉬운 점 : 지금 UI를 누르면 이전 UI들이 꺼지지도 않고, 게임이 멈추지도 않아서 플레이어 마우스 방향대로 계속.. 2024. 6. 10.
[Unity] The Love 게임 - (3) Boss.cs 구현 완료using UnityEngine;using System.Collections;using UnityEngine.AI;public enum BossSkill{ Attack, HeartStrike}public class Boss : Enemy{ [Header("Boss")] [SerializeField] private BossSkill _bossSkill; [SerializeField] private float _bossSkillDistance; [Header("HeartStrike Skill")] [SerializeField] private GameObject _heartBullet; [SerializeField] private Transfo.. 2024. 6. 7.
[Unity] The Love 게임 - (2) 오늘은 Enemy 캐릭터 AI 움직임을 구현하였다.  AI의 현재 상태public enum AIState{ Idle, Walk, Attack}  Update문protected virtual void Update(){ _playerToEnemyDistance = Vector3.Distance(transform.position, CharacterManager.Instance.Player.transform.position); SetAnimator(_state); switch (_state) { case AIState.Idle: DetectPlayer(); break; case AIState.Walk: .. 2024. 6. 5.
[Unity] Mixamo 애니메이션 적용법 1. Mixamo 사이트 방문 Mixamo www.mixamo.com  2. 내 캐릭터에 적용시키고 싶은 애니메이션 고르기  3. 내 캐릭터에 적용시키기  Upload Character 버튼을 누르고 Select Character File을 눌러 캐릭터 파일 업로드 조금 기다리면 내 캐릭터가 Upload 된다.  여기서 다운로드 버튼을 누르고  세팅을 설정해주면 끝! 여기서 Without Skin으로 다운로드 해준다.  그리고 유니티에서 몇가지 설정을 해주어야 파일이 잘 동작된다. 1. Rig -> Animation Type -> Humanoid 로 변경  2. Animation -> 아래로 스크롤 -> 애니메이션 밑을 확인 여기서 Root Transform Rotation, Position의 Bake .. 2024. 6. 3.
[Unity] AI Navigation 유니티는 AI Navigation을 활용하여 NPC가 인공지능을 활용해 움직일 수 있게 한다  Navigation Mesh-> 캐릭터가 움직일 수 있는 경로 Bake -> NavMesh 컴포넌트를 사용하여 구현 1. Hierarchy 창에서 경로를 넣을 오브젝트 선택 후 Bake 클릭 Agent Radius - 지형에 Agent가 얼마나 가깝게 다가갈 수 있는지Agent Height - Agent 가 다가갈 수 있는 공간의 높이Max Slope - Agent 가 걸어올라갈 수 있는 경사의 기울기Step Height - Agent 를 멈춰세우는 장애물의 높이 Min Region Area - 연결되지 않은 작은 내비메시 영역을 제거Manual Voxel Size - Voxel은 부피를 가진 픽셀이라는 뜻 -.. 2024. 5. 31.
[Unity] 3D-Dungeon - 움직이는 발판 움직이는 플랫폼을 만들어보기로 했다.  using UnityEngine;public class MovingPlatform : MonoBehaviour{ private Vector3 startPos; private Transform curPos; private bool isRight; public float maxMovingDistance; public float movingSpeed; private void Start() { startPos = transform.position; curPos = transform; isRight = true; } private void Update() { Moving(.. 2024. 5. 30.
[Unity] Mathf 외워두면 유용할 Mathf 함수들을 정리해보자Mathf.AbsMathf.Abs(float num)num에 대한 절댓값 반환 Mathf.ClampMathf.Clamp(value, minValue, maxValue)value가 minValue보다 작다면 value = minValuevalue가 maxValue보다 크다면 value = maxValue로 보정value가 minValue와 maxValue 사이의 값이면 보정하지 않는다  Mathf.Min & Mathf.MaxMathf.Min(a,b);Mathf.Max(a,b);a,b 중 더 작은값이나 큰 값 리턴 Mathf.Cell & Mathf.Floor & Mathf.RoundMathf.Cell(float num)Mathf.Floor(float num)Mat.. 2024. 5. 29.