Dans ce guide de démarrage rapide, nous vous expliquons comment configurer un projet Unreal Engine pour fonctionner avec une carte vidéo professionnelle de Blackmagic Design. À la fin de ce guide :
L'entrée vidéo de votre carte Blackmagic sera lue directement dans votre projet Unreal Engine.
Vous pourrez capturer des points de vue de caméra à partir de l'éditeur et de votre application à l'exécution, puis les envoyer à un port SDI de votre carte Blackmagic.
Vous saurez où aller pour configurer des réglages avancés de vos entrées vidéo, comme la correction de la déformation d'objectif ou l'application d'effets d'incrustation chromatique.
Pour un exemple fonctionnel illustrant plusieurs des éléments décrits ci-dessous, consultez la présentation de Virtual Studio, disponible dans l'onglet Exemples du lanceur Epic Games.
Conditions préalables :
Assurez-vous de disposer d'une carte Blackmagic Design compatible que les pilotes et logiciels nécessaires sont installés. Pour plus d'informations, consultez la page Référence sur les médias de Blackmagic.
Assurez-vous que votre carte fonctionne correctement et qu'une partie de votre l'entrée vidéo alimente au moins l'un de ses ports SDI.
Ouvrez un projet Unreal Engine que vous souhaitez intégrer à vos flux vidéo. Cette page décrit les étapes du modèle de blueprint à la troisième personne, mais ces étapes fonctionneront aussi bien dans n'importe quel projet.
Les composants Blackmagic Design utilisés dans ce guide sont construits sur le Media Framework, et nous utiliserons les blueprints pour programmer le processus de capture vidéo à l'exécution. Une connaissance préalable de ces sujets est recommandée, mais pas indispensable.
1 - Configurer le projet
Avant de pouvoir recevoir un flux vidéo depuis votre carte Blackmagic dans votre niveau Unreal Engine et envoyer une sortie d'Unreal Engine via l'un des ports SDI de votre carte Blackmagic, vous devez effectuer une configuration de base pour activer le plug-in Blackmagic Media Player dans votre projet.
Si vous avez commencé votre Projet Unreal Engine à partir de l'un des modèles de la catégorie Cinéma, Télévision et Événements en direct, les plug-ins nécessaires sont peut-être déjà activés pour vous. Si ce n'est pas le cas, suivez les instructions ci-dessous pour les activer.
Étapes
Ouvrez le projet que vous souhaitez utiliser avec l'E/S vidéo Blackmagic dans l'Unreal Editor.
Dans le menu principal, sélectionnez Modifier > Plug-ins.
Dans la fenêtre Plug-ins, recherchez le plug-in Blackmagic Media Player dans la catégorie Lecteurs multimédia. Cochez la case Activé de ce plug-in.
Recherchez le plug-in Media Framework Utilities dans la catégorie Média. Cochez la case Activé, si ce n'est pas déjà fait.
Cliquez sur Redémarrer maintenant pour redémarrer l'Unreal Editor et rouvrir votre projet.
Résultat final
Votre Projet est maintenant prêt à recevoir des vidéos provenant de la carte Blackmagic et à envoyer la sortie rendue vers cette carte. Dans les prochaines sections, nous allons les connecter et commencer à lire la vidéo en entrée et en sortie.
2 - Rendu de l'entrée vidéo dans l'Unreal Engine
Lors de ce processus, nous allons rendre l'entrée vidéo de la carte Blackmagic visible dans le niveau actuel dans l'Unreal Editor. Ce processus utilise un paquet multimédia, c'est-à-dire un type de ressource qui regroupe plusieurs types de ressources de Media Framework et permet de contrôler certaines fonctions avancées comme la déformation de l'objectif, l'incrustation chromatique, la correction des couleurs, et plus encore.
Étapes
Dans le navigateur de contenu, développez le panneau Sources. Faites un clic droit et choisissez Nouveau dossier dans le menu contextuel.
Renommez votre nouveau dossier Blackmagic.
Ouvrez votre nouveau dossier, faites un clic droit dans le navigateur de contenu et sélectionnez Média > Paquet multimédia.
Le nom de votre nouvelle ressource est automatiquement sélectionné dans le navigateur de contenu. Vous pouvez donc lui donner un nom descriptif : Saisissez un nouveau nom, par exemple BlackmagicMediaBundle, et appuyez sur Entrée. Un nouveau dossier de ressources de Media Framework est automatiquement créé à côté de votre paquet multimédia. Il est doté du suffixe _InnerAssets. Nous étudierons ces ressources plus tard.
Enregistrez vos nouvelles ressources en cliquant sur le bouton Enregistrer tout dans le navigateur de contenu.
Double-cliquez sur votre nouveau paquet multimédia pour en modifier les propriétés. Le paquet multimédia peut lire des vidéos depuis n'importe quelle source multimédia prise en charge par le moteur. Vous devrez donc indiquer au moteur que vous souhaitez importer la vidéo depuis votre carte Blackmagic. Dans la propriété Source multimédia, sélectionnez Source multimédia Blackmagic dans la liste déroulante :
Une fois que vous avez identifié le type de source multimédia que vous souhaitez que le paquet multimédia gère, vous pouvez configurer les propriétés de configuration offertes par ce type de source. Vous pouvez faire en sorte que l'Unreal Engine fasse correspondre automatiquement le format et la fréquence d'images du signal vidéo entrant. Pour activer la détection automatique du format, cliquez sur le menu déroulant Configuration, activez Auto, et cliquez sur Appliquer. Le moteur gère désormais les changements de façon transparente et redémarre automatiquement en cas de perte temporaire du signal.
Les options qui s'affichent peuvent varier en fonction des appareils que vous avez installés. Pour plus de détails sur toutes les propriétés que vous pouvez définir pour une source multimédia Blackmagic, consultez la page Guide de référence pour les médias de Blackmagic.
Si vous souhaitez appliquer une compensation à la vidéo entrante pour tenir compte de la distorsion de l'objectif, vous pouvez configurer les propriétés physiques de l'objectif dans la section Paramètres de l'objectif.
Ces paramètres d'objectif configurent les propriétés physiques de l'objectif. Vous activerez la compensation de l'objectif ultérieurement, lors de la modification de l'instance de matériau utilisée par le paquet multimédia. Enregistrez et fermez votre paquet multimédia lorsque vous avez fini d'en configurer les propriétés.
Faites glisser votre ressource BlackmagicMediaBundle du navigateur de contenu vers le hublot de niveau.
Vous verrez apparaître un nouveau plan, qui indique que la vidéo est en cours de lecture sur le port configuré pour votre paquet multimédia. Utilisez les outils de transformation de la barre d'outils du hublot pour le déplacer, le faire pivoter et le redimensionner. Si la lecture de votre paquet multimédia ne commence pas automatiquement, sélectionnez-le, puis cliquez sur le bouton Paquet multimédia > Demande de lecture du média dans le panneau Détails.
Maintenant, nous allons voir comment appliquer des effets d'incrustation et des effets de composition à la branche vidéo. Revenez dans l'éditeur de paquet multimédia, cliquez sur le bouton Ouvrir l'éditeur de matériau dans la barre d'outils pour modifier l'instance de matériau que ce paquet multimédia utilise pour afficher son flux vidéo entrant sur un objet du niveau.
Dans l'éditeur d'instance de matériau, un certain nombre de propriétés sont exposées. Vous pouvez y configurer l'incrustation, le recadrage et la correction des couleurs, mais aussi activer la correction de distorsion d'objectif que vous avez configuré dans le paquet multimédia.
Pendant que vous ajustez les paramètres dans l'éditeur d'instance de matériau, vous pouvez voir l'effet de vos modifications sur le flux vidéo en cours de lecture dans le hublot du niveau principal.
Il peut être plus pratique de visualiser les effets des modifications appliquées directement dans le panneau d'aperçu de l'éditeur d'instance de matériau. À faire activer temporairement le paramètre IsValid et définir sa valeur sur
1,0.Cliquez sur la flèche dans le coin supérieur gauche de la barre d'outils du hublot et activez l'option Temps réel dans le menu.
Il sera plus facile d'évaluer l'effet des modifications en remplaçant le maillage de prévisualisation par un plan ou un cube. Utilisez les contrôles en bas du hublot :
Une fois que vous avez terminé, rétablissez la valeur précédente du paramètre IsValid.
Lorsque vous avez terminé de modifier les propriétés de l'instance de matériau, cliquez sur le bouton Enregistrer dans la barre d'outils.
Résultat final
À ce stade, votre vidéo devrait être lue sur un port SDI dans votre niveau Unreal Engine, et vous devriez savoir où configurer des fonctionnalités plus avancées, comme la déformation d'objectif et l'incrustation chromatique.
Si vous maîtrisez déjà le Media Framework, vous pouvez également importer une vidéo dans votre niveau en créant une nouvelle ressource BlackmagicMediaSource dans votre projet, puis en configurant ses propriétés sources de la même manière que dans le paquet multimédia décrit ci-dessus. Créez ensuite vos propres ressources MediaPlayer et MediaTexture pour gérer la lecture de cette source dans votre niveau. Pour plus de détails, consultez la documentation de Media Framework. Cependant, nous vous conseillons d'utiliser le paquet multimédia, comme indiqué ci-dessus, pour obtenir le meilleur équilibre entre la simplicité d'utilisation et les fonctionnalités vidéo de qualité professionnelle.
3 - Captures de sortie depuis l'Unreal Editor
Au cours de ce processus, vous configurerez un objet de Sortie multimédia Blackmagic et utiliserez le panneau Captures multimédia de l'Unreal Editor pour générer la vue des caméras sélectionnées dans le niveau sur votre carte Blackmagic.
Étapes
Faites un clic droit dans le navigateur de contenu, puis sélectionnez Média > Sortie multimédia Blackmagic.
Nommez votre nouvelle ressource BlackmagicMediaOutput.
Double-cliquez sur votre nouvelle ressource pour l'ouvrir et la modifier. Comme pour la création de votre source multimédia Blackmagic, vous devez configurer la propriété Configuration pour contrôler les propriétés du flux vidéo que l'Unreal Engine envoie à votre carte Blackmagic. Cliquez sur la flèche pour ouvrir le sous-menu, puis sélectionnez les options qui correspondent à votre configuration vidéo et cliquez sur Appliquer dans le sous-menu.
Les options qui s'affichent peuvent varier en fonction des appareils que vous avez installés. Pour plus de détails sur toutes les propriétés que vous pouvez définir dans la sortie multimédia Blackmagic, consultez la page Guide de référence sur les médias de Blackmagic. Enregistrer et fermez votre sortie multimédia une fois que vous avez terminé.
Nous allons maintenant placer deux caméras dans le niveau pour fournir des points de vue pour la sortie que nous enverrons à la carte Blackmagic. Dans le panneau Placer des acteurs, ouvrez l'onglet cinématique et faites glisser deux instances de l'acteur caméra de cinéma dans le hublot.
Placez les caméras à l'endroit souhaité dans le niveau, afin qu'elles adoptent différents points de vue sur la scène.
Le pilotage de la caméra est une méthode rapide et simple pour positionner précisément son angle de vue Voir Piloter les acteurs dans le hublot.
Dans le menu principal, choisissez Fenêtre > Production virtuelle > Capture multimédia. Vous utiliserez la fenêtre média Capture multimédia pour contrôler quand l'éditeur envoie la sortie à votre appareil Blackmagic et quelle caméra il doit utiliser dans le niveau.
Dans la zone Capture du hublot des médias, recherchez le contrôle Captures du hublot. Cliquez sur le bouton Ajouter (+) pour ajouter une nouvelle capture à cette liste.
Développer la nouvelle entrée. Nous allons d'abord ajouter les caméras dont nous voulons capturer les images. Dans le contrôle Acteurs de la caméra verrouillée, cliquez sur le bouton Ajouter (+) pour ajouter une entrée.
Ensuite, utilisez la liste déroulante pour choisir l'une des caméras placées dans le niveau.
Répétez les mêmes étapes pour ajouter l'autre caméra à la liste.
Maintenant, configurez la sortie vers laquelle vous souhaitez capturer ces caméras. Configurez le contrôle Sortie multimédia pour qu'il pointe vers la nouvelle ressource de sortie multimédia Blackmagic que vous avez créée ci-dessus. Pour cela, sélectionnez-le dans la liste déroulante ou glissez votre ressource de sortie multimédia Blackmagic depuis le navigateur de contenu et déposez-la dans ce créneau.
En haut de la fenêtre, cliquez sur le bouton Capturer.
Une nouvelle image apparaît en bas de la fenêtre, affichant un aperçu du résultat envoyé à la carte Blackmagic. Si ce port est connecté à un autre appareil en aval, vous devriez commencer à voir la sortie s'afficher.
Chacune des caméras que vous avez ajoutées à la liste des acteurs de caméra verrouillés pour cette capture de hublot est représentée par un bouton correspondant au-dessus de l'aperçu de la vidéo. Cliquez sur les boutons pour alterner entre les deux vues.
Résultat final
Vous avez maintenant configuré l'Unreal Editor pour diffuser la sortie des caméras de votre niveau vers un port de votre carte Blackmagic. Ensuite, nous verrons comment utiliser le scripting Blueprint pour réaliser la même opération dans un projet Unreal Engine en cours d'exécution.
4 - Générer les captures à l'exécution
La fenêtre Capture multimédia que vous avez utilisée dans la dernière section est un moyen pratique et facile d'envoyer des captures vers la carte Blackmagic. Cependant, elle ne fonctionne que l'Unreal Editor. Pour réaliser la même opération lorsque votre projet est exécuté en tant qu'application autonome, vous devez utiliser l'API Blueprint fournie par la sortie multimédia. Dans cette procédure, nous allons configurer un interrupteur à bascule dans le blueprint de niveau qui active et désactive la capture lorsque le joueur appuie sur une touche du clavier.
La présentation de Virtual Studio, disponible dans l'onglet Exemples du lanceur Epic Games, contient un widget d'interface UMG qui explique comment capturer depuis une interface utilisateur à l'écran.
Étapes
Dans la barre d'outils principale de l'Unreal Editor, sélectionnez Blueprints > Ouvrir le blueprint de niveau.
Nous allons commencer par la ressource de sortie multimédia Blackmagic que vous avez créée et identifier le port vers lequel vous souhaitez envoyer la sortie. Dans la liste Variables du panneau Mon blueprint, cliquez sur le bouton Ajouter (+) pour ajouter une nouvelle variable.
Dans le panneau Détails, définissez l'option Nom de la variable sur BlackmagicMediaOutput et utilisez le menu déroulant Type de variable pour en faire une Référence d'objet de sortie multimédia Blackmagic.
Activez le paramètre Instance modifiable (1) et compilez le blueprint. Ensuite, dans la section Valeur par défaut, configurez la variable de sorte qu'elle pointe vers la ressource de sortie multimédia Blackmagic que vous avez créée dans votre navigateur de contenu (2).
Appuyez sur Ctrl et faites glisser BlackmagicMediaOutput de la liste Variables du panneau Mon blueprint vers le graphique d'événement.
Faites un cliquer-glisser depuis le port de sortie du nœud de variable BlackmagicMediaOutput, puis sélectionnez Média > Sortie > Créer une capture multimédia.
Connectez vos nœuds au nœud Event BeginPlay, comme indiqué ci-dessous :
Cela crée un nouvel objet de capture multimédia à partir de la sortie multimédia Blackmagic. L'option de capture multimédia offre deux fonctions de blueprint principales qui nous permettent de contrôler la capture : Hublot de la scène active de la capture et Arrêter la capture.
Nous allons d'abord enregistrer le nouvel objet de capture multimédia dans sa propre variable afin de pouvoir y accéder à nouveau ailleurs. Faites un cliquer-glisser depuis le port de sortie du nœud Create Media Capture et choisissez Promouvoir en variable.
Renommez la nouvelle variable MediaCapture dans la liste Variables du panneau Mon blueprint.
Il est important d'enregistrer la capture multimédia dans une variable ici. Si vous ne le faites pas, le nettoyage de mémoire de l'Unreal Engine risque de le détruire automatiquement avant que vous en ayez fini avec.
Appuyez sur Ctrl et faites glisser la variable MediaCapture dans le graphique d'événement.
Faites un cliquer-glisser depuis le port de sortie du nœud de variable MediaCapture, puis sélectionnez Média > Sortie > Hublot de la scène active de la capture. Répétez l'opération et sélectionnez Média > Sortie > Arrêter la capture.
Faites un clic droit dans le graphique d'événement et sélectionnez Entrée > Événements de clavier > P. Faites un cliquer-glisser depuis la sortie Appuyé du nœud P et choisissez Contrôle de flux > FlipFlop.
Connectez la sortie A du nœud FlipFlop à l'événement d'entrée du nœud Capture Active Scene Viewport, puis connectez la sortie B du nœud FlipFlop à l'événement d'entrée du nœud Stop Capture, comme illustré ci-dessous :
Compilez et enregistrez le blueprint, puis essayez de lancer votre projet. Cliquez sur la flèche près du bouton Jouer dans la barre d'outils principale et sélectionnez l'option Nouvelle fenêtre d'éditeur (PIE) ou Jeu autonome.
La capture vidéo depuis l'éditeur ne fonctionne que lorsque vous lancez à votre projet dans une nouvelle fenêtre d'éditeur (PIE) ou en tant que jeu autonome. Elle ne fonctionne pas avec le mode Hublot sélectionné par défaut ou le mode Simuler. Par ailleurs, la résolution du hublot de votre Projet (c'est-à-dire la taille de l'image rendue que l'Unreal Engine génère à chaque image) doit correspondre à la résolution de sortie définie dans le profil multimédia actif, afin que la taille soit adaptée au flux vidéo de sortie.
Après le démarrage de votre projet, vous devriez pouvoir appuyer sur la touche P de votre clavier pour activer ou désactiver l'envoi de la sortie du moteur vers la carte Blackmagic.
Résultat final
À ce stade, vous devriez avoir une idée de base de la façon d'utiliser les sources multimédias Blackmagic, les paquets multimédias et le système de capture multimédia. Vous devez également comprendre comment tous ces éléments fonctionnent ensemble pour obtenir des vidéos professionnelles dans et en dehors de l'Unreal Engine.
À vous de jouer
Maintenant que vous avez découvert les principes de base pour configurer un nouveau projet échangeant des flux vidéo en entrée et sortie avec une carte Blackmagic, vous pouvez poursuivre votre apprentissage de manière autonome :
Explorez la solution d'incrustation intégrée dans le moteur, disponible dans l'instance de matériau créée par votre paquet multimédia. Essayez d'envoyer une vidéo sur fond vert vers le port d'entrée de votre carte, puis utilisez les réglages d'incrustation dans l'instance de matériau pour supprimer l'arrière-plan.
Explorez la présentation de Virtual Studio pour découvrir ce qu'il ajoute à cette configuration de base, comme son interface à l'écran qui permet de changer de caméra et de contrôler la capture vidéo à l'exécution.