2017년 3월 28일 화요일

Asus 라우터 rt-ac66u 구입 (배송중)

일본 아마존 공식 판매 계정에서 1400엔 쿠폰 + 결제시 2000엔 쿠폰 덕분에
해외 직 배송비 포함 1만엔 아래가 되기에 구입했다.

요새 사용중이던 공유기가 불안정해서 자주 리부팅하고 있는데...
이참에 교체하면 될 것 같다.

4월 중순 즈음 도착할 듯 하며, 자세한 포스팅은 그 때 다시 ^^;;


참고로 미국 티모바일용 모델인 tm-1900과 같은 모델이지만
정식 제품이고(펌웨어교체 불필요) 신품이라는 점이 메리트이다.

구매링크
https://www.amazon.co.jp/gp/product/B00GJIEYBI/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=AN1VRQENFRJN5

2017년 3월 24일 금요일

Mac 용 Blender에 Addons 설치하는 법 (경로)

Mac 용 Blender에 Addons 설치하는 법

윈도우는 설치 폴더에 Addons 폴더를 찾기 쉬웠는데,
맥에서는 따로 Addons 경로 변경 환경설정을 해봐도 원하는대로 잘 되지 않았다.
패키지 안에 복사해주면 간단하게 해결된다.

응용 프로그램안의 Blender를 패키지 내용 보기(Show Package Contents)로 탐색하여 아래의 경로에 애드온을 복사한다.
Blender.app/Contents/Resources/2.76/Scripts/Addons/


# 초보자는 아래 순서대로 따라하면 된다.
1. 응용 프로그램에서 Blender.app 를 찾아서 오른 클릭
2. 패키지 내용 보기 클릭
3. Contents 클릭
4. Resources 클릭
5. 2.76 (혹은 준하는 버전 번호) 클릭
6. Scripts 클릭
7. Addons 클릭
8. Addons 폴더 안에 원하는 플러그인 복사하기


2017년 3월 22일 수요일

Unity 오브젝트에 주석을 달아버리는 간단한 팁

유니티 작업이 좀 많아져서 주석이 필요한 오브젝트에 붙여두고 싶었다.

에디터 편집 코드를 짜서 멋지게 만드는 것도 좋지만. (ex : OnInspectorGUI() 등을 이용)
시간이 부족할 때 가성비가 안좋으니 아래와 같이 해본다.

--------------------


// 파일 명은 GameObjectComments.cs 로 해야 한다.

using UnityEngine;
using System.Collections;

    /// 
    /// 게임오브젝트의 인스펙터에 코멘트를 추가한다.
    /// 
    public class GameObjectComments : MonoBehaviour
    {

        /// 
        /// 주석 3줄까지는 바로 보인다.
        /// 
        [Multiline]
        public string text;
    }

요런식으로 여기저기 붙여두면, 빠르게 많이 만들어서 헷갈릴 때 도움이 될 주석을 달아두어 편하다.
하지만 3줄이 넘어가야 한다면, 에디터 코드를 만들어서 보기 좋게 하는 편이 좋다.

2017년 3월 21일 화요일

Unity3D WebCamTexture 를 ByteArray(Color32) 로 가져오기

처음에는 별거 아닌 줄 알았다.
(해보니까 헬게이트가. ㅠ_ㅠ)
이것 때문에 몇 일 야근하면서 삽질했었기에 기록을 남긴다.

----------

Unity3D 에서 웹캠텍스쳐를 만들어 초기화 할 때,
Request 한 해상도에 근접한 해상도를 리턴한다.
웹캠 장치 몇개를 테스트 했더니 의외로 640x480 이 지원 안되는 캠이 있더라.
(PC는 캠도 다양하고 그 캠의 스펙도 다양하다라는건 뻔히 알고 있었으나 막상 당하니 낭패... )

거기다가 문제는 WebCamTexture.GetPixels32() 요게 되다가 안되다가 한다.
구글 선생님한테 물어보아 찾아봐도 별달리 해결책은 없었는데..

Unity3D WebCamTexture.GetPixels32() 참고 문서
https://docs.unity3d.com/ScriptReference/WebCamTexture.GetPixels32.html


어떤 식으로 잘 안되는가 하니,
리턴된 Color32 Array를 확인해보면 무조건 RGBA(0,0,0,255) 가 출력되고 있다.

