티스토리 툴바

 
code/unity2012/04/21 14:33

유니티에서 동영상을 Import 시키면 Ogg Theora format 을 사용하여 기존 동영상을 인코딩 하게 됩니다.

하지만 이 과정에서 기존 영상의 색감이 이나 화면이 변질 되는 경우가 생기는 것을 확인했습니다.

이를 해결하기위해서 Unity Editor에 임포트 하기전에 Ogg Theora format으로 변환을 해서 임포트를 진행하니

별도의 인코딩 과정 없이 바로 Project안에 인식이 되더군요. 물론 영상의 색감이나 화면의 변질이 없더군요.


우선 인코딩을 하기 위해서 인코더를 다운 받아야 합니다. 아래에 링크에서 원하는 

os 환경에 따른 파일을 받으시면 됩니다.

http://v2v.cc/~j/ffmpeg2theora/download.html 


window 환경에서 실행시 커맨드 창에서 아래와 같이 실행하면 간단히 영상을 변환 할수 있습니다.

ffmpeg2theora movieName.avi -v 10

여기서 -v 는 영상의 퀄리티를 이야기 하는 것이며, 1~10 까지 입니다.

변환이 완료 되면 ogv라는 확장자의 영상을 얻을수 있습니다.

이를 임포트 하시면 됩니다.

여수에는 비가 많이  오네요.

'code > unity' 카테고리의 다른 글

import 동영상 화질 유지  (0) 2012/04/21
[unity] 시퀀스 컨트롤 업데이트 v1.1  (0) 2012/03/21
[Unity] 동영상 알파값 처리를 위한 Shader  (0) 2012/03/20
[Unity] 시퀀스 컨트롤  (0) 2012/03/20
Posted by 반찬@
code/html52012/03/24 18:10
HTML5 
- W3C 문서
HTML5 — Edition for Web Developers
WHATWG의 웹 개발자용 문서
HTML5 한글 레퍼런스 사이트
- 한글 번역 HTML5 문서
The HTML5 test
- HTML5 각 기능의 브라우저 지원 현황
Tutorials - HTML5 Rocks by google
- 구글에서 만든 다양한 HTML5 강좌
HTML5 Doctor, helping you implement HTML5 today
- HTML5 강좌
W3C HTML5 대한민국 관심그룹 활동 및 참여방법 안내 
- W3C 대한 민국 관심 그룹
HTML5 Boilerplate - A rock-solid default template for HTML5 awesome. 
- HTML, CSS, JS 템플릿 모음
Google JavaScript Style Guide 
- 구글 자바스크립트 가이드 (javascript)

출처 워너북스 html5 API 완전 정복 - 이상현 

'code > html5' 카테고리의 다른 글

[HTML5] HTML5 관련 사이트 모음  (0) 2012/03/24
Posted by 반찬@
code/unity2012/03/21 14:44
기존 시퀀스 컨트롤러를 업데이트 했습니다.
이전 글 :  http://ychans.tistory.com/entry/Unity-시퀀스-컨트롤
activeLevel 이라는 변수를 추가 했으며, 이는 다량의 시퀀스를 가지고서 테스트 할시 유용하게 사용 할수 있습니다.
매번 화면상에 play 할때 마다 엄청난 수의 시퀀스를 메모리에 올리는 작업은 시간적 부하가 걸릴수 밖에 없습니다. 
그래서 activeLevel을 조정 하여 시퀀스 컨트롤을 적용한 플랜에 단일 시퀀스만 로딩 할수 있게 하거나 엡데이트시에 텍스쳐를 교체 하지 않는 등의 변화를 줄수 있습니다. 또한 Select single Frame Number를 조정하여 원하는 위치의 시퀀스를 장면으로 고정 시킬수 있습니다.

추가된 핵심 변수 입니다.
public int activeLevel = 0;// 0 : 모두 실행, 1 : 단일 이미지, 2 : 아무것도 실행 안함
public int selectSingleFrameNumber = 0; // activeLevel 1 일때 활성화

using UnityEngine; using System.Collections; // ///////////////////////////////////////////////////////////////////////////////////////////////////////// // // Developed by ychans in 03 2012 // e-mail: ychans37@gmail.com // // Updated // 1.0 initial // 1.1 activeLevel, selectSingleFrameNumber 추가 // // ///////////////////////////////////////////////////////////////////////////////////////////////////////// public class SequenceController : MonoBehaviour { public int totalFrame = 476; // 불러올 시퀀스의 수 public string sourceName = "Diver_"; public string sourcePath = "Assets/_assets/Texture/animationSeqence/"; public int zeroLength = 5; // 시퀀스에 넘버링을 제어 하기 위한 변수 public int frameBufferValue = 1; // 프레임 버퍼 용량 public bool direction = true; // 시퀀스 움직임 방향 public int activeLevel = 0;// 0 : 모두 실행, 1 : 단일 이미지, 2 : 아무것도 실행 안함 public int selectSingleFrameNumber = 0; private int frameBuffer = 0; // 프레임 버퍼 private int curFrame = 0; // 현재 프레임 private Texture2D[] textureArr = null; void awake () { } // Use this for initialization void Start () { int i = 0; if (activeLevel != 0) { totalFrame = selectSingleFrameNumber+1; i = selectSingleFrameNumber; } else { i = 0; } textureArr = new Texture2D[totalFrame]; int zeroNum = 0; string fileName = ""; string zeroString = ""; for (i = i; i < totalFrame; i++) { zeroNum = zeroLength - i.ToString().Length; if (zeroString.Length == zeroNum) { //pass } else { zeroString = ""; for (int j = 0; j < zeroNum; j++) { zeroString += "0"; } } if (activeLevel == 1) { fileName = sourcePath + sourceName + zeroString + selectSingleFrameNumber.ToString() + ".png"; } else fileName = sourcePath + sourceName + zeroString + i.ToString() + ".png"; textureArr[i] = Resources.LoadAssetAtPath(fileName, typeof(Texture2D)) as Texture2D; } if(activeLevel == 1) renderer.material.SetTexture("_MainTex", textureArr[selectSingleFrameNumber]); } // Update is called once per frame void Update () { if (activeLevel != 0) { print("haha"); return; } if (frameBuffer == 0) { renderer.material.SetTexture("_MainTex", textureArr[curFrame]); } if (curFrame == totalFrame-1) { curFrame = 0; } else { //frame++; if (frameBuffer == frameBufferValue) { frameBuffer = 0; curFrame++; } else { frameBuffer++; } } } }


'code > unity' 카테고리의 다른 글

import 동영상 화질 유지  (0) 2012/04/21
[unity] 시퀀스 컨트롤 업데이트 v1.1  (0) 2012/03/21
[Unity] 동영상 알파값 처리를 위한 Shader  (0) 2012/03/20
[Unity] 시퀀스 컨트롤  (0) 2012/03/20
Posted by 반찬@