코딩/유니티 16

[Photon] 멀티 플레이어

Photon View 정적 오브젝트를 제외한 동적 오브젝트는 대부분 포톤 뷰가 필요하다. 네트워크를 통해 동기화 될 모든 게임 오브젝트는 Photon View를 가져야 한다. 컴포넌트 View ID : 식별자 ID Observerd Components 리스트에 변화한 수치를 관측하고 네트워크를 넘어 다른 클라이언트에 전달 할 수 있다. Photon Transfrom View Transfrom 정보를 서버에 넘김 변하지 않는 정보를 체크하면 데이터 손해를 봄 Photon Animator View Animator 정보를 서버에 넘김 옵션 Disabled : 정보 안넘김 Discrete : 드문드문 정보를 넘김 : 연속적인 변화를 반영하지 못해 동기화 품질이 낮아지지만 대역폭을 아낌 Continuous : 매..

코딩/유니티 2022.09.13

[Photon] 서버의 종류

서버의 종류 전용 서버 - 서버의 모든 자원이 네트워크로 소모 리슨 서버 - 플레이어 중 하나가 호스트를 맡음 - 서버 유지비가 적음 - 물리적으로 가까우면 반응속도가 빠를수 있 - 호스트 컴퓨터 성능에 따라 네트워크 품질이 달라짐 - 호스트가 두중 나가면 새로운 호스트를 정해야함 P2P - 참여한 플레이어 모두가 호스트 역활을 겸함 - 호스트가 게임 도중 종료해도 교체하는 과정이 불필요함 - 개발자 입장에서 프로그램 처리 흐름을 직관적으로 처리가능 - 참가자가 증가할수록 반응속도가 눈에 띄게 느려진다.(통상 16명 상한선을 둠) - 서로 동기화하기 때문에 특정 수치를 위조하여 전파할 가능성이 높다.(무한HP, 무한 총알) 매치메이킹 서버 - 리슨서버나 P2P방식을 사용하더라도 참가할 클라이언트들이 서로..

코딩/유니티 2022.09.13

[유니티] 오디오 재생

유니티에서 사운드를 재생하기 위해선 AudioListener, AudioSource 두가지가 필요하다. AudioListener 먼저 AudioListener 는 이름 그대로 사운드를 듣기위한 컴퍼넌트로 메인카메라를 확인해보면 기본적으로 들어있기에 따로 추가할 필요는 없다. 기본적으로 거리에따라 크게 들리거나 작게 들리게 만들어준다. AudioSource AudioSource 소리를 발생시키는 컴퍼넌트로 유니티 GUI를 통해 원하는 게임 오브젝트에 추가하거나 스크립트에서 생성하여 사용할 수 있다. 먼저 기본으로 카메라에 달려있었던 AudioListener 와는 다르게 직업 소리를 내는 객체에 추가해야 한다. 그리고 AudioClip에 사용할 사운드를 넣는다. 기본적으로 Play On Awake가 체크되어..

코딩/유니티 2022.08.21

[유니티] CSV 데이터 저장

CSV 테스트를 위해 적당히 데이터 만듬 1. 만든 CSV는 Resources 폴더(폴더 만들어야 함)에 넣는다. using System.Collections; using System.Collections.Generic; using UnityEngine; //몬스터의 데이터를 저장하는 구조체 public class MonsterData { public int index; public string name; public float moveSpeed; public float rotationSpeed; public string description; public MonsterData(int index, string name, float moveSpeed, float rotationSpeed, string de..

코딩/유니티 2022.08.05

[유니티] 유니티 기본(화면 전환, 기본 조작, 스크립트, 로그)

화면 전환 휠 누르고 드래그 : 화면 이동 우클릭 드래그 : 화면 회전 alt누르고 이동 : 선택한 오브젝트 위주로 화면 이동 오브젝트 기본 조작 조작 키 이름 설명 Q 툴 보기 화면 이동 가능 W 이동 도구 오브젝트 이동시키기 위한 기능 E 회전 도구 오브젝트 회전시키기 위한 기능 R 스케일 도구 오브젝트 스케일을 바꾸기 위한 기능 F 오브젝트 접근 선택한 오브젝트로 카메라 이동 스크립트 Awake : 스크립트를 비활성화 해도 실행되는 트리거 Start : 스크립트를 활성화 했을때 가장 먼저 실행되는 트리거 Update : 스크립트에서 반복되는 부분(프레임당 1회 호출됨) FixedUpdate : 일반 업데이트와는 다르게 고정적 시간마다 호출되는거 로그 3가지 //일반 로그 Debug.Log("일반 로..

코딩/유니티 2022.07.07