블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2811)
Unity3D (867)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (234)
협업 (61)
3DS Max (3)
Game (12)
Utility (140)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

- Unity 5.3 기준 처음보는 Custom Coroutine 이 추가돼 있길래 남겨 놓음

  = WaitWhile()

  = WaitUntil()



Among all the shiny new features, there is a tiny one line in the Unity 5.3 release notes for a feature that I found useful and I think you will too. Custom coroutines, namely the new CustomYieldInstruction class, mean that you can now add your own coroutine yield operations in a very simple way. So let’s take a look at a real world example.

A real world example – A bugfix

I was recently investigating a bug in the UI Dropdown component, a Unity 5.2 feature. When Time.timescale was set to 0, the Dropdown component would only work once, then it would not reappear until timescale was set back to a non-zero value.

After a bit of debugging, we found out that the problem is in the Show function.

2

m_Dropdown is not null and is preventing the Dropdown from being shown.

Once shown, the m_Dropdown component is minimised and then destroyed. Well, it should be destroyed, but when the timescale is 0, this is not happening.

Take a look at the destroy function and see if you can spot the problem.

1

The title of this article may have given it away, but WaitForSeconds is the answer. WaitForSeconds uses scaled time. This means that if you tell WaitForSeconds to wait for 1 second and the timescale is 0.5, then you actually wait for 2 seconds (1 / 0.5 = 2). So using WaitForSeconds with a timescale of 0 means that you wait indefinitely (until the timescale is not 0). The Dropdown was never being destroyed after its first use, because we would get held up by the WaitForSeconds yield instruction.

The solution

We need to wait using unscaled time; the most elegant approach here is to add a new yield operation, a WaitForSecondsRealtime class. Clearly, if our own developers do not realise WaitForSeconds uses scaled time, then we need to address this. WaitForSecondsRealtime  should help reinforce this message. We also need to update the docs for WaitForSeconds (we never mention scaled time!).

This is how I discovered the CustomYieldInstruction, recently added for creating new yield operations.

Adding a new yield operation is very simple, here is the solution to our problem.

3

Any custom yield operation needs to override the keepWaiting property and once we want the yield operation to continue, we just pass back false.

Here is how our fix now looks:

4

In our example, we grab the real time and just test against it each check. It doesn’t get much simpler than that – oh wait, it does, because we now also have the WaitUntil and WaitWhile yield instructions. With these, we can provide a delegate to be called for our yield instruction test.

Here is an alternative way to solve our problem, assuming we wanted a 5 second delay.

5

So, a simple feature, but with a lot of potential. I guess the lesson learned here is: Remember to read the release notes, you never know what useful features you might find! If you like the custom coroutines, you should take a look at UnityEvents, another favourite feature of mine that you may have missed.




[출처] http://blogs.unity3d.com/kr/2015/12/01/custom-coroutines/


[참조] http://tsubakit1.hateblo.jp/entry/2015/12/09/000000

반응형
Posted by blueasa
, |


[링크] http://mini123.tistory.com/111

반응형
Posted by blueasa
, |




[출처] https://productforums.google.com/forum/#!msg/chrome-ko/1SRKd8Ov0YM/Mib8ozS8x2QJ

반응형
Posted by blueasa
, |


[링크] http://extrememanual.net/938

반응형
Posted by blueasa
, |

안녕하세요.

 

나스당이나 시놀로지 까페에서 많이 올라오는 질문들 중의 하나가 자막의 재생 문제 입니다.

저 역시 같은 문제를 겪었고 도움이 될까해서 글을 올려봅니다.

 

저는 DS-213J, 아이폰, LG TV, TVG(유플러스 IPTV)를 사용 중입니다.

아마도 각 기기의 smi, srt 자막 지원여부와 자막의 인코딩 문제(일 것으로 추측)로 인해

영상 재생시 문제가 있었습니다.

 

PC의 다음 팟플레이어 및 안드로이드의 ES File과 미디어 플레이어를 이용했을 때 문제가 없었고

아이폰의 경우 유료 미디어 플레이어 앱을 사용해보지 않아서 모르겠습니다.

 

저의 경우 아래와 같은 조합을 이용하는 것이 가장 편했습니다.

나스당 분들은 어떻게 사용하시는지 의견 들었으면 좋겠습니다.

 

아이폰 - DS File / srt 자막

