Split écran multijoueur

Tutoriel du BlenderClan


Séparer l'écran en deux pour un multijoueur sur un seul poste



Introduction

Bonjour !
Nous allons voir dans ce tutoriel comment séparer, à l'aide de Python, un écran en deux afin de pouvoir construire à l'avenir, un jeu multi-joueur sur un seul ordinateur.

Étape 1 : Préparation de la scène

Lors du démarrage de la scène, ne supprimez rien, gardez le cube, la caméra et la lampe. Ajoutez une deuxième caméra. Arrangez vous pour que celle-ci pointe son regard vers le cube mais à un angle différent par rapport à la caméra par défaut.
Ainsi vous devez obtenir ceci à peu de choses près :



Ensuite, sélectionnez la caméra par défaut, soit OBCamera et allez dans la zone Logic (F4) et ajoutez un 'sensor' "Always" puis un 'controller' "Python" et mettez dans la zone script de ce controller : "Text". N'oubliez pas de relier le 'sensor' et le 'controller'. De plus désactiver le petit bouton qui se situe en dessous du titre du 'sensor' "Always". Ceci permettra d'exécuter ce script une seule fois, il est inutile de le lancer à l'infini.

Passons à l'étape suivante...

Étape 2 : Python : Script des viewports

Maintenant que notre scène est préparée, nous voulons faire en sorte à ce que dès que le jeu se lance,, l'écran se sépare en deux afin d'avoir les deux vues différentes du cube. Nous allons donc passer par Python. Pour ce faire allez dans le "Text Editor", sélectionnez le script "Text" et renommez le comme bon vous semble ("viewports" par exemple)

En premier lieu nous allons avoir besoin du module gérant la configuration des fenêtres, il s'agit de Rasterizer. Donc on commence à démarrer le script en important ce module à l'aide de la ligne suivante :

import Rasterizer

Une fois le module chargé, il faut maintenant connaître la largeur et la hauteur de la fenêtre lors du lancement du jeu. Utilisons le module importé :

height = Rasterizer.getWindowHeight() Pour la largeur
width = Rasterizer.getWindowWidth() Pour la hauteur

Maintenant, nous devons récuperer les deux caméras

scene = GameLogic.getCurrentScene() On récupère la scène courante
objList = scene.getObjectList() Puis on récupère la liste des objets dans cette scène
playerA = objList["OBCamera"] Parmi cette liste on prend la caméra nommée OBCamera
playerB = objList["OBCamera.001"] Puis la caméra nommée OBCamera.001

On utilise ensuite la fonction setViewport, sachant que plusieurs paramètres sont à définir :

setViewport(A, B, C, D)


A conçerne la limite de la bordure gauche de la zone
B conçerne la limite de la bordure du dessous de la zone
C conçerne la limite de la bordure droite de la zone
D conçerne la limite de la bordure du dessus de la zone

Ainsi pour définir deux zones on obtient ceci :

playerA.setViewport( 0, height / 2, width, height) Pour la OBCamera
playerB.setViewport( 0, 0, width, height / 2) Et pour la OBCamera.001

On utilise ensuite la fonction enableViewport() pour activer les deux zones

playerA.enableViewport(True)
playerB.enableViewport(True)

Conclusion

Voilà, appuyez sur P et regarder le résultat !
Vous pouvez toujours vous arranger pour faire un écran splitté de manière verticale et non horizontale.

Voici le fichier d'exemple ci-joint à ce tutoriel que vous pouvez télécharger ici.

Le tutoriel est terminé, je vous laisse :-)

tutoriel rédigé pour le Blender Clan par Monster_kill, le samedi 20 décembre

    


Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.

Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses [non résolu] Blender et OBJ 0 44 01/02 11:09:31
stigmamax 
Mes premières images sous Blender (débutants) 2.80 ---> 3.00 ? 2 103 31/01 15:27:50
HarDrive 
The Blender Clan 'tchat Buy (50 Pieces) New Samsung Galaxy Z Flip4 128GB Unlocked $17,450 0 76 26/01 07:44:35
emailychang01 
The Blender Clan 'tchat Buy (30 Pcs) New Mac mini M2 (2023) 256GB SSD $8,970: www.cutebitelectronics.com 0 48 25/01 11:02:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New iMac M1 24-inch (2021) 512GB SSD $44,950 Website: www.cutebitelectronics.com 0 65 24/01 09:21:49
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) Macbook Air M2 13.6-inch 512GB SSD $54,950 Website: www.cutebitelectronics.com 0 76 23/01 09:20:38
emailychang01 
Questions & Réponses circuit avec dévers 3 108 22/01 18:42:26
moonboots 
The Blender Clan 'tchat Buy (50 Pcs) MacBook Pro M2 14-inch 512GB SSD $79,950 0 64 21/01 10:19:51
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Air 10.9-inch (2022) 256GB Wi-Fi + Cellular $24,950 0 91 20/01 08:43:41
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New Mac mini M2 (2023) 256GB SSD $9,950 Website: www.cutebitelectronics.com 0 90 19/01 08:19:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces ) New Apple iPad Mini 8.3-inch (2021) 256GB Wi-Fi + Cellular $22,450 0 66 18/01 08:46:54
emailychang01 
Hors Sujet !! Victime de piratage 0 133 18/01 00:01:38
Lylo 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 12.9-Inches 2021 1TB Wifi + Cellular $69,950 0 83 17/01 09:54:03
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 11-Inches 2021 2TB Wifi + Cellular $79,950 0 88 14/01 19:23:01
emailychang01 
Questions & Réponses [non résolu] Material preview et résolution 0 93 13/01 10:13:25
zeromeetsinfinity 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 13 Pro Max 5G 1TB $54,950 0 88 12/01 09:21:35
emailychang01 
Hors Sujet !! Verifpro.net - paypal, ebay, banks, crypto, docs and more! 0 76 11/01 18:57:13
julien_costa 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 12 Pro 5G 512GB $24,950 0 91 11/01 07:45:50
emailychang01 
Questions & Réponses [non résolu] Soucis de pivots et rotations à l'import dans un fichier fbx avec parents/enfants 0 4370 10/01 16:32:57
Brice_Willus 
The Blender Clan 'tchat Buy (30 Pieces) New Meta - Quest Pro Virtual Reality Headset - 256GB $29,970 0 88 10/01 10:34:12
emailychang01 

Qui est en ligne
134 utilisateur(s) en ligne (dont 1 sur Tutoriels)

Membre(s): 0
Invité(s): 134


plus...
Nouveaux membres
MathiasFul 18/8/2022
VicenteZcl 18/8/2022
OlivaL1007 18/8/2022
Adrian8943 18/8/2022
NorbertoGe 18/8/2022
VeronaKais 18/8/2022
BettieSile 18/8/2022
DarylTier 18/8/2022
BretParkhi 18/8/2022
LeoTrotter 18/8/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 23
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
plus 229 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445