2015-08-25 2 views
1

Мне нужно поставить видео внутри плоского объектаUnity - как добавить видео к единице

Я следую учебник о том, как вы сделаете это,

1- Создать новый материал (видео внутри материала).

2- прикрепить материал к плоскости объекта

3- добавить скрипт как gameController

using UnityEngine; 
using System.Collections; 

public class GameController : MonoBehaviour { 

     public MovieTexture movTexture; 
    // Use this for initialization 
    void Start() { 

     GetComponent<Renderer>().material.mainTexture= movTexture; 
     movTexture.Play(); 
    } 

    // Update is called once per frame 
    void Update() { 


    } 
} 

, но это дает мне ошибку

Assets/Scripts/GameController.cs(9,63): error CS1061: Type `UnityEngine.Texture' does not contain a definition for `Play' and no extension method `Play' of type `UnityEngine.Texture' could be found (are you missing a using directive or an assembly reference?) 

ОБНОВЛЕНО Я использую единства 5.1 бесплатно , Я пытаюсь разработать игру для Gear VR, которая запускается в устройстве android

ответ

1

mainTexture field имеет базовый уровень Texture класс. Если вы настроили и назначен материал правильно, то вы можете привести его к MovieTexture, где вы можете позвонить Play():

((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play(); 

Дополнительная информация о воспроизведении видео с MovieTexture можно найти в руководстве здесь: http://docs.unity3d.com/Manual/class-MovieTexture.html

+0

Я пробую этот ответ, но получил ошибку MissingComponentException: Нет никакого «Renderer», прикрепленного к игровому объекту GameController, но скрипт пытается получить к нему доступ. Возможно, вам нужно добавить рендерера в игровой объект «GameController». Или ваш скрипт должен проверить, прикреплен ли компонент до его использования. GameController.Start() (в Assets/Scripts/GameController.cs: 9) –

+0

@minafawzy: Убедитесь, что ваш объект GameController имеет компонент Renderer (такой как «Mesh Renderer»), назначенный ему в редакторе Unity. –

+0

спасибо, но у меня есть еще одна ошибка Assets/Scripts/GameController.cs (9,20): ошибка CS0246: Тип или имя пространства имен 'MovieTexture 'не удалось найти. Вам не хватает указаний по использованию или ссылки на сборку? –

0

Ссылка на сборку для добавления видео только интегрирована с единством pro.

+0

Как и Unity 5, бесплатная версия также поддерживает видео. Независимо от этого ошибка не зависит от этого; вы получите ту же ошибку в Unity 4 Pro. –

1

MovieTexture не поддерживается в Android. В настоящее время нет простых способов воспроизведения видео на андроиде, используя unity3d, кроме полноэкранного, если вы не покупаете некоторые активы, которые делают видео по текстурам возможным, но без звука.

Смежные вопросы