MovieTexture 사용 방법
6874 단어 Unity
Unity5.왜냐하면 6 이후부터 비디오 플레이어를 실시했거든요.
나는 네가 그것을 사용하는 것을 건의한다.
Unity로 애니메이션을 재생할 때 MovieTexture를 사용하는 방법이 있습니다.
공식 안내서http://docs.unity3d.com/ja/current/Manual/class-MovieTexture.html라면
"해당 형식의 비디오 파일을 항목에 넣으면 자동으로 변환됩니다.
변환할 때 Quicktime을 사용하기 때문에 설치해야 합니다."
이와 같이 Windows QuickTime은 안전하다고 기록되어 있습니다.
문제가 남아 있는 상태에서 버전 업그레이드가 중단되어 사실상 사용할 수 없습니다.
또 수첩에 기재된 내용이라면 구체적인 방법이 있을 것이다
이해하기 어려워 실제 영상을 재생하는 방법을 총결하기로 했다.
1) 비디오 데이터 준비
MovieTexture가 실제로 ogv를 재생하는 것 같기 때문에 Unity 변환을 사용하지 마십시오
ogv를 미리 준비하세요.ffmpeg로 ogv를 변환할 수 있습니다.
구축된 ffmpeg는 https://ffmpeg.zeranoe.com/builds/ 정도에서 살 수 있습니다.
변환 예
enc.batffmpeg -y -i "title.mp4" -b 8M -ab 128k "title.ogv"
2) Unity 프로젝트에 배치
변환된 ogv 파일을 StreamingAssets 폴더로 복사합니다.
3) 재생할 스크립트 쓰기
Inspector에서 소재를 텍스쳐로 설정하는 MovieTexture
프로세스 대신 MovieTexture를 처리하는 스크립트를 작성합니다.
이것을 직접 복사해서 사용할 수 있다.
Movie.cs
using UnityEngine;
using System.Collections;
public class Movie : MonoBehaviour {
public string _movieFile;
// Use this for initialization
void Start () {
StartCoroutine(moviePlay(_movieFile));
}
// Update is called once per frame
void Update () {
}
private IEnumerator moviePlay(string movieFile)
{
string movieTexturePath = Application.streamingAssetsPath + "/" + movieFile;
string url = "file://" + movieTexturePath;
WWW movie = new WWW(url);
while (!movie.isDone) {
yield return null;
}
MovieTexture movieTexture = movie.movie;
while (!movieTexture.isReadyToPlay) {
yield return null;
}
var renderer = GetComponent<MeshRenderer>();
renderer.material.mainTexture = movieTexture;
movieTexture.loop = true;
movieTexture.Play ();
#if false
//オーディオを使用する場合はこの部分を有効にしてください
var audioSource = GetComponent<AudioSource>();
audioSource.clip = movieTexture.audioClip;
audioSource.loop = true;
audioSource.Play ();
#endif
}
}
4) 구성 요소 설정
GameObject에서 스크립트를 설정하면 애니메이션을 재생하는 GameObject가 됩니다.
(일단 적당한 재료를 설정해보자)
설정 예
잡담
방송 후에 오류가 발생할 수 있는데 찾아봤어요.
유닛 버그인 것 같아요.
Reference
이 문제에 관하여(MovieTexture 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakfiv/items/ce7c5506c66280014709
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ffmpeg -y -i "title.mp4" -b 8M -ab 128k "title.ogv"
변환된 ogv 파일을 StreamingAssets 폴더로 복사합니다.
3) 재생할 스크립트 쓰기
Inspector에서 소재를 텍스쳐로 설정하는 MovieTexture
프로세스 대신 MovieTexture를 처리하는 스크립트를 작성합니다.
이것을 직접 복사해서 사용할 수 있다.
Movie.cs
using UnityEngine;
using System.Collections;
public class Movie : MonoBehaviour {
public string _movieFile;
// Use this for initialization
void Start () {
StartCoroutine(moviePlay(_movieFile));
}
// Update is called once per frame
void Update () {
}
private IEnumerator moviePlay(string movieFile)
{
string movieTexturePath = Application.streamingAssetsPath + "/" + movieFile;
string url = "file://" + movieTexturePath;
WWW movie = new WWW(url);
while (!movie.isDone) {
yield return null;
}
MovieTexture movieTexture = movie.movie;
while (!movieTexture.isReadyToPlay) {
yield return null;
}
var renderer = GetComponent<MeshRenderer>();
renderer.material.mainTexture = movieTexture;
movieTexture.loop = true;
movieTexture.Play ();
#if false
//オーディオを使用する場合はこの部分を有効にしてください
var audioSource = GetComponent<AudioSource>();
audioSource.clip = movieTexture.audioClip;
audioSource.loop = true;
audioSource.Play ();
#endif
}
}
4) 구성 요소 설정
GameObject에서 스크립트를 설정하면 애니메이션을 재생하는 GameObject가 됩니다.
(일단 적당한 재료를 설정해보자)
설정 예
잡담
방송 후에 오류가 발생할 수 있는데 찾아봤어요.
유닛 버그인 것 같아요.
Reference
이 문제에 관하여(MovieTexture 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakfiv/items/ce7c5506c66280014709
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
using System.Collections;
public class Movie : MonoBehaviour {
public string _movieFile;
// Use this for initialization
void Start () {
StartCoroutine(moviePlay(_movieFile));
}
// Update is called once per frame
void Update () {
}
private IEnumerator moviePlay(string movieFile)
{
string movieTexturePath = Application.streamingAssetsPath + "/" + movieFile;
string url = "file://" + movieTexturePath;
WWW movie = new WWW(url);
while (!movie.isDone) {
yield return null;
}
MovieTexture movieTexture = movie.movie;
while (!movieTexture.isReadyToPlay) {
yield return null;
}
var renderer = GetComponent<MeshRenderer>();
renderer.material.mainTexture = movieTexture;
movieTexture.loop = true;
movieTexture.Play ();
#if false
//オーディオを使用する場合はこの部分を有効にしてください
var audioSource = GetComponent<AudioSource>();
audioSource.clip = movieTexture.audioClip;
audioSource.loop = true;
audioSource.Play ();
#endif
}
}
GameObject에서 스크립트를 설정하면 애니메이션을 재생하는 GameObject가 됩니다.
(일단 적당한 재료를 설정해보자)
설정 예
잡담
방송 후에 오류가 발생할 수 있는데 찾아봤어요.
유닛 버그인 것 같아요.
Reference
이 문제에 관하여(MovieTexture 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakfiv/items/ce7c5506c66280014709
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(MovieTexture 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nakfiv/items/ce7c5506c66280014709텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)