| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 유니티 애니메이션
- VRChat
- unity animation
- mixamo
- Root Motion
- unity
- 티스토리챌린지
- pothon
- navmash
- blendtree
- 3인칭 이동
- 오블완
- Animation
- udon#
- 소울라이크
- typeof
- HDRP
- 이동방식
- 브이알챗
- VolumetricFog
- 3rd Person
- u#
- sendcustomnetworkevent
- c#
- 유니티 네비매쉬
- 유니티
- navmashagent
- unityai
- 3D Animation
- unity mixamo
- Today
- Total
목록전체 글 (34)
개발 새발 블로그
해당 포스트에서는 멀티플레이 연동과 간단한 움직임만 구현해볼것이다. (Photon 설치 및 세팅과정은 생략)시작하기우선 Scene에 Network 세팅 오브젝트를 생성해주자Hierachy 에서 Fusion / Scene / Setup Networking in the Scene 그러면 아래와 같이 두개의 GameObject가 생성된다.Prototype Network StartPrototype Runner Prototype Network Start게임을 시작할때 NetworkMode 설정을 할수 있도록 해준다. 자세한 설명은 밑에서.... Prototype Runner메인이다.Player Join, Player Left 등 중요한 네트워크에 관한 콜백함수들을 다루고있다. 자그럼 씬 Setting은 끝났다..
UNITY에서 멀티플레이를 구현하기 위한 방법중 하나이다.Photon에는 여러가지 토폴로지를 제공한다.FusionHost ModeShared ModeQuantometc각 토폴로지에 적합한 게임은 아래와 같이 공식적으로 정의를 해주었다.본인은 4~10인 게임이지만 간단한게임을 개발중이므로 호스트 기반의 Fusion을 선택했다. 우선은 NetworkManager.cs를 만들어준다. INetworkRunnerCallbacks 인터페이스를 상속한다.게임의 시작을 담당하고 네트워크 이벤트들을 처리한다. NetworkManager.cs1. 빈오브젝트에 NetworkManager를 추가한다.public class NetworkManager : MonoBehaviour, INetworkRunnerCallbacks{ ..
유니티에서 멀티게임을 구현하는 방법중 하나인 Photon PUN2 를 이용해 구현을 해보겠다. 세팅하기우선은 에셋스토어에서 PUN 2- Free를 임포트 해준다.https://assetstore.unity.com/packages/tools/network/pun-2-free-119922 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 1. 다운을 받는동안 Photon 회원가입을 한다.2..
UI PositionTooltipWorld Space public void OnPointerEnter(PointerEventData eventData) { Debug.Log("IPointer Enter"); Vector2 localPoint; RectTransformUtility.ScreenPointToLocalPointInRectangle(rt, Input.mousePosition, eventData.pressEventCamera, out localPoint); rt.position = eventData.pointerCurrentRaycast.worldPosition; if (activeAnimation) Animation(); else ..
Coroutine우선 코루틴은 멀티스레드가 아닌 메인스레드 작업이다.yield Retrun 통해 주도권을 번갈아 가며 사용하는 방식이다.Await / AsyncAwait Async 즉 비동기처리이다.private async void Start(){ await Test();}private async void Test(){ await Task.Run(()=>{// RUN으로 감싸인 부분만 비동기 처리 while(true) { //DoSomething ... } }); //비동기 처리 완료후 이후 라인 수행 //UNITY API 접근 가능}Async Await 을 통해서는 Unity API에 직접적으로 접근할 수 없다.ex) ..
오늘의 노래 : https://www.youtube.com/watch?v=oRg-7iku6OkDefaultDefault 연산자는 특정 데이터 형식의 기본값을 제공한다.값형식, 참조형식 모두 사용가능하다.internal class Class2{ private List list; static void Main(string[] args) { int a = 10; string? b = "Test"; a = default; b = default; Console.WriteLine("a Default = " + a); Console.WriteLine("B Default = " + b); }}결과a Default = 0B ..
Orthograpic Camera$$Orthgrapic Size =Height / (2*PPU)$$2560*1440 모니터 2개Canvas의 해상도 5120*1440Camera Size = 720 =1440/(2*1)Display캔버스는 하나의 카메라에만 보일수 있다 (월드 캔버스 제외)본인이 구현해야하는것모니터 두개에 하나의 소프트웨어가 보여야한다.각각의 디스플레이는 오브젝트를 공유를 할수 있어야한다(실제 듀얼모니터처럼 UI오브젝트가 화면 1에서 화면 2로 옮길수 있어야함)해결방법World Canvas를 두개의 모니터를 합친 해상도로 생성해준다.Camera를 Ortho로 설정하고 해상도에 맞게 Size를 조절해준다.카메라 두개를 각각 캔버스의 좌/우를 비추도록 설정한다.카메라의 Display를 1,2로..
문제타일맵을 그리던중 바닥 타일 콜라이더를 생성하려고 했더니...이 사단이 남 ㅋㅋㅋㅋSprite를 걍 다 콜라이더로 만들어버림해결방안자 해결 방안은 바로!!!!TileMap을 생성하면서 생긴 TileSet의 Collider 세팅을 해주는것이다.자 TileMap을 생성하였다면 아래와같은 TileSet들이 생성되었을것이다.콜라이더 생성을 원치않는 부분을 선택한다.해당 타일들을 inspector를 통해 Collider Type 을 None으로 설정해준다.그러면 해결!!(아래 사진은 작성자가 테두리 타일을 중간위치에도 사용해서 중간에도 콜라이더가 생성되었다...)꿀팁혹시 당신이 수많은 Tile Set들중에 테두리에 사용된 Tile을 찾기가 힘들다면1. TileMap 선택 상태에서 원하는 Tile을 선택하고2...
VrChat 맵개발을 한창 배우는 중이다.(왁굳형을 위해..)이세계 아이돌 3주년 기념 방탈출 맵을 제작 중인데 특정 상호작용을 하면 동영상을 재생하는 기능이 필요했다.먼저 결과부터 보고 드가자Vrchat 공식 DocsVrChat에서 동영상을 재생하는 방법은 여러가지있는것으로 보인다.VideoTXLProTVUSharpVideoVideo Player 설치본인은 3번 USharpVideo를 사용하였다.USharpVideo 깃허브위의 링크를 통해 패키지를 설치할수 있다.패키지를 설치하면 아래의 경로에서 Prefab을 확인 할수 있다.사실 간단한 비디오 플레이어만을 사용할것이면 그냥 프리팹만 가져다가 쓰면된다.Inspector대충 보면GeneralAllow Seeking : 비디오 프로그래스바 조작 권한?Def..
문제발생List인 originPatrolPoint값을 복사하여 모두 선회하면 다시 List를 초기화 해줘 반복적으로 순찰 포인트를 돌게 하려고 했었다. 그런데 자꾸 오류남;;;[SerializeField] private List originPatrolPoint;private List patrolPoint; private Transform GetRandomPoint() { if (patrolPoint.Count == 0) {//포인트를 다돌면 리셋하여 반복 patrolPoint = originPatrolPoint;//요기! } int index = UnityEngine.Random.Range(0, patrolPoint.Coun..
