Commencez à créer des jeux de réalité virtuelle dans Unity 5 gratuitement
Pourquoi la technologie de la réalité virtuelle souffle-t-elle dans 5 ans? Pourquoi la technologie de la réalité virtuelle souffle-t-elle dans 5 ans? L'avenir de la réalité virtuelle comprend le suivi de la tête, des yeux et de l'expression, un toucher simulé, etc. . Ces technologies étonnantes seront disponibles dans 5 ans ou moins. En savoir plus - Valve, HTC, Samsung et Facebook commercialisent prochainement du matériel de réalité virtuelle haut de gamme. En ce qui concerne les logiciels, des dizaines de grands studios développent ce nouveau matériel et tous admettent librement qu'ils n'ont aucune idée de ce qu'ils font..
Ce guide est disponible au téléchargement en format PDF gratuit. Télécharger Commencez à créer des jeux de réalité virtuelle dans Unity 5 gratuitement dès maintenant. N'hésitez pas à copier et à partager ceci avec vos amis et votre famille.On se croirait dans les débuts de DOOM et Wolfenstein. Personne ne sait à quoi ressemble un bon jeu de réalité virtuelle et les studios indépendants sont désormais un acteur important. Si vous souhaitez créer des jeux vidéo Commencez par créer des jeux en un rien de temps avec Unity3D Free Créez des jeux en un rien de temps avec Unity3D Free En savoir plus, ce sera peut-être la meilleure opportunité que vous aurez de vous faire un nom.
Alors, disons que vous voulez vous impliquer. Les outils sont plus conviviaux que jamais et ils sont presque tous gratuits. Mais par où partez-vous? Ce guide vous fournira tous les outils et informations dont vous avez besoin pour commencer - entièrement gratuitement.
Prêt? Allons-y.
De quoi as-tu besoin:
Pour commencer à créer des jeux de réalité virtuelle, vous n'avez besoin que de trois choses:
- Tout d'abord, vous avez besoin d'un casque VR. La meilleure option disponible actuellement est l’Oculus Rift DK2, que vous pouvez acheter ici pour 350 $.
- Deuxièmement, vous avez besoin d’un PC de jeu assez performant. La réalité virtuelle est environ trois fois plus intensive que les jeux sur PC normaux. Vous aurez donc besoin d’un processeur et d’une carte puissants. Oculus recommande un i5, un GTX 970 ou son équivalent et huit Go de RAM.
- Une version récente de Windows 7, 8 ou 10.
En dehors de cela, tout ce dont vous avez besoin est gratuit. En termes de logiciel, nous utiliserons:
- Unity 5 Personal Edition
- Le GIMP (programme de manipulation d'images Gnu)
- Le plugin SteamVR Unity
- Le plugin Primitive Plus Unity
- Le Runtime Windows d'Oculus
Configuration de vos outils
Tout d’abord, commençons par tout installer. Téléchargez et exécutez les programmes d'installation de Unity et de GIMP GIMP: une procédure rapide de l'éditeur d'images Open Source préféré de tout le monde. GIMP: une solution rapide de l'éditeur d'images de source Open Source préféré. En savoir plus. Cela devrait être assez explicite. Lorsque vous ouvrez Unity pour la première fois, vous êtes invité à créer un compte: faites-le en vous souvenant de votre nom d'utilisateur et de votre mot de passe..
Dans Unity, créez un nouveau projet (assurez-vous de créer un “3D” projet - pas “2D”). Définissez le répertoire du projet sur Mes documents / Mon projet..
Utilisez maintenant votre navigateur pour accéder à Unity Asset Store et connectez-vous avec les mêmes informations d'identification. Cela vous donnera accès aux outils et ressources de développement. Utilisez les liens Primitive Plus et SteamVR ci-dessus, localisez les packages et cliquez sur le bouton "Ouvrir dans Unity" dans le coin supérieur gauche. Parce que ce sont des actifs gratuits, vous n’avez pas besoin de les payer, d’autres ne le sont peut-être pas, alors faites attention. Suivez les invites qui s'affichent et importez ces packages dans Unity. Vous devriez voir de nouveaux dossiers dans le sous-menu "Projet". Le téléchargement peut prendre une minute, alors soyez patient et ne fermez pas Unity avant la fin..
Scripting dans l'unité
Il est extrêmement facile utiliser Unity si vous avez déjà programmé. Si vous n'êtes pas familier avec C #, prenez le temps de vous familiariser avec la syntaxe (essayez cet excellent tutoriel interactif). Si vous n'avez jamais encore programmé, suivez cette étape, puis passez un peu de temps à résoudre les énigmes de Project Euler. Cela vous aidera à vous familiariser avec le type de problèmes que vous aborderez dans la programmation et les compétences en résolution de problèmes dont vous avez besoin..
Une fois que vous vous sentez à l'aise pour résoudre des problèmes avec C #, je vous recommande de consacrer un peu de temps à explorer Unity à l'aide de leurs excellents tutoriels pour débutants. Vous pouvez également utiliser notre propre cours intensif pour Unity Programmer un jeu avec Unity: un guide du débutant Programmer un jeu avec Unity: un guide du débutant Dans le paysage en évolution du développement de jeux indépendants, Unity est devenu un standard de facto: son faible coût, sa facilité d'utilisation et son large éventail de fonctionnalités le rendent idéal pour le développement rapide de jeux. Lire la suite . Je fournirai de brèves explications sur tous les composants que j'utilise, mais vous y trouverez de nombreuses informations précieuses qui vous serviront si vous tentez des projets plus importants..
Pour utiliser un script Unity, vous devez d’abord un objet auquel le lier. Dans l'éditeur, vous pouvez créer des objets 3D de trois façons..
- Vous pouvez les importer dans le cadre d'un package.
- Vous pouvez faire glisser les fichiers dans votre dossier My Project / Assets..
- Vous pouvez les créer dans l'éditeur, via le menu GameObject en haut de l'écran, ce qui vous permet de créer des formes primitives simples telles que des cubes et des sphères, ainsi que du texte et des particules..
Si vous les importez ou les faites glisser dans le dossier des actifs, ils apparaîtront dans la sous-fenêtre "Projet". Vous pouvez les mettre dans le jeu en sélectionnant l'onglet "Scène" et en les faisant glisser. Vous devriez alors les voir apparaître dans le monde. Les commandes de contrôle dans le coin supérieur gauche vous permettront de les redimensionner, de les faire pivoter et de les positionner à votre guise. Les objets peuvent être «parentés» les uns aux autres (en les faisant pivoter et se déplacer ensemble) en faisant glisser leurs noms les uns sur les autres dans l'onglet 'Hiérarchie'.
Une fois qu'un objet est dans la scène, vous pouvez y attacher un ou plusieurs scripts. Ces scripts donnent vie à l’objet. Ils font feu, les balles bougent, et les personnages marchent et parlent.
Pour ajouter un script, sélectionnez l'objet que vous souhaitez contrôler dans les onglets "Scène" ou "Hiérarchie". L'onglet 'Inspecteur' changera pour afficher tous les composants attachés à l'objet en question. Un objet typique ressemblera à ceci et contiendra quelques éléments:
- Un filtre de maillage indique au moteur de jeu la forme de l'objet..
- Un moteur de rendu dessine réellement l'objet à l'écran.
- Un corps rigide indique au moteur physique que l'objet existe et définit ses propriétés.
- Un collisionneur définit les limites physiques de l'objet: vous pouvez effectuer des calculs physiques moins coûteux en donnant à un objet complexe un collisionneur simple, comme une boîte ou une sphère.
Dans l'onglet Inspecteur, vous pouvez ajouter un nouveau script en utilisant le bouton "Ajouter un composant" en bas. À partir de là, vous pouvez soit ajouter un script que vous avez déjà créé, soit en créer un nouveau. Modifiez la langue en "C #", entrez le nom que vous souhaitez et cliquez sur "Créer". Cela ajoutera un nouveau script (vide) à l'objet. Double-cliquez sur le nom du script dans l'onglet Inspecteur pour ouvrir le script dans MonoDevelop, l'éditeur de code de Unity..
Dans votre nouveau fichier, vous verrez une fonction "Démarrer" et "Mettre à jour". 'Démarrer' s'exécute lorsque l'objet est créé pour la première fois. Faites-vous une configuration dont vous avez besoin ici. "Mise à jour" exécute chaque cadre, et c'est là que devrait aller la plus grande partie de la logique.
Pour accéder aux composants de l'objet, vous pouvez saisir "gameObject.Renderer", "gameObject.rigidbody", etc., en fonction de l'élément que vous souhaitez contrôler. Les variables publiques déclarées avant la fonction "start" seront visibles dans l'éditeur, Pour plus d'informations sur la manière d'interagir avec divers éléments du système, consultez le manuel de Unity..
C’est un script simple que j’ai créé et qui permet à un objet de se développer et de se contracter de façon rythmique, en se basant sur une onde sinusoïdale. Créez un cube dans Unity, ajoutez un script et copiez-le dans la méthode 'Update'. Après l'avoir sauvegardé et appuyé sur le bouton "Lecture" de l'éditeur, le cube devrait se développer et se contracter. Assurez-vous que l'objet 'Caméra' est positionné de manière à pouvoir voir l'objet.!
Activation du mode VR
Maintenant que nous avons configuré une scène Unity de base, affichons-la sur votre casque VR. Nous utiliserons le plug-in SteamVR, qui rendra à la fois l'Oculus Rift et le HTC Vive lors de sa publication. C'est un moyen facile de développer à la fois.
Dans l'onglet 'Projet', allez dans le dossier SteamVR et ouvrez le sous-dossier 'prefab'. Vous verrez plusieurs entités prêtes à l'emploi. Faites glisser les préfabriqués 'CameraRig' et 'SteamVR' dans la scène. Ceux-ci sont déjà configurés avec tout ce dont vous avez besoin. Déplacez-les dans votre scène (positionnés au même point). Déplacez-les pour qu'ils puissent voir le cube. Supprimez maintenant les objets de caméra d'origine (non VR) - le fait d'avoir plusieurs caméras actives dans une scène déclenchera une erreur, car Unity ne saura pas lequel vous souhaitez utiliser..
Maintenant, si vous ne l’avez pas déjà fait, installez Oculus Windows Runtime et connectez votre DK2..
Redémarrez votre ordinateur. Dans la barre d'état système, vous verrez le logo Oculus Eye. Si vous cliquez dessus, vous aurez la possibilité d'ouvrir le sélecteur "Mode d'affichage" et l'utilitaire de configuration. Définissez le mode d'affichage sur 'Direct'. Ensuite, ouvrez l'utilitaire de configuration Oculus. Vérifiez que vous pouvez voir la scène de démonstration. Si vous ne pouvez pas, déboguer ceci avant de continuer.
r / Oculus est une bonne ressource pour ce genre de chose. La scène de démonstration devrait fonctionner sans à-coups et suivre la rotation et la position de votre tête, sans saccades ni images doubles..
Si cela ne fonctionne pas correctement, vérifiez que votre caméra peut vous voir et qu'elle est correctement branchée. Vérifiez également que votre carte vidéo est suffisamment puissante et que vous n'avez pas d'applications intensives exécutées en arrière-plan..
Une fois que vous avez vérifié que votre casque VR fonctionne correctement, ouvrez Unity et appuyez sur le bouton de lecture. La scène simple que nous avons configurée devrait s'afficher sur votre casque VR! Félicitations: vous venez de faire votre première démo de réalité virtuelle!
Faire votre premier jeu de réalité virtuelle
Jusqu'ici, c'est si simple - mais ce n'est pas une démo particulièrement impressionnante. Pour vous donner une idée de ce que signifie faire un projet plus complexe, je vais vous expliquer le processus de création d'un jeu d'arcade VR complet que j'ai déjà terminé et intitulé AsteroidVR.
Ce n'est pas Skyrim, mais c'est un jeu complet auquel vous pouvez jouer, avec des graphiques fonctionnels et un ensemble complet de mécanismes. Cela a pris quelques jours à faire, et est au niveau des démonstrations de preuve de concept que vous ferez beaucoup en expérimentant différents styles de jeux..
Le jeu est assez simple: vous allez piloter un navire emprisonné dans une grande pièce. L'engin va se déplacer à une vitesse constante. Vous serez capable de diriger et de tirer, mais pas d'arrêter. La salle se remplira lentement de taille aléatoire “astéroïdes,” qui rebondira sans but autour de la salle. Votre travail consiste à éviter de heurter ces astéroïdes ou ces murs aussi longtemps que vous le pourrez. Vous pourrez tirer sur les astéroïdes, mais vos munitions se rechargeront lentement si vous en manquez..
C'est l'idée de base. Commençons. Comme il ne s’agit que d’une démonstration, nous allons créer nos actifs à partir de simples primitives telles que des cubes et des sphères (en utilisant l’actif Primitive Plus)..
Navire
Voici le navire que j'ai créé.
J'avoue que ça ressemble beaucoup à un chariot élévateur, mais ça ira pour cette démo.
Lors de la construction du cockpit, veillez à placer des structures évidentes dans le champ de vision de l'utilisateur, en particulier à la périphérie. Cela aide à éviter le mal des transports en donnant à l'utilisateur des éléments fixes, réduisant ainsi la sensation de mouvement. Cela aide leur cerveau à faire face au manque de mouvement signalé par leurs oreilles intérieures.
J'ai dû expérimenter plusieurs configurations de cockpit avant d'en trouver une qui ne me rende pas malade. En cas de doute, ajoutez davantage de jambes de force et reculez la caméra. Attention à l'échelle! Une unité dans Unity correspond à un mètre en VR, alors gardez un œil sur la taille des éléments que vous créez. Il est facile de créer des objets ridiculement volumineux ou ridiculement minuscules en réalité virtuelle, et les résultats peuvent être troublants..
Lorsque vous avez fini de construire votre vaisseau, créez un cube qui l’entoure et lui parent toutes les primitives du vaisseau. Cela fournira sa boîte de collision et son centre de mouvement. Ajouter un “corps rigide” au cube extérieur et désactivez le rendu (en le décochant dans l'inspecteur). Assurez-vous que le corps rigide est réglé de manière à ce que la cinématique et l'utilisation de la gravité soient désactivées. Ajoutez d’autres corps rigides à chacune des primitives du navire, cette fois en les définissant comme “cinématique,” mais éteindre “utiliser la gravité.”
Déplacez les objets 'CameraRig' et 'SteamVR' dans le cockpit et positionnez-les à l'endroit où la tête de l'utilisateur devrait se trouver à l'intérieur du navire. J'ai utilisé un autre actif gratuit de Unity (un robot humanoïde) pour m'assurer que la position est correctement alignée. Les parent au cube extérieur - cela les fera bouger avec l'objet.
Maintenant, scriptons le bateau! Voici les deux scripts que j'ai créés - Contrôleur de véhicule et Destructeur de véhicule. Le premier lit les entrées de l’utilisateur et donne des impulsions au navire pour le faire bouger. La seconde détecte le moment où le navire entre en collision avec quelque chose étiqueté «rock» et termine la partie. Un petit plus amusant, il divise également le navire en composants, vous permettant de les voir s'envoler lors d'une collision. Le script créera un tableau d'objets que vous devrez renseigner avec toutes les primitives du vaisseau, dans l'éditeur..
Le script affiche également des instructions qui apparaîtront lorsque vous mourrez. Créez un objet TextMesh GameObject et définissez-le “Tu es mort! Tirez pour redémarrer!” Placez ce TextMesh dans le cockpit, associez-le au navire et désactivez son composant de rendu. Ensuite, faites-le glisser sur le “instruction” variable du script VehicleDestroy dans l'inspecteur. Ce texte sera normalement invisible, mais réapparaîtra quand vous mourrez.
Astéroïde
Ensuite, nous allons créer nos astéroïdes. Voici l'astéroïde avec lequel j'ai fini, composé de quelques primitifs collés ensemble, et du shader standard. Rien de trop compliqué, mais c'est joli.
J'ai ajouté un corps rigide et je l'ai étiqueté comme “Roche.” Si vous n'êtes pas familier avec le système de balises unit, consultez la page de manuel correspondante. Fondamentalement, les balises vous permettent d'attribuer des propriétés spéciales aux objets, qui peuvent être détectées lors de collisions, ce qui permet aux scripts de savoir avec quoi ils interagissent. Dans ce cas, la balise fera que l'objet navire détectera qu'il a été touché par quelque chose de dangereux..
Maintenant, écrivez l'astéroïde. Le script ici est “AsteroidInit,” qui fait deux choses.
- Tout d’abord, il aléatoire un peu les astéroïdes pour les rendre distincts, et donne à chacun un coup de pied dans une direction aléatoire.
- Deuxièmement, il détecte si l'astéroïde a été touché par quelque chose étiqueté «balle». Si c'est le cas, il active un émetteur de particules attaché à l'astéroïde et détruit l'objet d'origine.
Arène
Génial! Les deux éléments de base du jeu sont présents. Ensuite, l'arène. Cela peut être n'importe quelle forme, mais assurez-vous que c'est grand. Tourner dans de petits cercles a tendance à rendre les gens malades. Voler tout droit est relativement inoffensif. Marquez tous les rochers des murs pour vous assurer que le navire est détruit s'il entre en collision avec eux. Voici l'arène avec laquelle j'ai fini:
Vous remarquerez que les murs ont une texture d'espace réservé simple que j'ai créée dans GIMP. Pour la plupart, j'ai conçu le jeu avec une esthétique sans texture pour plus de simplicité. Cependant, j’ai eu du mal à dire quand j’étais sur le point de cogner contre un mur, ils ont donc des textures à des fins de jeu. J'ai également ajouté un émetteur de particules à l'arène, le remplissant de particules statiques ténues et de longue durée. Il est ainsi plus facile de savoir comment vous vous déplacez lorsque vous n'êtes pas à proximité d'un objet. Heureusement, l'arène est plutôt passive, elle n'a donc pas besoin de script elle-même.
Enfin, créez une primitive (j’ai utilisé un cylindre creux) et placez-la contre un mur..
Ce sera votre géniteur d'astéroïdes. Attachez ce script à cela. Vous remarquerez que ce script déclare un “Astéroïde” Variable GameObject, qui devrait être visible dans l'éditeur. Faites glisser votre objet astéroïde sur celui-ci dans l'éditeur. Cela lui permettra de générer un nombre illimité d'astéroïdes, à raison de un par seconde, ce qui donnera au jeu une courbe de difficulté progressant lentement. Placez votre astéroïde d'origine très loin, pour éviter qu'il ne soit détruit accidentellement ou cause des problèmes.
HUD et Gun
À ce stade, la forme la plus élémentaire du jeu est essentiellement jouable. Nous allons maintenant ajouter quelques fonctionnalités secondaires qui lui donnent un peu plus de profondeur. Ce script, attaché à un “TextMesh,” gardera une trace de combien de temps vous avez été en vie. Un second script va parler à un fichier pour déterminer votre meilleur score, qui est écrit dans le fichier par le gestionnaire de véhicule lorsque vous redémarrez. Maintenant, vous avez un système de tableau de bord simple, donnant au joueur un but. Ancrez ces mailles dans le cockpit où elles sont facilement visibles.
Enfin, nous devons implémenter les armes à feu de l'utilisateur. Ajouter un “pistolet” object au vaisseau (ça n’a pas besoin d’être compliqué), et glissez ce script dessus. Vous aurez besoin de lier un objet balle, qui peut être n'importe quel objet avec un corps rigide et la balise 'balle'. Faites-le de couleur vive, afin qu'il soit visible. Encore une fois, placez-le loin, de sorte qu'il n'interagisse pas. Enfin, vous devrez faire un affichage de munitions. Ajoutez ce script à un autre maillage de texte et ancrez-le dans le cockpit où il est facile de voir..
Réglage fin
C'est à peu près ça! À ce stade, tous les éléments de base du jeu sont terminés. Maintenant il est temps de tester. Vous pouvez modifier la plage de taille des astéroïdes, la forme et la taille de l'arène, la vitesse du navire, la quantité de munitions, le taux de recharge et le temps de recharge. Vous pouvez expérimenter le comportement du navire. Si vous le souhaitez et que vous possédez des compétences en modélisation 3D, vous pouvez même remplacer mon art de programmeur par de réels atouts et en faire un jeu raffiné. L'important est d'expérimenter beaucoup et de trouver ce qui vous fait du bien et qui est confortable pour les testeurs (de préférence des testeurs débutants en VR et qui n'ont pas encore développé d'estomac en fer)..
Si vous voulez voir tout le projet Unity et le déranger, vous pouvez le télécharger ici. Si vous voulez juste jouer à ma version du jeu final, vous pouvez la télécharger ici.
Construire vos propres démos
Si vous suivez votre propre didacticiel et que vous fouillez dans la documentation lorsque vous trouvez quelque chose que vous ne comprenez pas, vous obtiendrez une très bonne gestion de la création de jeux VR de base dans Unity. Quand vous voulez aller plus loin, vous serez bien équipé pour le faire.
Cela étant dit, le développement de jeux de réalité virtuelle est très différent du développement de jeux traditionnel. Je vais donc donner quelques conseils généraux pour concevoir des expériences de réalité virtuelle qui soient confortables et exploitent pleinement le support..
Mouvement
Tout d’abord et surtout, respecter le mouvement de la tête de l’utilisateur. Ne pas le redimensionner, le déformer, changer le champ de vision ou déranger les bases. Oculus et Valve ont eu beaucoup de mal à peaufiner ce matériel pour ne pas rendre les gens malades. Sauf si vous avez des psychologues spécialistes de la perception, vous n'êtes pas qualifié pour le manipuler. Non! Veillez également à ne jamais l'éteindre. Ne créez pas de menus sans suivi de la tête. Rien ne vous rend malade plus rapidement qu'un objet énorme collé à votre tête pendant dix secondes ou plus!
Dans le même esprit, soyez prudent avec le mouvement. Le principal facteur qui rend les gens malades est lorsque leurs yeux perçoivent un mouvement que leur oreille interne ne comprend pas. En général, maintenez le mouvement lent et régulier. Les accélérations doivent être instantanées et la rotation minimisée. Lorsque la rotation doit avoir lieu, fournissez à l'utilisateur des points de référence fixes dans sa vision périphérique. Si vous le pouvez, créez des jeux qui se déroulent sans aucun mouvement. Il y a BEAUCOUP de choses sympas que vous pouvez faire dans une seule pièce ou avec de petits objets (pensez aux jeux de stratégie en temps réel 4 excellents jeux de stratégie en temps réel que vous pouvez jouer à bon marché 4 excellents jeux de stratégie en temps réel que vous pouvez jouer à pas cher Le genre de la stratégie en temps réel est l’un des produits de base du jeu. D'autres genres, comme les jeux de tir à la première personne et les jeux de rôle, sont saturés de centaines de titres différents, mais la stratégie en temps réel ne tient pas… Read More on the hommes d’armée en plastique), et il sera beaucoup plus facile de rendre ces expériences confortables et agréables.
UI
Beaucoup de gens, lorsqu'ils commencent à développer du contenu de réalité virtuelle, veulent automatiquement attacher des éléments à la tête de l'utilisateur, tels que des affichages militaires Heads Up. Malheureusement, cela ne fonctionne pas très bien. Lorsque vos yeux sont focalisés sur tout ce qui est loin dans le monde, les objets proches de votre tête deviendront un désordre flou de pixels. De plus, se concentrer sur des objets très proches provoque une fatigue oculaire.
Pour éviter cela, essayez de mettre votre interface utilisateur au monde autant que possible. Regardez des jeux comme Dead Space pour vous inspirer. Vous remarquerez que dans AsteroidsVR, le cemo ci-dessus, toute l'interface utilisateur est ancrée dans le cockpit. Parce que c'est dans l'espace autour de vous, toute l'interface utilisateur a un sens et est confortable à regarder.
Sur une note connexe, faites attention au texte. Les casques VR actuels ont une résolution assez basse, en particulier lorsque vous prenez en compte la quantité de champ visuel qu’ils couvrent. Cela signifie que le texte peut être assez difficile à lire. Essayez de vous en servir le moins possible. Le texte que vous avez doit être suffisamment grand pour être très lisible dans des conditions de visualisation normales. N'oubliez pas que certains de vos joueurs peuvent être âgés ou malvoyants! Err du côté de trop gros.
Graphique
Rappelez-vous que la réalité virtuelle est très intensive. Le DK2 doit fonctionner à 1080p, en 3D, à 75 images par seconde. Le consommateur Rift et le HTC Vive fonctionneront à des résolutions et à des cadences encore plus élevées. Si vous n'atteignez pas ces fréquences d'images, vous obtiendrez une vision double vacillante. C'est extrêmement bouleversant, et un aller simple pour le désorientation et la fatigue oculaire.
En conséquence, vous devrez faire beaucoup plus attention à la performance que vous ne le feriez normalement. Cela signifie qu'il faut réduire le nombre de poly-comptages et minimiser les effets graphiques coûteux. Utilisez des modèles simples, limitez le nombre de lumières, désactivez les ombres dynamiques et essayez de faire en sorte que le plus grand nombre possible d'objets utilise le même matériau. Vous devez également marquer les objets qui ne changent ni ne se déplacent comme “statique” dans l'inspecteur. Cela permet à Unity de les regrouper plus facilement et d’économiser les performances. Lorsque vous le pouvez, intégrez ces limitations à la conception de votre jeu en choisissant une esthétique cartoony pour votre jeu. En général, si vous pouvez éliminer un effet visuel sans nuire au jeu, faites-le..
La seule exception à cette règle empirique est l'anti-aliasing. Le crénelage (un artefact irrégulier causé par la nature discrète de l'infographie) se produit différemment dans chaque œil, ce qui entraîne une dégradation désagréable de l'effet 3D, ce qui peut entraîner une fatigue oculaire. Utilisez autant d'anti-aliasing que vous pouvez vous permettre (je recommande MSAA) et essayez d'éviter les textures avec des détails visuels à haute fréquence (comme du feuillage, des réseaux fins ou des textures complexes éloignées).
Certains effets visuels conviennent également mal à la réalité virtuelle, même si vous pouvez vous le permettre..
- Faites attention aux effets de post-traitement tels que bloom, qui peuvent entraîner leurs propres disparités stéréo.
- De plus, sachez que la 3D donne une apparence extrêmement mauvaise à certaines astuces visuelles courantes. Les cartes normales, un élément essentiel des jeux vidéo, ont un aspect totalement plat lorsqu'elles sont visualisées de près en VR. Les affiches-panneaux (du type couramment utilisé pour les explosions) ont également l’air plat et peuvent réellement interrompre l’immersion. De même, bon nombre des techniques à base de sprite utilisées pour rendre les débris ou la végétation semblent plates et fausses..
- Enfin, méfiez-vous des objets transparents. Les moteurs de rendu modernes ont du mal à garder la profondeur lorsque vous avez plusieurs objets transparents dans la même scène. Cela devient extrêmement choquant en VR. Essayez de réduire au minimum le nombre d'objets transparents et évitez les scénarios dans lesquels vous pouvez voir un objet transparent à travers un autre..
Gardez tout cela à l'esprit lorsque vous créez des ressources artistiques, et cela vous évitera beaucoup de souffrances..
Si vous constatez que, après avoir désactivé tous ces effets graphiques, votre jeu semble un peu terne, essayez d’utiliser des cartes claires et une fausse occlusion ambiante. Light Maps imprime directement la lumière dans une couche de texture sur la carte, ce qui convient parfaitement à tout ce qui ne bouge pas et peut ajouter beaucoup de profondeur et de solidité à votre monde. Pour les objets dynamiques (comme les personnages), envisagez d'utiliser “goutte d'ombre” textures pour créer une occlusion ambiante. Ce n'est pas tout à fait réaliste, mais cela fait beaucoup pour les ancrer dans le monde, et c'est extrêmement peu coûteux graphiquement!
Avec le temps, ces sortes de hacks seront moins nécessaires, mais pour le moment, vous devrez en tirer parti pour en économiser sur les performances..
Expérimenter tôt et souvent
Le conseil le plus important que j'ai est de laisser tomber vos idées préconçues. La réalité virtuelle n’est pas exactement ce que nous pensions tous être dans les années 90. La réalité s'est avérée avoir de nombreux avantages et limitations que personne ne pouvait prévoir. Ce qui semble génial sur le papier (comme VR Halo) se révèle être un gâchis désorientant et nauséabond en pratique. Quelques-unes des expériences VR les mieux reçues. Simulations VR Oculus Rift Vous devez voir pour croire Des simulations VR Oculus Rift Vous devez voir pour croire Vous avez vu l'Oculus Rift, mais vous n'avez pas encore vu les utilisations aliénées qui ont été faites à. Découvrez ces impressionnantes démos Oculus Rift du monde entier. Lire la suite ont été des trucs vraiment bizarres comme Simulateur d'emploi, un jeu de sandbox dans une cuisine.
La réalité virtuelle est un média totalement nouveau et personne ne comprend encore les règles. Dans les jeux vidéo traditionnels, nous savons à peu près comment créer un FPS, un RPG et un jeu de tir de couverture. Ces genres de base sont cloués. Il existe des meilleures pratiques. Tout nouveau jeu créé est une amélioration incrémentale, mais ce n’est généralement pas un nouveau genre. En VR, il n'y a rien MAIS de nouveaux genres. Les bases du médium n'ont même pas encore été inventées. Personne ne sait ce qu'ils font.
C'est incroyablement excitant, mais cela signifie que vous devez être flexible. Si vous avez une idée géniale, alors faites-le! Immédiatement! Obtenez un prototype fini aussi vite que possible et voyez si cela fonctionne. Mais, soyez prêt à laisser l'expérience échouer. Si votre idée n’est pas amusante ou si elle rend vos testeurs malades, jetez-la et essayez quelque chose de nouveau..
Faites un nouveau jeu chaque semaine, voire tous les jours, jusqu'à ce que vous trouviez de l'or. Plus vous réalisez de prototypes ratés, plus vous avez de chances d'inventer quelque chose de vraiment cool. Faire des jeux étranges. Faire vraiment jeux étranges. Personne ne sait ce qui va marcher et ce qui ne va pas, alors jetez un large filet. Vous pourriez être surpris par ce qui s'avère génial.
Alors sortez, faites quelques jeux et, surtout, amusez-vous!
Explorez plus sur: Développement de jeux, Guide de longue forme, Conception de jeux vidéo, Réalité virtuelle.