전부 문제가 있는 것은 아니고 웹캠마다 다르고, 그 웹캠의 지원해상도 마다 다르다.
(의외로 XspliteBroadCaster 의 가상 카메라는 다 잘되더라.)

여러개로 시험해본 결과 모델과 해상도 조합을 맞춰야 값을 받아올 수 있는 희한한 상태였다.
이대로는 문제가 있기에 확실하게 사용할 수 있는 해결 방법이 뭐가 있을까 알아봤는데...

결국 내가 선택한 해결 방법은 아래와 같다.
encode2png 를 이용하는 방법이다.


// 사용법 ConvertPNGBytesToBGRABytes(_texture2D.encode2Png());

    private byte[] ConvertPNGBytesToBGRABytes(byte[] data)
    {
        if (data == null || data.Length < 1)
            return null;

        byte[] buffer = new byte[_webcamTexture.width * _webcamTexture.height * 4];

        using (System.IO.MemoryStream ms = new System.IO.MemoryStream(data))
        {
            Bitmap bmp = new Bitmap(ms);
            Rectangle rcBitmap = new Rectangle(0, 0, bmp.Width, bmp.Height);
            BitmapData rData = bmp.LockBits(rcBitmap, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
            Marshal.Copy(rData.Scan0, buffer, 0, buffer.Length);
            bmp.UnlockBits(rData);
        }

        return buffer;
    }


이 방법은 부담이 좀 되긴 하는데, 문제없이 잘 출력되고 있다.
프로젝트 완료까지 시간이 없어서 다음에 좀 더 고민해서 개선하는 것으로 -.,-;;

2017년 3월 17일 금요일

이번에 볼 책들 2017.03


이번에 필요에 의해서 볼 책들...
업무적으로도 개인 프로젝트로도...

2017년 3월 16일 목요일

Unity Remote 5 iOS 연결하기

유니티 리모트라는 앱은 알고 있기는 오래 됐는데,
생각보다 잘 동작하지 않는 느낌에 그다지 활용하고 있지 않았다.

우연히 유니티 리모트를 이용한 터치이벤트 확인에 관한 글을 보다가 (https://eastfever.blogspot.kr/2017/02/unity3d-unity-remote.html)

유니티 리모트 버전 5가 나왔었음을 깨닫고 한번 테스트 해보았다.

와우...!
일단 디자인이 예전보다 훨씬 볼만해졌다.
유니티5로 통일된 깔끔한 디자인!
뭔가 좋아보인다.

사용법도 더(?) 간단해졌는데,
Edit > Project Settings > Editor 에 들어가서 Device를 세팅하면 끝이다.

기본적으로는 내 아이폰이 보이지 않는다.
유선으로 연결하면 풀다운 리스트에 나타난다.
내 경우는 굳이 유니티를 재시작하지 않아도 표시되었다.


복잡한 설정 없이 케이블만 연결하고 바로 쓸 수 있는 점은 좋지만,
아무래도 압축된 화면이라 그래픽이 깨져보이거나, 
터치했을 때 폰에서 보이는 반응이 늦는 것은 어쩔 수 없다.

터치 이벤트만 받고 유니티에서 돌아가는 것을 보는 방식으로 사용하거나,
빌드 시간을 아껴서 초기기동 문제 확인 하는 정도로 사용하면 좋을 듯 하다.

MacBook Pro, iPhone 6s+ 에서 확인

2017년 3월 15일 수요일

if (Debug.isDebugBuild) - Unity3D 사소한 팁

오늘은 정말 사소한 팁
개발 하던 도중에 디버그로그를 많이 찍어놨을 때,
여러가지 방법으로 빌드 할 때 제외하거나 할 수 있지만,

빌드 결과물에만 출력되지 않게 미리 조치하려면 아래와 같이 간단한 방법이 있다.



using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        if (Debug.isDebugBuild)
            Debug.Log("This is a debug build!");
        
    }
}


참고 링크 : https://docs.unity3d.com/ScriptReference/Debug-isDebugBuild.html

물론 if 를 한번 타게 되기 때문에 비용은 조금 늘겠지만,
편하고 빠르게 만들자라는 컨셉에서는 쓸만한 팁인듯.
이런걸 지저분하고 빠른 방법이라고 부르면 될 것 같다.



