본문 바로가기

반응형

유니티

(40)
유니티 Photon으로 간단하게 핑 확인법 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Photon.Pun; public class GameManager : MonoBehaviour { // Start is called before the first frame update public GameObject player; public Transform playerSpawnPosition; public Text pingrateTextx; void Awake()//First of all, make the player. It makes camera can track the player. { PhotonNetwo..
유니티 Photon 사용법 - 방만들기, 방 참가 로비 UI는 본인 편한대로 보기 좋은대로 만들면 된다. 나는 뭐 별로 이쁘게 할 생각도 없고 딱 중요한 기능들만 넣고 심플한걸 선호해서 이렇게 했다(사실 강의에서도 이렇게함) 별건 없고 그냥 눈에 보이는대로다. 버튼들 옆은 Input Text Field로 만들어주자. 그리고 인스펙터창에서 볼 수 있듯이 photon서버에 연결이 되면 ConnecctUI는 꺼주고 RoomUI는 켜주도록한다. 각 오브젝트들은 위와 같이 직접 드래그 앤 드롭으로 참조 시켜줬다. 코드설명은 주석에 열심히 달아놨다. LobbyManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; usin..
유니티3D 모바일- 총구섬광 효과 이번 포스팅은 간단하게 총을 쏠 때 총구섬광 효과를 구현해보겠다. 파티클시스템을 이용하는데 본인의 마음에 드는 파티클 시스템을 사용하면 된다. 나는 유니티 에셋스토어의 무료 에셋을 사용하였다. https://assetstore.unity.com/packages/vfx/particles/war-fx-5669 War FX | 시각 효과 파티클 | Unity Asset Store Add depth to your next project with War FX from Jean Moreno. Find this & more 시각 효과 파티클 on the Unity Asset Store. assetstore.unity.com 나는 위 asset을 import하고 아래의 particleSystem 프리펩을 사용하였다. ..
유니티 3D 모바일 TPS 조준점(크로스헤어) 만들기 이번 포스팅에서는 fps,tps게임에 필수적인 조준점을 만드는 포스팅이다. 카메라의 정중앙에 크로스헤어가 생기게 만들 예정이다. 처음엔 그냥 메인캔버스에 정중앙에 크로스헤어 박으면 되지 않나??? 라고 생각했다. 하지만 내가 듣는 강의에선 거리가 멀면 크로스헤어가 작아지고 거리가 가까우면 크로스헤어가 커지게 만들었다. 그렇기에 살짝 복잡하게 만들게 되었다. 우선 위와 같이 CrossHairCanvas라는 캔버를 만들고 아래에 CrossHair라는 이미지를 붙여준다. CrossHair 이미지는 원하는거 아무거나 사용가능하다. 그리고 CrossHairCanvas의 RenderMode를 Wolrd Space로 바꿔준다. 추후 드래그 앤 드롭으로 CrossHairCanvas를 프리펩화 시켜준다 . 캔버스를 자식..
유니티 3D플레이어 움직임(부드럽게) 항상 Running게임을 만들었어가지고 딱히 움직임을 구현하는데 크게 어려움은 없었다. 왜냐하면 앞으로 나아가기만 하면되고 좌우로 움직임과 점프만 구현하면 되었기 때문이다. 하지만 이번에 Udemy에서 듣는 강의는 직접 플레이어를 움직이는 게임이다 보니 부드러운 플레이어의 움직임이 매우 중요하다. 그래서 이번에 배운 플레이어 코드를 내가 직접 단 주석과 함께 포스팅한다. 참고로 플레이어 에셋은 무료 에셋이며 아래 링크에서 다운 받았다. https://assetstore.unity.com/packages/3d/characters/humanoids/sci-fi/sci-fi-soldier-29559 Sci-Fi Soldier | 캐릭터 | Unity Asset Store Get the Sci-Fi Soldie..
유니티 Update vs FixedUpdate 유니티로 게임을 개발하면 보통 일시정지 기능을 구현한다. 일시정지되면 Time.timescale=0 이되게 구현하는것이 보통이다. 그런데 일시정지를 했는데도 점수가 계속 올라가는 현상을 발견했었다. 간단하게 얘기하면 Update는 Timescale에 영향을 안받고 FixedUpdate는 영향을 받는다. 일시정지를 시켜도 배경음악은 보통 나오게 구현되어있다. 즉 프레임은 진행된다는 뜻이다. Update는 매 프레임마다 호출된다. 그래서 각 호출간격이 일정하지 않다. 그렇기에 Time.timeScale에 영향을 받지 않는다. FixedUpdate는 고정된 시간마다 계속 호출된다고 한다. 만약 점수가 상승하는 함수를 Update 안에 넣었으면 timeScale이 0이 되도 올라간다. FixedUpdate는 함..
Unity -Photon으로 멀티플레이 구현하기(1) 이번에 새로운 카테고리를 만들었다. "모바일 멀티플레이 Shooting게임" 이라는 카테고리이다. 점점 Unity Mobile 게임 개발을 내 진로로 잡고 있기에 멀티플레이를 익히고 슈팅게임도 만들어보고자 Udemy에서 2만원정도 주고 새로운 강의를 구매했다. 강의를 수강하면서 좀 유용했다거나 새로 알게된 사실들을 이 카테고리에 포스팅 하고자 한다. 본인이 실력이 있고 자신있다면 직접서버를 개설하고 연동하면 된다. 하지만 나같은 초보 개발자들, 1인개발자들은 혼자서 다 하기에는 매우 어렵다. 그렇기에 PUN(Photon Unity Network)를 이용해서 간편하고 쉽게 멀티플레이 기능을 구현해보고자 한다. 이번 포스팅은 Unity Photon 연동하는법이다 1. 에셋스토어에서 PUN2-FREE 다운로드..
유니티 최적화(6)- 변화하는 텍스트 최적화 이번 포스팅은 매우 간단하다. 필자의 게임에는 저렇게 점수가 화면에 표시된다. 장애물을 피하면서 시간이 지날수록 점수가 계속 올라가는 구조이다. 위와같이 Scene에서 Wire Frame으로 보면 Text또한 Vertex로 이뤄져있다는것을 알 수 있다. 점수가 계속 변경되면서 Vertex가 변경이 되면 Text가 포함되어있는 Canvas의 Vertex Buffer가 계속 ReBuild된다. Canvas에 많은 UI들이 포함되어 있으면 당연히 비용이 클 수밖에 없다. 초간단 해결법은 변화하는 Text UI를 다른 캔버스에 넣으면된다. 즉 Canvas를 2개를 두는 것이다.

반응형