안드로이드 폰에서 Xml 로 정보들을 읽어와 작업한 후에
다시 저장을 하기 위해 아무 생각없이 작업을 했었지만.
문제가 있는 방법이였다.
Resources.Load() 로드 -> Application.dataPath() 저장
방식이였는대
안돼길래 검색을 해보니.
저 경로는 Apk에 직접 접근해 엑세스 하는듯 하다.
거기에 쓰기를 하는건 문제가 있다.
Application.dataPath should never be used for write access. The reason for this is simple: Application.dataPath points to the actual .apk (which essentially is a .zip file). (I would actually argue that Application.dataPath should not be used for write access on any platform, for various reasons.)
Write access to sd-card is possible just as you described, but as you see you get an UnauthorizedAccessException. The reason for this is that sd-card access is controlled by the manifest permissions. The default manifest created by Unity does not include the android.permission.WRITE_EXTERNAL_STORAGE which enables sd-card access. If you override the manifest you can add this permission yourself.
With Unity 3.2 we added a check-box to control this more easily.
2013년 12월 10일 화요일
2013년 11월 12일 화요일
플로킹 기법(?)
수족관의 물고기라던지
전쟁의 병사들 이라던지.
수족관 구현시 유용할것 같다.
http://www.youtube.com/watch?v=EZEK1lXxFfA
효과를 볼 수 있는 영상이다.
이후 작업시 플로킹 이라는 키워드로 검색.
전쟁의 병사들 이라던지.
수족관 구현시 유용할것 같다.
http://www.youtube.com/watch?v=EZEK1lXxFfA
효과를 볼 수 있는 영상이다.
이후 작업시 플로킹 이라는 키워드로 검색.
2013년 11월 11일 월요일
이미지에서 텍스쳐 추출.
http://www.hitlabnz.org/administrator/components/com_jresearch/files/publications/a25-clark.pdf
Colar 앱에서 등록한 저널(?)
위 자료에 의하면 인터네셔널 컨퍼런스에서 텍스쳐 추출에 관련된 발표가 있었다고 한다.
컨퍼런스 이름은
Image And Vision Computing New Zealand, 2008. IVCNZ 2008. 23rd International Conference.
이 컨퍼런스 발표(논문?) 중에
Perspective correction for improved visual registration using natural features.
의 내용을 참조해 ColAR을 제작 했다고 한다.
물론 논문을 보기 위해서는 달러로 결제해야 한다. ㅠ
Colar 앱에서 등록한 저널(?)
위 자료에 의하면 인터네셔널 컨퍼런스에서 텍스쳐 추출에 관련된 발표가 있었다고 한다.
컨퍼런스 이름은
Image And Vision Computing New Zealand, 2008. IVCNZ 2008. 23rd International Conference.
이 컨퍼런스 발표(논문?) 중에
Perspective correction for improved visual registration using natural features.
의 내용을 참조해 ColAR을 제작 했다고 한다.
물론 논문을 보기 위해서는 달러로 결제해야 한다. ㅠ
2013년 11월 6일 수요일
유니티로 모바일게임을 개발하며 얻고 있는 잡경험들 정리(펌- 벨톨님 자료)
http://blog.naver.com/weltol/90155676325
[출처] 유니티로 모바일게임을 개발하며 얻고 있는 잡경험들 정리.|작성자 벨톨
벨톨 (weltol) 님의 자료를 펌. 깨알같은 팁 들이 정리.
[출처] 유니티로 모바일게임을 개발하며 얻고 있는 잡경험들 정리.|작성자 벨톨
벨톨 (weltol) 님의 자료를 펌. 깨알같은 팁 들이 정리.
2013년 11월 4일 월요일
Unity - 유니티 엔진 - 텍스트 파일을 이용하여 에셋 번들 한꺼번에 생성 하기(게임코디 - 태풍의그라운드님)
에셋 번들을 만들어야 하는데 파일 하나하나 찍어서 만들기가 너무 귀찮았습니다.
게임코디(gamecodi.com)에서 태풍의그라운드 닉으로 활동하시는 분의 글을 퍼왔습니다.
플랫폼마다 똑같은 노가다를 반복 해야 한다고 생각하니 눈앞이 캄캄하더군요.
그래서 텍스트 파일에 리스트를 쭉 적어놓고 읽어와서 일괄 생성하게 만들었습니다.
아래와 같이 파일의 경로를 쭉 적어줍니다.
patch_list.txt 로 저장을 하고 위치는 Resources폴더 아래에 둡니다.
Resources/Sound/main.ogg
Resources/Sound/fire.wav
Resources/character/human.prefab
Resources/character/lion.prefab
Resources/ui/shop.prefab
.
.
.
[Resources/patch_list.txt의 내용]
소스코드는 Assets/Editor 밑에 xxx.cs 로 넣어놓습니다. 파일 이름은 아무거나 넣어도 됩니다.
·미리보기 | 소스복사·
- [MenuItem("Assets/Generate All from file(Windows)")] // 메뉴가 들어갈 위치입니다. Assets메뉴 하위.
- static void GenerateAll()
- {
- // 빌드 타겟은 적절하게 맞춰주면 되겠죠.
- ExportAll(BuildTarget.StandaloneWindows);
- }
- static void ExportAll(BuildTarget target)
- {
- // 리스트를 읽어와서 줄 단위로 분리 해 줍니다.
- TextAsset filelist_obj = Resources.Load("patch_list", typeof(TextAsset)) as TextAsset;
- string[] filelist = filelist_obj.text.Split('\n');
- foreach (string original_path in filelist)
- {
- // *중요함! 개행 문자를 제거 해 줍니다.
- string path = original_path.Trim('\n');
- path = path.Trim('\r');
- if (path.Length <= 0)
- {
- continue;
- }
- // 확장자, 경로 다 빼고 파일 이름만 쏙 빼옵니다.
- int last_split_pos = path.LastIndexOf('/') + 1;
- int extend_length = path.Length - path.LastIndexOf('.');
- string filename = path.Substring(last_split_pos, (path.Length - last_split_pos) - extend_length);
- // 번들 파일이 생성될 경로 입니다.
- // 프로젝트 상위 폴더에 "patch/(플랫폼명)" 형태의 폴더를 미리 만들어 놓아야 합니다.
- // 예)
- // d:/project/patch/Android <- 번들 파일이 생성될 폴더
- // d:/project/gamecodi <- 프로젝트 폴더
- // d:/project/gamecodi/Assets
- string output_path = string.Format("../patch/{0}/{1}.unity3d", target.ToString(), filename);
- // 리스트에 기입된 경로에서 오브젝트를 로드합니다.
- string included_path = "Assets/" + path;
- UnityEngine.Object obj = Resources.LoadAssetAtPath(included_path, typeof(UnityEngine.Object));
- if (obj == null)
- {
- Debug.LogError("Cannot find the resource. " + included_path);
- continue;
- }
- // 생성!
- BuildPipeline.BuildAssetBundle(obj, null, output_path,
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets,
- target);
- Debug.Log("completed... : " + included_path);
- }
- }
파일 경로를 읽어온 뒤 개행 문자를 제거 해 주는것이 굉장히 중요합니다.
이것을 빼먹고 했더니 리소스 로딩이 실패나서 한참 고생했습니다.ㅠ_ㅠ
이렇게 만들어 놓고 플랫폼만 바꿔서 클릭 한번만 하면 되겠습니다.
끝~
증강현실(AR) 솔루션 Vuforia 개발(1)
1. www.vuforia.com 접속.
2. 하단의 Develop 탭 확인.
3. SDK, Resources : Android, iOS, Unity를 지원하는 SDK 다운로드.
API Lib. Exam. 있음.
4. Target Manager : 증강현실 타겟 등록, 관리.
5. Forums : 게시판, 개발자들의 이슈 문제에 대한 논의확인.
ps1. 국내 퀄컴에 궁금증을 문의해도 제대로된 답변을 얻기는 힘들다.
(실제 개발인력이 있기는 하나. 보통 개발자들의 질문이 네이티브한 부분이 있으므로 알더라도 답변하기 힘들듯.)
continue;
2. 하단의 Develop 탭 확인.
3. SDK, Resources : Android, iOS, Unity를 지원하는 SDK 다운로드.
API Lib. Exam. 있음.
4. Target Manager : 증강현실 타겟 등록, 관리.
5. Forums : 게시판, 개발자들의 이슈 문제에 대한 논의확인.
ps1. 국내 퀄컴에 궁금증을 문의해도 제대로된 답변을 얻기는 힘들다.
(실제 개발인력이 있기는 하나. 보통 개발자들의 질문이 네이티브한 부분이 있으므로 알더라도 답변하기 힘들듯.)
continue;
피드 구독하기:
글 (Atom)