2017년 3월 11일 토요일

Synology Raid Calculator 시놀로지 레이드 계산기 - 용량 계산 할 때 편리!

기존에는 수동으로 NAS의 RAID 와 사용 용량을 관리했었는데,
개인용 스토리지다 보니 비용상 관리상 문제로 업무용 스토리지처럼 딱딱 투자하기가 어렵다.

과거에는 무척 열심히 관리했었는데 지금은 용량도 커지고 여러모로 무리.
그래서 증오하던(?) SHR (시놀로지 하이브리드 레이드)로 변경하려고 결심
당장은 힘들고, 일단 임시 하드로 새로 구성하려고 계산기를 두들겨 보았다.


계산에 도움을 주는 웹사이트가 있어서 북마크.

https://www.synology.com/en-us/support/RAID_calculator



필요한 하드를 선택해서 장착하면, 각종 레이드를 적용했을 때 실 가용 용량과 디스크 복구에 사용되는 용량을 보여준다.

SHR1의 장점은 서로 다른 용량의 디스크로 레이드를 시도해도 대체적으로 가능한 한 큰 용량을 사용할 수 있게 해주는 점이다.

거기다가 유지보수에도 용이 한데
추후 하드를 업그레이드 해야 할 일이 있어도 별도의 추가 스토리지 머신 없이
디스크를 작은 용량 부터 한장 빼고 교체 후 복구 하는 방식으로 모든 디스크를 교체 하면
더 큰 용량의 새 디스크로 교체할 수 있게 된다.
(사실 이부분은 Raid5랑 같다 ^^;; )

초보자 or 귀찮은 사람에게는 대부분 유리한 SHR 이지만,
큰 주의사항이 몇개 있으니... 그것은...

[1] 새 디스크를 추가하려고 빈 디스크를 넣으면 자동으로 멋대로 하나의 스토리지로 엮어버린다.
물어보지도 않고 진행한다... <- 이 부분이 위험..

[2]
디스크 2개를 연결하면 무조건 Raid1로 시작한다.
전체 용량의 50% 를 복구용으로 사용해버리니 개인 사용자에게 타격이 크다.

2017년 3월 6일 월요일

Blender 2.77 테스트


무료로 3D 작업을 할 수 있는 Blender 가 많이 좋아졌는데,
기존의 Maya 쓰던 습관 때문에 쉽게 접근하지 못했다.

최근에 Grease Pencil 데모를 보다가 다시 한번 도전하기로 결정.

Maya 2017 의 복잡한 UI를 보다가,
Blender를 보니 이건 오히려 정갈한 것 같다.

그런데 사용법을 모르겠는
창의적인(?) UI 가 조금 있어서 어렵긴 한데...
막상 해보니 대충 감이 오긴 온다.

테스트로 Shape Keys 를 해봤는데, (마야의 BlendShape)
생각보다 더 간단하게 되서 당황...
(왜 더 편한 느낌이지... )

작업 편의성이 걱정이었지만...
자주 쓰는 숏컷 qwer 은 Maya 의 프리셋에 맞출 수 있어서 다행이다.
(의외로 이런 사소한게 불편해서 문제다. ㅠㅠ)

앞으로 3D 모델 작업 진행 방법은
 건물이나 구조물은 스케치업으로 제작
캐릭터는 블렌더로 제작
그 외 오브젝트 류는 일단 블렌더로 먼저 손을 대보고 판단하는 것으로..

 ^^;

언제 다 익혀서 언제 써먹나 싶지만.
도전할 것이 있는 것은 좋다.




2017년 3월 5일 일요일

Macbook Pro 15 2016 Late 부트캠프 AMD Fluid Motion 적용 가능

작년 12월에 구입해서 부트캠프를 설치하고,
영상 재생을 위해 플루이드 모션 옵션을 사용하고 싶어서 제어판을 열었는데

AMD 제어판에서 플루이드 모션 옵션을 찾을 수가 없었다.

그 때는 해킹 드라이버를 덧 씌워서 해결했었는데...
이번에 Xsplit Broadcaster 문제를 확인하기 위해
윈도우 운영체제를 재설치 했더니

