묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨두고두고 써먹는 유니티 VR
Spawner 스크립트
해당 스크립트 제작 후, 컴포넌트에 추가했는데, 밑에 파라미터들이 활성화되지 않아 연결할 수 있는 창이 안보여요 ㅠㅠ 무엇이 문제일까요?? Prefab, Play On Start 등등이요..
-
해결됨책 3권을 영상으로 만든 Unity 게임 개발
Knight구매시 오류
using UnityEngine; using UnityEngine.UI; public class ItemPurchase : MonoBehaviour { [SerializeField] UnitObject[] unitObjects; [SerializeField] int ItemNumber; [SerializeField] int ItemPrice; [SerializeField] GameObject BlackPanel; [SerializeField] GameObject PurchasePanel; [SerializeField] GameObject AlarmPanel; [SerializeField] Text AlarmText; [SerializeField] Text UnitName; [SerializeField] Image UnitImg; int CurrentCoin = 0; [HideInInspector] public static ItemPurchase Instance; void Awake() { Instance = this; Debug.Log("1. Saved ItemNumber" + PlayerPrefs.GetInt("ItemNumber")); } void Start() { PlayerPrefs.SetInt("Coin", 10000000); PlayerPrefs.Save(); Debug.Log("2. Saved ItemNumber" + PlayerPrefs.GetInt("ItemNumber")); CurrentCoin = PlayerPrefs.GetInt("Coin"); } public void SelectItem() { PlayerPrefs.SetInt("ItemNumber", ItemNumber); PlayerPrefs.Save(); BlackPanel.SetActive(true); PurchasePanel.SetActive(true); UnitName.text = unitObjects[ItemNumber-1].UnitName; UnitImg.sprite = unitObjects[ItemNumber-1].UnitImg; Debug.Log("3. Saved ItemNumber" + PlayerPrefs.GetInt("ItemNumber")); Debug.Log("4. Selected Item Number : " + ItemNumber); } public void PurchaseItemBtn() { if(CurrentCoin < ItemPrice) { AlarmPanel.SetActive(true); AlarmText.text = "코인이 부족합니다."; return; } AlarmPanel.SetActive(true); AlarmText.text = "구매를 완료했습니다."; Debug.Log("5. Saved ItemNumber" + PlayerPrefs.GetInt("ItemNumber")); Debug.Log("6. Selected Unit" + (ItemNumber+3)); Debug.Log("7. Selected Price : " + ItemPrice); PlayerPrefs.SetInt("Unit"+(ItemNumber + 3), 1); PlayerPrefs.SetInt("Coin", CurrentCoin - ItemPrice); PlayerPrefs.Save(); } public void PurchasePanelOffBtn() { BlackPanel.SetActive(false); PurchasePanel.SetActive(false); PlayerPrefs.DeleteKey("ItemNumber"); } } using UnityEngine; using UnityEngine.UI; public class PurchaseBtn : MonoBehaviour { [SerializeField] Button purchase_btn; void Start() { purchase_btn.onClick.AddListener(OnClickBtn); } private void OnClickBtn() { ItemPurchase.Instance.PurchaseItemBtn(); } } 강의 따라했는데, 나이트 구매시 인스턴스 this가 super defender로 잡혀서 구매가 되는데 어떻게 해야하나요? 싱글턴 패턴에서 수퍼 디펜더가 처음에 잡혀서 나이트가 static 인스턴스에의해 못 잡고있는 것 같기도한데... 어디서부터 봐야할지 모르겠어요ㅠ
-
해결됨절대강좌! 유니티6 - UGS를 활용한 백엔드 시스템 구축
[질문] ID 와 Password 방식으로 가입하는 방식 관련 질문이 있습니다.
안녕하세요.ID 와 Password 방식 관련 강의를 보고 있습니다. 강의 영상에서 보면가입을 zack 이란 아이디로 가입을 하였는데,대쉬보드에서 보니 Unity 가 자체적으로 생성한 PlayerID 인 : UmpicBxVKu~~~~ 로만 등록되어 있어서요. 그럼 사용자가 자신의 아이디를 밝히면서 관련해서 무언가를 요구할때 서로 의사소통하기가 어렵지 않나요?사용자가 명시적으로 입력한 id 값으로 찾아볼 수 있는 곳이 있을까요? (현재 강의만 보고 있어서, 직접 대쉬보드를 열어보지 않아서 드리는 질문일 수도 있겠네요 ^^; )
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Material Shader 문제
안녕하세요유니티 6에서 따라하면서 공부하고 있는데 옛날 Material이 분홍색으로 나타납니다. 해결하는 법 알려주세요
-
해결됨두고두고 써먹는 유니티 VR
자료 다운 묹;
미리 만들어주신 여러 패키지 포함한 자료를 다운받으려고 하는데, 어떤 파일로 열어야 할까요? 다운은되는데 열리지가 않아서 에셋에 추가를 못했습니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
Item_Holder 대해 질문 드립니다.
ItemDB 강의를 듣고 있는 중입니다. Data_Mng에 item_holder를 Dictionary로 만드셧는데 초기화 하는 부분이 어디인지 모르겠습니다. Character_Holder는 데이터 초기화 하는 부분 Holder s_holder = new Holder();if(Character_Holder.ContainsKey(data.m_Character_Name)){s_holder=Character_Holder[data.m_Character_Name];}else{ Character_Holder.Add(data.m_Character_Name, s_holder);}이 존재 해서 데이터 잘나오고 있는데요 item_holder 는 어디서 초기화를 진행하는지 모르겠습니다.
-
미해결게임 디자인 패턴 with Unity
State Pattern에서 component 삭제/생성
State Pattern 부분을 공부하고 있습니다.My Action 8.cs 를 통해서 Player가 행동을 할 때마다 ConcreteState~ 컴포넌트가 생성 / 삭제가 되도록 합니다.이때 player의 조작에 의해 컴포넌트를 생성 / 삭제가 빈번하게 이뤄져 메모리, GC 등 문제가 되진 않나요? 감사합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
버퍼
샌드버퍼는 컨텐츠단에서 사용리시브버퍼는 서버단에서 사용하는 이유가 뭔가요 ?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Tcp 프로토콜 관련해서 질문드립니다.
안녕하세요 수업을 N회독하면서 이해한 부분이 맞는지, 또 질문이 있어 글을 남깁니다.1. TCP프로토콜 : TCP는 내부적으로 패킷이 잘 도착했는지, 순서있게 왔는지 확인하면서필요하면 재전송을 한다고 알고있습니다. 가령, 클라이언트에서 이동패킷, 공격패킷 등등을모아서 한번에 SendAsync를 하게될텐데 이 크기가 100의 크기라고 하면 TCP는 연결된ip주소와 port번호를 통해 보내게 될텐데, 이 과정에서 내부적으로 최적의 상태로 쪼개서100을 ( 20, 30, 50 )이렇게 쪼개서 보내게 된다면, 또한 보낼때도 한 경로로만 보내는 것도아니니 받는입장 즉 서버의 커널단에서 패킷을 받게될텐다. 30 20 50 순서로도 올수있고50 30 20 으로도 올수 있다고 알고있습니다. 또한 하나가 유실되어서 20, 30만 도착할 수도 있고요그런데 수업중에 PacketSession에서 OnRecv를 오버라이딩 할 때 패킷이 100%다 온다는 보장이없다. 그래서 헤더를 까보고 이 패킷이 전체가 다 왔는지 확인하는 작업이 있었습니다.여기서 의문점이 생겼는데. TCP는 내부적으로 20, 30만 도착하면 대기하고 50이 오지않았다고 재전송해달라는 요청을할거고 최종적으로 50까지 도착하게되면 서버쪽에 OnReciveCompleted함수를호출하고 그 정보를 넘겨줄텐데. 그러면 지금 개발하고있는 서버입장에서는 100% 완전히왔다고 판단 할 수 있는게 아닌지 너무 헷갈립니다.ㅠ 또한 위 내용이 제가 제대로 이해했는지도 궁금합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Stack Overflow
안녕하세요 선생님! 학습하고있는 와중에 프로세스메모리가 20mb를 유지하다가 급격하게 상승하더니 5gb까지 상승하고 바로 프로그램이 뻗어버리는데 이부분은 어떻게 해결해야할까요?? 작업자 쓰레드는 대략 10개정도로 생성되었고 client Connect도 10이고 RecvBuffer 크기도 4096으로해봤는데 해결이 안되네요..ㅠㅠ
-
해결됨절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
[질문] ScriptableObject 를 활용한 이벤트 버스 관련 질문이 있습니다.
안녕하세요. Scriptable Object 를 활용해서 이벤트 버스를 생성하는 내용을 보고 있습니다. 하지만 코드를 보다보니 그냥 일반적인 싱글톤클래스로 생성한 이벤트관리자와 다른게 안보이는데요. Scriptable Object 를 사용했을때의 장점이 있을까요?오히려 script 도 만들고, 그걸 통해 SO 도 생성해서파일수로만 봤을때는 손해가 아닐까 싶어서요.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
Managers.Object.Player와 Mangers.Game.Player 차이
ObjectManager에서 Spawn에 ObjectManager.Player와GameManagerPlayer를 동시에 생성해주고 있는데강의가 진행될 수록ObjectManager에 선언된 Player를 사용하지 않고 GameManager에 Player를 선언하여 사용하는데에는 어떤 이유가 있나요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
3D MMORPG
와우나 아이온 같은 TPS뷰 3D MMORPG는C#으로 서버 만들어도 될까요?C++으로만 만들어야 하나요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
강의는 끝인건가요?
강의가 더이상 업로드 안되는 것 같은데끝이 난 건가요? 라이브 및 대응도 보고싶은데 너무 아쉽습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send질문
큐를 이용하여 _sendArgs.에 셋버퍼를sendAsync하기 전에 하면 좋은점 ?snedAsync는 멀티스레드 환경에서 하나씩만 할수있는데, 그전에 셋버퍼를 해둘수있다 ?? 잘 이해가 안가네요 ㅠㅠ 뭐가있죠 ?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReaderWriteLock 구현연습 count 관련 질문 [해결했습니다]
ReaderWriteLock 구현 연습 강의 잘 봤습니다.강사님 환경에서는 10만번을 돌려도 락 구성이 잘 돌아가서 count가 0이 나옵니다.제 환경에서는 Debug 모드, Release 모드 일 때Debug: count 수가 꽤 자주 바뀝니다.Release: count 수가 0이 나올 확률이 Debug보다 약간 높습니다.또한 컴퓨터를 리부팅 하고 돌려보면 10번중에 2번은 count의 수가 바뀝니다. 질문CPU나 메모리 환경, 켜져있는 프로그램에 따라서 Lock 구현이 실패하는 경우가 있을까요? 제 환경입니다.AMD Ryzen 5 3600XT 6-Core Processor메모리 32GB
-
해결됨절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
[질문] Component 이름 관련해서 질문이 있습니다.
안녕하세요. 강의를 듣다보면애니메이션 상태값이나 GameObject 이름등을참조할대 매번 [이름 오탈자에 주의해 주세요]라는 말씀을 하고 계시는데요. 유니티 외 다른 프로그래밍을 할때는 이러한 문제를 막고자이름을 상수로 고정 선언해두고, 해당 값을 참조하고 있는데,유니티에서는 이러한 접근은 할 수 없는 것일까요? const val SPAWN_POINT_GROUP = "SpawnPointGroup" 같은 느낌으로 말이죠.
-
해결됨절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
[질문] Custom NavMesh Link 관련해서 궁금한게 있습니다.
안녕하세요. 현재 Custom Navmesh Link 를 이용하여양방향 이동 관련 모습을 보여주셨는데요. 특정 타입의 몬스터별로 해당 기능을 제어가 가능한지 궁금합니다. 마리오를 보면 빨간색 거북이는 언덕에서 되돌아가고 녹색 거북이는 언덕을 뛰어내려서 쫓아오잖아요. 이것처럼 타입별로 제어가 가능한지 궁금해서요.양방향일때 오르고 내리는 부분에 대해서 애니메이션처리가 가능한지 궁금합니다. 내려갈때는 raycast 등을 이용해서 fall 애니메이션을 발동시킬 수 있을거 같은데, 올라갈때는 등반애니메이션 설정이나 점프 애니메이션을 하게 할 수 있는지 궁금해서요.좋은 강의 감사합니다.
-
해결됨절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
[질문] Scriptable Object르 이용한 메모리 최적화 관련 질문이 있습니다.
안녕하세요. 스크립터블 오브젝트를 이용해서 메모리 사용을 최적화 하는건 참 놀랐습니다.그 어느 강의에서도 못보던 내용인데요. 2개 이상의 변수에 대해 사용하는 것은 이해를 할 수 있을거 같은데요. bullet 같은 경우는 int 형 자료 하나만 있었는데 이것도 옮기시더라구요. int bulletSpeed; 는 정수형이므로 4byte 일거고ScriptableObject so; 는 참조형이라서 8byte 를갖지 않을까 싶어서요.그러면 int 하나만 있는것은 so 로 변환하는게 오히려 손해 아닌가요?
-
해결됨Unity 기초 & 실습 통합 강의: 게임 따라 만들기
7강 8강 강의가 같습니다.
천천히 쉽게 가르쳐 주셔서 열심히 따라하고 있는데7강 8강 강의가 같습니다 6강 듣고 7강 들으니 진도가 너무 나간 것 같아서 확인해보니 8강이 2번 들어간 것 같습니다.확인 후 수정 부탁 드립니다.