=====Blender3D - texture vidéo===== [[ateliers:videomapping-part1:accueil|Suite de VIDEOMAPPING AVEC BLENDER 3D part1]] ==== texture vidéo avec Python ==== Cette méthode nécessite d'avoir sur l'objet cible : * un materiaux existant * une texture contenant une image === Import du script=== Depuis la fenetre Text Editor, créer un fichier vierge, nommer le "Movie.py" et coller y le code ci-dessous :\\ ++++ Movie.py | ###################################################### # # Movie.py Blender 2.50 # # Tutorial for using Video.py can be found at # # www.tutorialsforblender3d.com # # Released under the Creative Commons Attribution 3.0 Unported License. # # If you use this code, please include this information header. # ###################################################### #import GameLogic import bge # get current scene scene = bge.logic.getCurrentScene() # get the current controller controller = bge.logic.getCurrentController() # get object script is attached to obj = controller.owner # check to see video has been added if "Video" in obj: # get video video = obj["Video"] # update the video video.refresh(True) # if video hasn't been added else: # import VideoTexture module import VideoTexture # get matID for the movie screen matID = VideoTexture.materialID(obj, "MA" + obj['material']) # get the texture video = VideoTexture.Texture(obj, matID) movieName = obj['movie'] # get movie path movie = bge.logic.expandPath('//' + movieName) # get movie video.source = VideoTexture.VideoFFmpeg(movie) # set scaling video.source.scale = True # save mirror as an object variable obj["Video"] = video # check for optional loop property if "loop" in obj: # loop it forever if obj['loop'] == True: video.source.repeat = -1 # no looping else: video.source.repeat = 0 # start the video video.source.play() ++++ === les briques logiques=== Depuis la fenetre "Logic Editor" * créér un sensor "always", activer le pulse par frame (picto 3pts a gauche) * créér un controller "Python" pointant sur le script Movie.py * afficher la fenetre = touche N avec la souris sur la fenetre "Logic Editor" * créer une propriété material (de type string) et saisir le nom du material affecté a l'objet * créer une propriété movie (de type string) et saisir le nom de la vidéo (url locale comprise ex. : video/mavideo.mp4) * créer une propriété loop (de type boleen) et cocher la si vous vouler que ça boucle… {{:ateliers:videomapping-part3:capture_d_ecran_2016-12-22_a_18.12.37.png?nolink|}}