제어판에서 바로 확인할 수 있게 바뀌어 있었다.
굳이 불안한 해킹드라이버 같은 것 설치하지 않아도 되서 다행이다.

Xsplit Broadcaster 로 RTMP 송출할 때 오디오 문제

Macbook Pro 15 2016 Late 에 Bootcamp 가 설치된 환경
OBS 로 계속 설정을 바꿔가며 테스트 해보다가,

마침 윈도우니 Xsplit Broadcaster 로 RTMP 를 송출해봤더니
내가 설정한 오디오 품질과는 무관하게 계속 듣기 힘들정도로 열화된 오디오가 출력됐다.

GPU 를 이용한 인코딩을 하고 있었는데 (RX460 개조 드라이버)
혹시 하는 맘에, X.264 로 바꿔보니, 제대로 되는 것 같더라.

GPU 를 이용하여 처리하면 소리가 이상해지던지,
아니면 개조드라이버의 품질 문제인 것인지 모르겠지만...

그리고 Xsplit 이 뭔가 음장을 따로 거는 것인지
설정을 샅샅히 뒤져도 딱히 안보이는데...
OBS로 송출 할 때 보다 다소 먹먹한 느낌이 든다.

--------------

1. 맥북프로도 부트캠프 환경일 때 OBS가 정상 동작한다.
2. Xsplit 으로 들어가면 심지어 외장 그래픽카드도 사용할 수 있다.
3. Xsplit에서 외장 그래픽카드를 사용하면 오디오 품질이 나빠지지만, 개조드라이버 탓일 수도 있다. <- 부트캠프 재설치해보고 재확인 필요
4. Xsplit 으로 송출하면 오디오 품질과 무관하게 음장이 걸린듯하게 좀 더 굵고 탓하고 울리는 소리가 난다. <- 이건 추후로도 리서치 필요.


2017년 3월 4일 토요일

MAC에서 RMTP 송출 테스트 (OBS)

윈도우에서는 여러가지 부가기능이 지원되는 Xsplit BroadCaster를 권하는데,
맥에서는 RMTP 로 방송용 영상 송출을 할 방법이 없을까 알아보다가
의외로 OBS (Open Broadcaster Software) 가 맥버전을 릴리즈 하고 있었다.

약간의 기대감을 가지고,
현역 맥북프로 중에서는 최고 사양인 내 맥에서 돌려봤다.
맥 -> OBS -> 커스텀 RMTP 서버 설정으로 아프리카TV 로 테스트

약간 삽질이 있었는데, 결론 부터 말하면 사용은 가능하다.

되긴 되는데 큰 문제가 몇개 있다.

---------------
1. 애플 VT H.264 인코더 동작이 이상함

영상 출력할 때 인코더를 "애플 VT H.264 하드웨어 인코더"로 했었는데,
애플 VT H.264는 하드/소프트 둘다 잘 안된다.

실행은 됐으나, 접속이 끊기거나 끊겼을 때 재접속 불가.
한참을 헤매다가...

X.264 로 CPU 부담을 지워 인코딩을 하니 별 문제 없이 잘 된다.
연결도 안 끊기고, 일부러 끊어도 재접속이 잘 된다.

문제는 이 경우 CPU 점유율이 상당한데다가,
기껏 외장 그래픽 카드가 있는 모델이지만 전혀 활용을 못한다.

---------------
2. 인코딩 된 프레임이 이상하다. 반토막

60으로 설정하든 30으로 설정하든 인코딩 프레임은 10~15정도에서 맴돈다.
CPU 점유율이 높던 낮던 마찬가진걸로 보아 버그로 보인다.

* 추가 :
Bootcamp 로 윈도우 부팅한 후 테스트 해보니 정상적으로 동작한다.
관련 글 링크
http://blog.kpaper.com/2017/03/xsplit-broadcaster-rtmp.html

---------------

테스트 결과만 말하면 기대를 전혀 충족시켜주지 못했다.
오히려 되줘서 고맙다고 감사해야하는 수준 ㅜㅜ...

참고로 같은 설정을 내 데스크탑 (하스웰 i3)으로 테스트 해보니 별 문제없이 60프레임으로 잘 출력이 되더라... (...)

인터넷 방송하려는 분들은 절대로 윈도우 시스템을 구축해야 합니다.