오늘도 잘보고 갑니다. 한가지 내용을 덧붙이자면 StreamingAssets 폴더는 파일 읽어올 때 원본 그대로 가져오기 때문에 이미지나 사운드파일 가져올 때 꽤 사용하기에 꽤 괜찮습니다. 그래서 저장파일 같은건 persistentDataPath 를 활용하고 쓰기 없이 읽기만 하고 원본 그대로 사용하려는 파일들은 StreamingAssets폴더를 사용하는게 좋습니다. 보통 강의들은 리소스 폴더를 많이 쓰는데 유니티 공식적으로도 웬만하면 파일 많이 넣고 쓰지 말라고 할 정도로 사용할게 못되는 녀석입니다. 하..처음 유니티 할 때 이런 강의 영상이 많았다면 고생 덜했을텐데 아쉽네요...
PC빌드 하다가 Json 데이터를 못불러와서 난감해 하고 있었는데 영상이랑 댓글보고 해결했습니다. 너무너무 감사합니다 ㅎㅎ 그런데 궁금한게 한가지 있는데요. 지금 데이터들을 persistentDataPath에 저장하고 있잖아요? 제가 만약 배포를 위해서 빌드를 하면 다른 사람의 기기에는 persistentDataPath 경로에 해당 데이터 파일이 없을건데 이부분은 어떤식으로 해결 해야 하나요?
안그래도 카트라이더 편을 보고와성 빌드하면 패키지화 되서 프로젝트 내의 폴더를 사용하지 못하더라구요ㅠ ㅠ 그 사실도 몰랐던 저는..끙끙대면서 구글링을 하다가 이 영상을 안본걸 깨달았습니다. 이렇게 시원하게 긁어주실줄이야... 아직 시도는 안해봤지만 지금 영상보면서 해보려합니다. 감사합니다!
뉴톤소프트 Json을 사용하실 때 다들 겪는 문제입니다만, 개발을 할때 유니티 엔진상에선 크게 문제는 없으나 빌드를 하고 나면 Json으로 Converting이 되지 않는다고 문의가 온적이 있습니다. 해당 문제를 해결하는 방법은 프로젝트 세팅 - Other Setting 파트에서 Api Compatibillity Level을 .Net 4.X로 교체하면 Json으로 시리얼라이즈 되지 않는 문제를 해결 할 수 있습니다 :) 또 다른 문의 내용을 언급하자면.. Json을 읽어 들이는 부분에서 Read되지 않는다고 문의가 온적이 있습니다만, 그때는 읽어들이는 파일 용량 자체가 너무 커서 읽기도 전에 화면을 그릴려고 해서 읽어지지 않는 현상이었습니다. 그래서 해당 부분을 해결하려면 게임 시작 전 파일을 충분히 읽어들일 수 있도록 인트로 씬을 배치하는 방법을 사용할 수 있겠습니다만, 현재 대부분의 모바일게임에선 그런 형태로 진행하고 있죠. 또한 뉴톤소프트 Json은 유니티 2020버전부터는 뉴톤소프트가 유니티쪽으로 들어온다고 유니티 레퍼런스에 나와있숩니다~! 이번 강의에서도 잘 보았습니다~!
@@gorani_TV 맞아요. 사실.. Json 유틸리티가 내장으로 되어있다보니 별도로 설치를 하지 않아도 되서 편하긴 하더라구요 ㅋㅋ;; 뉴톤소프트의 장점이 리스트, 배열, 딕셔너리를 쉽게 변환시킬 수 있다는 장점이 있지만 저도 개발하면서 대부분 클래스만 시리얼라이즈 하는 경우가 대부분이라 그렇게 많이 와닿진 않더라구욥 Json 유틸리티에서 리스트로 바꾸는 방법에 대해서는 정말 좋았습니다 ^ㅁ^ b
안녕하세요 고라니님 영상 잘 보고 있습니다. jsonUtility를 통해 데이터를 저장하고 불러오는 방식에 대한 질문이 하나 있는데, AList와 BList에서 한 인스턴스를 동시에 참조하고 있고, 이 AList와 BList를 담고 있는 C클래스를 jsonUtility로 외부 저장 및 로드를 하려하니, fromJson을 통해 데이터를 불러오니 이전에 한 인스턴스를 동시 참조하고 있던 관계가 끊기고 AList와 BList가 각각의 인스턴스를 가지고있는 것으로 불러와져서 더 이상 AList의 값을 건드려도 BList의 값에 영향을 안받더라구요..? 찾아보니 newtonsoft.json을 쓰면 저장하는 정보의 참조 관계에 대한 정보도 온전히 저장이 되니 그걸 쓰거나 jsonUtility를 쓰되, 불러오는 데이터의 참조관계를 새로 설정해주는 방식을 채택하라던데 혹시 어떤게 더 나을까요..? 아니면 다른 방법이 또 있을까요?
1:09 PC에서 저장 경로
4:09 안드로이드에서 저장 경로
6:21 유니티 내장 JSON
9:44 JSON 암호화
11:50 persistentDataPath를 쓰는 이유
12:46 전체해상도 대응방법
JSON.Net for Unity 에셋이 에디터에서만 직렬화되는 버그는
프로젝트 세팅 - Other Setting - Api Compatibillity Level을 .Net 4.X
로 바꿔주시면 해결됩니다. 쓰셔도 됩니다!
우엇! 영상만 보고 같이 일하는 분께 JSON.NET 쓰지말라고 영상첨부 했다가,
더보기에서 사용해도 된다 수정하신거 있다고 되려 한방 먹었네요. ㅎㅎㅎ
저장 경로와 암호화 정리 감사해요~ ^^
감사합니다.
이런 좋은강의들 항상 감사합니다!! 강의 퀄리티 때문에 조만간 엄청 떡상하실듯!
항상 감사합니다!
에디터에서만 되는거였네 어쩐지 ㅋㅋㅋ
오잉크 ㅋㅋㅋ 떡상할줄 알았어요!! ㅋㅋ 쭉쭉 올라갑시다 ㅊㅋㅊㅋ
아, 아니에요~! 잘 못 언급했어요. 영상설명을 봐 주세요.
셰이더그래프가 드뎌 떴네요. 감사합니다!
+설후개의 Game Dev. 설후개님도 1000명 되신 이후에 가장 첫 영상을 최고로 다듬어서 만드시길 추천드려요. 유튜브 알고리즘에 버프가 있어요^^
12:34 dataPath 이게 에디터에서만 되는거라고 말한건데 dataPath를 빼먹었어요 ㅋㅋㅋ
아하! ㅋㅋㅋ
오늘도 잘보고 갑니다. 한가지 내용을 덧붙이자면 StreamingAssets 폴더는 파일 읽어올 때 원본 그대로 가져오기 때문에 이미지나 사운드파일 가져올 때 꽤 사용하기에 꽤 괜찮습니다. 그래서 저장파일 같은건 persistentDataPath 를 활용하고 쓰기 없이 읽기만 하고 원본 그대로 사용하려는 파일들은 StreamingAssets폴더를 사용하는게 좋습니다.
보통 강의들은 리소스 폴더를 많이 쓰는데 유니티 공식적으로도 웬만하면 파일 많이 넣고 쓰지 말라고 할 정도로 사용할게 못되는 녀석입니다.
하..처음 유니티 할 때 이런 강의 영상이 많았다면 고생 덜했을텐데 아쉽네요...
오 매우 좋은 정보 감사합니다
좋은내용 감사합니다. 암호화 하는 부분이 간단하면서도, 꽤 유용할 것 같습니다.
NK스튜디오 님 덕분입니다~ 감사해요
깔끔하게 듣고 갑니당
확실히 유니티 내장 JSON이 쓸만한 녀석인거 같아요.
맞아요. 내장 JSON이 버그도 없고 정말 좋네요 ^^
감사합니다~~
지금보니 라니님 예전댓글은 ! 나 ^^, ~ 으로 끝났네요 ㅋㅋ
지금은 그런게 없어졌으..
우와! 감사해요!(1등이다!)
1️⃣등에게 드리는 선물 : 🐓
PC빌드 하다가 Json 데이터를 못불러와서 난감해 하고 있었는데 영상이랑 댓글보고 해결했습니다. 너무너무 감사합니다 ㅎㅎ
그런데 궁금한게 한가지 있는데요.
지금 데이터들을 persistentDataPath에 저장하고 있잖아요?
제가 만약 배포를 위해서 빌드를 하면 다른 사람의 기기에는 persistentDataPath 경로에 해당 데이터 파일이 없을건데 이부분은 어떤식으로 해결 해야 하나요?
그래서 초기화 부분이 있습니다
안그래도 카트라이더 편을 보고와성 빌드하면 패키지화 되서 프로젝트 내의 폴더를 사용하지 못하더라구요ㅠ ㅠ 그 사실도 몰랐던 저는..끙끙대면서 구글링을 하다가 이 영상을 안본걸 깨달았습니다.
이렇게 시원하게 긁어주실줄이야... 아직 시도는 안해봤지만 지금 영상보면서 해보려합니다. 감사합니다!
성공했습니다 2시간 끙끙대다가 ㅠㅠ
정말 너무 감사드립니다..
좋습니다
@@gorani_TV ㅋㅋ ㅋㅋ감사합니다
뉴톤소프트 Json을 사용하실 때 다들 겪는 문제입니다만,
개발을 할때 유니티 엔진상에선 크게 문제는 없으나 빌드를 하고 나면 Json으로 Converting이 되지 않는다고 문의가 온적이 있습니다.
해당 문제를 해결하는 방법은 프로젝트 세팅 - Other Setting 파트에서 Api Compatibillity Level을 .Net 4.X로 교체하면 Json으로 시리얼라이즈 되지 않는 문제를 해결 할 수 있습니다 :)
또 다른 문의 내용을 언급하자면.. Json을 읽어 들이는 부분에서 Read되지 않는다고 문의가 온적이 있습니다만,
그때는 읽어들이는 파일 용량 자체가 너무 커서 읽기도 전에 화면을 그릴려고 해서 읽어지지 않는 현상이었습니다.
그래서 해당 부분을 해결하려면 게임 시작 전 파일을 충분히 읽어들일 수 있도록 인트로 씬을 배치하는 방법을 사용할 수 있겠습니다만, 현재 대부분의 모바일게임에선 그런 형태로 진행하고 있죠.
또한 뉴톤소프트 Json은 유니티 2020버전부터는 뉴톤소프트가 유니티쪽으로 들어온다고 유니티 레퍼런스에 나와있숩니다~!
이번 강의에서도 잘 보았습니다~!
오!! 역시 👏👏
괜히 저 혼자 안 되서 쓰지 말라고 언급했네요 ㅠㅠ
(약간 뻘짓한 느낌 ㅠㅠ)
그래도 유니티 내장 JSON Utility의 리스트로 바꾸는 방법을 설명했기에 이것도 알아둬도 좋은 영상일 듯 합니다
역시 엔케이님 감사합니다!!
@@gorani_TV 맞아요. 사실.. Json 유틸리티가 내장으로 되어있다보니 별도로 설치를 하지 않아도 되서 편하긴 하더라구요 ㅋㅋ;;
뉴톤소프트의 장점이 리스트, 배열, 딕셔너리를 쉽게 변환시킬 수 있다는 장점이 있지만 저도 개발하면서 대부분 클래스만 시리얼라이즈 하는 경우가 대부분이라
그렇게 많이 와닿진 않더라구욥
Json 유틸리티에서 리스트로 바꾸는 방법에 대해서는 정말 좋았습니다 ^ㅁ^ b
@@nkstudio9161 명쾌하네요! ㅎㅎ
@@nkstudio9161 그렇다면 유니티 내장 json을 쓰든 뉴톤을 쓰든 읽어들이는 파일이 너무 크면 읽어지지않는 오류가 발생한다는거죠?
@@rupang8346 아뇨 파일의 크기는 크게는 문제 없습니다, 단 너무 크면 불러올때 어느정도 시간적 비용이 들거에요
안녕하세요 고라니님 영상 잘 보고 있습니다. jsonUtility를 통해 데이터를 저장하고 불러오는 방식에 대한 질문이 하나 있는데, AList와 BList에서 한 인스턴스를 동시에 참조하고 있고, 이 AList와 BList를 담고 있는 C클래스를 jsonUtility로 외부 저장 및 로드를 하려하니, fromJson을 통해 데이터를 불러오니 이전에 한 인스턴스를 동시 참조하고 있던 관계가 끊기고 AList와 BList가 각각의 인스턴스를 가지고있는 것으로 불러와져서 더 이상 AList의 값을 건드려도 BList의 값에 영향을 안받더라구요..? 찾아보니 newtonsoft.json을 쓰면 저장하는 정보의 참조 관계에 대한 정보도 온전히 저장이 되니 그걸 쓰거나 jsonUtility를 쓰되, 불러오는 데이터의 참조관계를 새로 설정해주는 방식을 채택하라던데 혹시 어떤게 더 나을까요..? 아니면 다른 방법이 또 있을까요?
동시 접근을 하려면 복사가 되는게 맞는 거 같아요. 세이브랑 분리를 하세요.
pc버전에서는 잘되다가 안드로이드 빌드 후에 안돼서 계속 해보다 동영상을 따라 해봐도 안됐는데 저는 File.WhileAllText에서 2번째 인자에 .ToString()을 해야 되더라구요. 그래도 고라니님 덕분에 짐이 덜어진것같습니다 .감사합니다!
수고하셨습니다
혹시 Plugin/Android/res/values/string.xml을 유니티에디터가 아닌 윈도우나 안드로이드에서 코드로 수정하는 방법이 없을까요.
프로젝트 우클릭 폴더열기해서 윈도우로 하시면 될거예요
혹시 경로가 내장메모리 안드로이드 데이터 안에 들어가는게 아니라 자동으로 obb라는 곳 안에 들어가는건 어떻게 해야하나요?? 저것때문에 저장이 안되는건지 회사명폴더까지만 obb에 생성되고 만들려는 파일은 생성자체가 안되네요
그 부분은 알아봐야 할 거 같습니다
json으로 디바이스 저장은 진짜 편하긴한데 아무리 암호화해도 방법이 어렵지않아 일반인들도 마음만 먹으면 뚫린다더라구요.
아이템의 능력치같이 중요한 데이터라면 클라우드밖엔 답이 없겠네요? 무료라면 구글 스프레드시트가 답일수도 있겠군요.
구글 클라우드 저장도 좋습니다
잘봤습니다.! 근데 암호화는 아니지 않나요?
저건 간단한 암호화같군요