TV - DLNA 이용하지 않고 TVG에서 DS Video에서 재생

 

 

 

번호사용기기 smi  srt 

한글인코딩
 호환성

문제점

해결방법

단점
1아이폰DS FileXOX

한글 인코딩

: smi2srt 쉘 스크립트로 변환

TV에서 srt 자막 재생 원활하지 않음
2아이폰DS VideoOOO-목록 로드가 대단히 느림
3LG TVDLNAOO

한글 인코딩

: 재생불가시 srt 파일 삭제 후 재생

srt 자막을 삭제해야 함
4TVGDS VideoOOODS Video 접속문제 있음
: Quick connect로 접속가능
-

 

 

* TVG(구형)에 DS Video 설치방법

- Play store에서 DS Video를 설치하려고 하면 호환성 문제로 설치 불가

- TVG에서 크롬 웹 브라우저에서 goo.gl/cWBT5l 접속

- 최신 버전 Android-DSvideo.3.0.1-201.apk 다운로드 후 설치

- TVG에서 NAS로 접속이 잘 안될 경우, quick connect 이용

- 설치 방법 유튜브 영상

 

 



[출처] http://clien.net/cs2/bbs/board.php?bo_table=cm_nas&wr_id=20180

반응형
Posted by blueasa
, |

어제 NAS2 사용기 내용중 잠깐 DLNA에 대해서 언급했었습니다.
글 작성당시에는 DLNA를 구성하지 않은 상태였었죠.
글을 보시고 쪽지로 DLNA 호환이 잘 되는지 문의주신분이 계서서 어제 구축해보고 구성기를 올려봅니다.
(NAS2 사용기 : http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=2&divpage=2&no=5681)


구성 기기는 아래와 같습니다.
TV : LG 42lw6500 - 2011년형 모델
NAS : iptime NAS2
공유기 : iptime A2004, iptime N604a

TV는 거실에 있고, 유선을 거실까지 빼기는 힘든 상황이였습니다..
TV 무선 동글은 구입하지 않아 네트워크 연결 불가상태였죠.
기가비트 구성을 위해 몇일전 공유기를 구입했고,
기존에 사용하던 공유기를 이용하여 무선으로 내부 네트워크 구축을 하였습니다.
(iptime A2004가 메인이고, 기존에 사용하던 iptime n604a와 무선으로 브릿지)


설정은 어렵지 않았습니다.
1. 2개의 공유기에 무선 브릿지 설정을 해준다.
http://www.iptime.co.kr/~iptime/bbs/view.php?id=faq_setup&x_value=&no=271

[위 링크가 깨져서 새 링크로 교체]

1) http://mastmanban.tistory.com/909

2) http://stove99.tistory.com/190


2. 해당 설정 내용중 2번에 해당하는 공유기를 TV옆에 설치한 후 TV와 랜선을 연결한다.
3. TV에서 네트워크 연결상태를 확인한다.
4. NAS2에서 DLNA에 사용할 폴더를 미디어서버로 지정한다.
5. TV의 외부입력등의 메뉴에서 DLNA 설정에 접근하면, 4번에서 설정한 폴더 및 파일을 확인가능.
사실 1번 내용에서 공유기간 무선 브릿지 설정만 제대로 했다면, 
나머지는 설정이라고 할것도 없을만큼 간단합니다.


영상을 많이 테스트해보지는 않았지만, 대략적인 소감은 아래와 같습니다.

일단 무선연결이라 속도가 가장 걱정이였는데, 크게 걱정은 하지 않아도 될듯합니다.
2시간 런닝타임 12기가정도하는 영상까지는 크게 문제없이 재생됩니다.
생각해보니 무선이라 문제가 된다면, 휴대폰등 와이파이로 스트리밍 하는것도 문제가 될테니 말이죠.

자막은 제가 가지고 있는 선에서는 아주 잘 재생됩니다. SMI, SRT..
혹시나 해서 6~7종류의 서로 다른 자막 영상들을 재생해봤는데 문제없이 재생됩니다.
가끔 타 NAS 사용시 smi 자막재생이 잘 안되는 분들도 계셔서 걱정했는데, 
기존에 들은대로 nas2같은경우는 자막호환이 잘 되는것같아 다행이네요.

영상 재생능력은 TV에 따라 많이 갈립니다.
휴대폰에서 원할하게 재생가능한것도 TV에서는 느리고 끊기게 재생되는것들이 있습니다.
이런 영상은 usb로 직접 재생해도 마찬가지이므로, NAS와는 무관하다고 할수 있겠습니다.
특히 국내 TV 쇼프로에서 이런증상이 많습니다.. 특정릴은 늘 이렇게 원활하지 않은데,
코덱문제이거나 한것같습니다.. 


결론적으로는,
NAS2와 LG TV간의 DLNA 구성은 매우 쉽다. 무선브릿지여도 쉽다. 아니면 더쉽다.
무선이라고 해도 일반적인 사용환경에서는 속도상 큰 문제가 되지는 않을것같다.
자막호환등은 매우 양호하지만, 영상 재생능력은 TV에 따라 다를 수 있다.


혹시 궁금한점이나 틀린 내용에 관한 댓글을 환영합니다.



[출처] http://www.ppomppu.co.kr/zboard/view.php?id=nas&no=5707

반응형
Posted by blueasa
, |

기존 버전을 사용하다가 시놀로지를 업데이트 했는데 설정이 바뀌면서 잘 나오던 한글 자막이 깨져서 나왔다.

예전에 설정 백업한 걸 복원해도 안되고...


기존에는 Airvideo를 깔으려고 커맨드 창에서 엄청난 삽질을 했었기 때문에 그때 설정한 UTF-8 설정 덕분이려나 했다.

그래도 안되서... 보니까 시스템의 모든 언어설정을 한글로 바꾸면 된다는 것을 알았다.


한글 설정 기준으로

제어판-지역옵션-언어 탭

으로 가서

"표시언어"

"알림언어"

"코드페이지"


이 세가지를 한국어로 바꾸면 한글로 자막이 잘 나온다.

UTF-8 설정이 안맞는다고? 다음팟에서만 자막이 잘 나온다고?

그런게 아니라 일단 요 세가지 부터 바꿔보고 안나온다고 해결해 보길.


참고로 .mkv 파일의 경우 내부 영문자막을 가지고 있거나 자막이 영문/한글의 이중파일일 경우

영문 우선으로 나온다(한글이 있으면 영문자막이 없는 사이에 한글자막이 나온다... 읭...)


이정도면 DS 비디오 사용하는 데 애로사항은 덜할 것...

에어비디오가 그닥 부럽진 않다(유료버전 앱이 아닌 이상)

DS Video의 단점은 음성이 나오지 않는 파일(국내 mp4파일)과 가끔 재생을 지원못하는 포멧이 있긴 한데 정확한지는 모르겠다.

5.0 버전 나중에 올려보고 그래도 해결 안되면 안되는거지 머...


비디오스테이션에서 뭔가 옵션을 바꿔보려고 열심히 했건만 거기서 만질 것은 별로 없더란...




[출처] http://ds3mlg.tistory.com/73

반응형
Posted by blueasa
, |

[파일]

PortableWinCDEmu-4.0.zip


 

 

  iso 파일 실행 프로그램(무설치) - 간단한 방법

 

 

 

 

이미 iso 파일 실행방법을 포스팅 하였으나, 컨텐츠가 미숙하여 다시 이 글을 올립니다.
인터넷으로 XX 프로그램이라고해서 파일을 받았는데 압축파일이 아니고 exe 실행파일도 아니고 iso 파일인 경우가 많이 있습니다. 
iso 파일은 시디이미지 파일로써 가상드라이버에 사용할 수 있는 파일입니다. 
문제는 컴퓨터에 대해서 잘 모르시는 분들은 iso 를 어떻게 사용해야할지 모르는 경우가 많습니다.

먼저 iso 파일을 읽기 위해서는 가상드라이브 프로그램이 있어야 합니다.
우리나라에서는 대표적인 가상드라이브툴이 데몬툴즈 버전입니다.
iso 파일 하나를 실행하기 위하여 용량이 무거운 데몬툴즈를 설치해야 하는 번거로운 작업 과정을 거쳐야합니다.
이 페이지에서는 설치가 필요없는(무설치) 아주 간단히 드라이버 하나만 설치하면 누구나 쉽게 사용 할 수 있습니다.

 

 

 

 

■ 설치없이 간단한 iso 파일 실행 프로그램
 




  

 

 



먼저 프로그램 개발사 http://wincdemu.sysprogs.org/portable/에 접속을 합니다.

 

 

 

 

 


 

 

 

 

 

 

프로그램 개발사로 이동 하셨으면 DOWNLOAD를 눌러줍니다.

 

 

 

 

 

 

 

 

하단의 저장 버튼을 눌러서 사용자PC에 저장을합니다

 

 

 

 

 

다음과 같은 파일이 생성됩니다.

실행 해 주세요.

 

 

 

 

 

 

 

 

가상드라이브 생성을 위한 최소한의 드라이버는 설치하므로 "예"를 눌러서 드라이버를 설치를합니다.

 

 

 

 

 

 

 

프로그램 메인 화면에서 "Mount another image"를 클릭하여 실행하려는 iso파일을 찾습니다.

 

 

 

 

 

 

여기서는 예시로 " ko_OFFICE14_essentals iso"라는 파일을 읽어보겠습니다. 해당 iso파일을 찾아서 선택한 다음 Close 를 눌러줍니다.

 

 

 

 

 

 

 

자동 실행 화면에서 setup. exe 실행을 선택하면 마이크로소프트 오피스2010을 설치합니다.

 

 

 

 

 

 

 

 

 

 

파일탐색기를 열어보면 좌측에 기존에 없던 "CD드라이브(H:)" 라는 가상 드라이브가 생기고, 우측에는 가상드라이브에서 실행한 iso 파일의 내용이 보입니다.

실제 원본 CD나 DVD를 CD/DVD 드라이브에 넣어서 파일을 읽고 실행하듯이 하시면 됩니다.

 

 

 

이미지를 클릭하면 크게 볼 수 있습니다.



[출처] http://dkathrhwlq.tistory.com/291




반응형
Posted by blueasa
, |

유니티 재팬의 keijiro 님이 공개한 텍스쳐 압축 플러그인입니다. 
내용으로 보아서 픽셀당 12bits정도의 메모리를 확보할수 있다고 합니다.

사용자 삽입 이미지

압축을 원하는 이미지 파일 이름 확장자 이전에 CP를 붙이면 ChromaPackProcessor에서 자동적으로 아래와 같이 Alpha8 이미지로 바꾸어주는 것을 볼수있습니다.

사용자 삽입 이미지

사용자 삽입 이미지

실제 바이너리를 프로파일링해본건 아니지만 샘플 이미지 기준 
원본 텍스쳐 : 256 256 ARGB 32 bit = 256.0KB
압축된 텍스쳐 : 384 256 Alpha 8 = 96.0KB

그리고 크게 눈에 띄지는 않지만 아래의 이미지를 보시면 머리카락 부분에 계단지는 현상이 나타나기도 합니다. (상 : 오리지날 텍스쳐 하 : ChromaPack이 적용된 텍스쳐)

사용자 삽입 이미지

사실 크게 눈에 띄지않고 용량 대비 좋은 퀄리티를 내는 건 사실이기 때문에 true color 텍스쳐를 적용하길 원하시는 분들은 한번쯤 적용해봐도 괜찮은 플러그인인것같습니다.

Git hub : https://github.com/keijiro/ChromaPack




[출처] http://lancekun.com/tc/196

반응형
Posted by blueasa
, |

손실 텍스처 압축 플러그인



* 이미지의 1픽셀당 12비트 메모리 절약

* 기존 유니티 16bit rgba 비해 절반 가량 절약

* ChromaPack 전용 쉐이더 사용


https://github.com/keijiro/ChromaPack


결론

용량 대비 품질이 좋음

텍스쳐 크기 변화에 따른 UV 문제는 없음

전용쉐이더를 써야하는 불편함

품질 손실을 감안 한다면 ETC2 4bits / ETC2 8bits 선택은 여전히 유효

품질 때문에 RGBA16bit/RGB 24bit 를 사용해야한다면 Chromapack 유효

(간혹, 알파 빗금이 1픽셀 보이는 문제가 있음. 쉐이더에서 좌표 수정해서 사용하심)



[출처]

http://3dmesh.tistory.com/entry/%EC%9C%A0%EB%8B%88%ED%8B%B0-ChromaPack-%ED%85%8D%EC%8A%A4%EC%B2%98-%EC%95%95%EC%B6%95

반응형
Posted by blueasa
, |