Aujourd’hui, nous continuons notre cadeau du livre de recettes CryENGINE 3, et vous donnons la chance d’avoir un aperçu du contenu de ce livre étonnant. Vous trouverez ci-dessous le deuxième des trois chapitres suivants que nous publierons cette semaine. Si vous n'êtes pas encore inscrit pour courir la chance de gagner un exemplaire du livre, découvrez comment après le saut.!
L’automne est enfin arrivé et nous commençons avec style en faisant équipe avec Packt Publishing pour vous permettre de gagner l’un des trois exemplaires de leur très attendu livre de recettes CryENGINE 3, écrit par Dan Tracy et Sean Tracy, de Crytek. Avec la récente sortie de CryENGINE 3, c’est le moment idéal pour commencer à travailler avec l’un des moteurs de jeu les plus puissants du marché..
Cet article traitera de la plupart des outils que vous utiliserez régulièrement, ainsi que des éléments essentiels pour créer de nouveaux niveaux passionnants pour votre projet. Il inclura également l'utilisation de l'une des plus grandes fonctionnalités de CryENGINE dans Ce que vous voyez, c'est ce que vous jouez en montrant comment vous pouvez jouer le niveau que vous avez créé à la demande..
Dans cet article de Dan Tracy, auteur de CryENGINE 3 Cookbook, nous couvrirons:
Placer des objets est une tâche simple. Cependant, la capture de terrain de base n'est pas expliquée à la plupart des nouveaux développeurs. Il est commun de demander Pourquoi, en glissant-déposant un objet dans le monde, ils ne peuvent pas voir l'objet. Cette section vous apprendra les moyens les plus simples de placer un objet sur votre carte en utilisant le Suivre terrain méthode.
1. avoir Mon niveau ouvert à l'intérieur de Sandbox (après avoir terminé l'un des Sculpture de terrain ou Générer un terrain procédural recettes).
2. Passez en revue le Naviguer à un niveau avec la caméra Sandbox recette pour se familiariser avec le Vue de perspective.
3. avoir le Barre d'appui ouvert et prêt.
4. Assurez-vous d'avoir le Barre d'outils EditMode ouvrir (clic droit sur le haut Barre d'outils et coche Barre d'outils EditMode).
Sélectionnez d'abord le Suivre terrain bouton. Puis ouvrez le Objets onglet dans le Barre d'appui. Maintenant du Des pinceaux navigateur, sélectionnez tout objet que vous souhaitez déposer (par exemple, valeurs par défaut / boîte).
Vous pouvez soit double-cliquer sur l'objet, soit le faire glisser et le déposer sur le Vue de perspective. Déplacez votre souris n'importe où sur un terrain visible, puis cliquez une nouvelle fois pour confirmer la position dans laquelle vous souhaitez le placer..
le Suivre terrain outil est un outil simple qui permet au pivot de l’objet de correspondre à la hauteur exacte du terrain à cet endroit. Ceci est mieux visible sur les objets qui ont un point de pivot près ou près du bas.
Vous pouvez également suivre le terrain et capturer des objets. Cette méthode est très similaire à la Suivre terrain méthode, sauf que cela inclut également les objets lors du placement ou du déplacement de l'objet sélectionné.
Cette méthode ne fonctionne pas sur les objets non physique.
Après avoir placé les objets dans le monde avec juste le Suivre terrain ou Accrochage aux objets, vous constaterez peut-être qu'il vous faudra ajuster la position, la rotation ou l'échelle de l'objet. Dans cette recette, nous allons vous montrer les bases de la procédure à suivre, ainsi que quelques raccourcis clavier pour rendre ce processus un peu plus rapide. Cela fonctionne avec tout objet placé dans votre niveau, de Entités à solides.
1. avoir Mon niveau ouvert à l'intérieur de Sandbox
2. Passez en revue le Naviguer à un niveau avec la caméra Sandbox recette pour se familiariser avec le Vue de perspective.
3. Assurez-vous d'avoir le Barre d'outils EditMode ouvrir (clic droit sur le haut Barre d'outils et coche Barre d'outils EditMode).
4. Placez n'importe quel objet dans le monde.
Dans cette recette, nous appellerons votre objet (celui dont vous souhaitez affiner l'emplacement) Box pour plus de facilité.
1. Sélectionnez Boîte.
2. Après avoir sélectionné Boîte, vous devriez y voir un widget à trois axes, qui représente chaque axe dans un espace 3D. Par défaut, ces axes sont alignés sur le monde:
* Y = Forward
* X = Droite
* Z = Up
Pour déplacer le Boîte dans l'espace mondial et changez de position, procédez comme suit:
3. Cliquez sur le Sélectionner et déplacer icône dans le Barre d'outils EditMode (1 pour le raccourci clavier).
4. Cliquez sur le X flèche et faites glisser votre souris de haut en bas par rapport à la direction de la flèche.
5. Relâchez le bouton de la souris pour confirmer le changement de lieu..
Vous pouvez déplacer des objets sur un seul axe, ou deux en même temps, en cliquant sur le plan adjacent à deux axes et en le faisant glisser: X + Y, X + Z ou Y + Z. Pour faire pivoter un objet, procédez comme suit: :
1. Sélectionnez Boîte (si vous ne l'avez pas déjà fait).
2. Cliquez sur le Sélectionner et faire pivoter icône dans le Barre d'outils EditMode (2 pour le raccourci clavier).
3. Cliquez sur le Z flèche (il y a maintenant une sphère à la fin de celle-ci) et faites glisser votre souris d'un côté à l'autre pour faire rouler l'objet par rapport à l'axe.
4. Relâcher le bouton de la souris confirmera le changement de rotation.
Vous ne pouvez pas faire pivoter un objet selon plusieurs axes. Pour redimensionner un objet, procédez comme suit:
1. Sélectionnez Boîte (si vous ne l'avez pas déjà fait).
2. Cliquez sur le Sélectionner et mettre à l'échelle icône dans le Barre d'outils EditMode (3 pour le raccourci clavier).
3. Cliquez sur le CENTRE boîte et faites glisser votre souris de haut en bas pour redimensionner les trois axes à la fois.
4. Relâcher le bouton de la souris confirmera le changement d'échelle.
Il est possible de mettre à l'échelle sur un seul axe ou deux axes; cependant, c'est très découragé Mise à l'échelle non uniforme entraînera des maillages physiques brisés pour cet objet. Si vous souhaitez qu'un objet soit mis à l'échelle, nous vous recommandons de ne l'adapter uniformément que sur les trois axes.!
Voici quelques moyens supplémentaires de manipuler des objets dans le monde..
Pour simplifier un peu le raffinement de la position ou de la rotation, essayez de modifier la position ou la rotation du widget en le modifiant pour l'aligner sur le pivot de l'objet. Pour ce faire, il existe un menu déroulant dans le menu Barre d'outils EditMode qui aura la possibilité de sélectionner Local. C'est appelé Direction locale.
Cette configuration peut aider à positionner votre objet après l'avoir tourné..
Pour vous aider à positionner des objets non organiques, tels que des bâtiments ou des routes, vous pouvez activer le Aligner sur la grille option. L'activation de cette fonctionnalité vous permettra de déplacer l'objet sur une grille (actuellement par rapport à son emplacement). Pour changer l'espacement de la grille, cliquez sur la flèche déroulante en regard du numéro pour modifier l'espacement (l'espacement de la grille est en mètres)..
Angle Snaps se trouve immédiatement à droite de la Grille instantanée. Activer cette fonction vous permettra de faire pivoter un objet tous les cinq degrés.
Même s’il s’agit d’un raccourci clavier, ce raccourci est extrêmement utile à de nombreux développeurs pour le placement initial des objets. Il vous permet de déplacer rapidement l’objet en un point quelconque de la surface physique par rapport à votre Vue de perspective.
Une question fréquemment posée à propos de CryENGINE est la suivante: comment un développeur travaille-t-il au même niveau qu'un autre à la fois? La réponse est-Couches. Dans cette recette, nous allons vous montrer comment vous pouvez utiliser le système de couches non seulement pour votre propre organisation, mais également pour configurer des couches externes sur lesquelles d'autres développeurs pourront travailler en parallèle..
1. avoir Mon niveau ouvert à l'intérieur de Sandbox.
2. Passez en revue le Naviguer à un niveau avec la caméra Sandbox se familiariser avec le Vue de perspective.
3. avoir le Barre d'appui ouvert et prêt.
4. Passez en revue le Placer les objets dans le monde (placez au moins deux objets) recette.
1. Pour cette recette, nous supposerons que vous avez votre propre référentiel pour votre projet ou des moyens d'envoyer votre travail à d'autres membres de votre équipe..
2. Commencez par placer deux objets sur la carte. Par souci de recette, nous les désignerons par Box1 et Box2. Après avoir placé les deux cases, ouvrez le Barre d'appui et élever le Couches languette.
3. Créer un Nouvelle Couche en cliquant sur le bouton Nouveau calque (papier avec un symbole +).
4. un Nouvelle Couche boîte de dialogue apparaîtra. Donnez-lui les paramètres suivants:
* prénom = ActionBubble_01
* Visible = Vrai
* Externe = Vrai
* Congelé = Faux
* Exporter au jeu = Vrai
5. Maintenant, sélectionnez Box1 et ouvrez le Objets onglet dans le Barre d'appui.
6. À partir de là, vous verrez dans le sommaire principal de cet objet des valeurs telles que - prénom, Taille d'assistance, MTL, et Spec minimal. Mais aussi dans ce rollup, vous verrez un bouton pour les calques (il devrait être étiqueté comme principal). Cliquez sur ce bouton pour afficher une liste de tous les autres calques disponibles..
7. Cliquez à nouveau sur un autre calque non mis en surbrillance pour déplacer cet objet vers ce calque (faites-le maintenant en cliquant sur ActionBubble_01).
8. Enregistrez maintenant votre niveau en cliquant sur-Fichier | sauvegarder.
Maintenant dans votre construire dossier, allez à l’emplacement suivant: -? \ Game \ Levels \ My_Level. À partir de là, vous remarquerez un nouveau dossier appelé Couches. Dans ce dossier, vous verrez ActionBubble_01.lyr.
Cette couche doit être la couche sur laquelle vos autres développeurs travailleront. Pour qu'ils puissent le faire, vous devez d'abord vous engager My_Level.cry et le Couches dossier dans votre référentiel (il est plus facile de valider tout le dossier).
Ensuite, vous pouvez demander à votre autre développeur d’apporter des modifications à cette couche en déplaçant Box1 à un autre endroit. Puis demandez-leur de sauvegarder la carte.
Demandez-leur de s'engager seulement la ActionBubble_01.lyr au référentiel. Une fois que vous l'avez récupéré du référentiel mis à jour, vous remarquerez que Box1 aura déménagé après avoir rouvert My_Level.cry dans l'éditeur avec la dernière couche.
Les couches externes sont la clé de tout ce processus. Une fois par .cri le fichier a été enregistré pour référencer une couche externe, il accédera aux données à l'intérieur de ces couches lors du chargement du niveau dans le bac à sable.
C’est une bonne pratique d’attribuer un Propriétaire de la carte qui va s'occuper du .cri fichier. S'agissant du fichier maître, une seule personne devrait en assurer la maintenance en créant de nouveaux calques si nécessaire..
Voici une liste des limitations de ce que les couches externes ne peuvent pas contenir.
Même si toute entité / objet que vous placez dans votre niveau peut être placé dans des calques externes, il est important de noter que certains éléments ne peuvent pas être placés à l'intérieur de ces calques. Voici une liste des éléments communs qui appartiennent uniquement à la .cri fichier:
* Heightmap
* Taille de l'unité
* Hauteur maximale du terrain
* Des trous
* Textures
* Hauteur de l'océan
CryENGINE est fier du dicton Ce que vous voyez est ce que vous jouez, et le passage en mode de jeu en témoigne..
Il va sans dire que le test de votre travail est souvent la clé du succès d'un projet et de la simplicité d'utilisation du passage à Mode de jeu dans le Éditeur vous permet de tester à volonté sans avoir besoin de fermer Sandbox.
Même si l'éditeur est construit avec cette fonctionnalité pour permettre aux développeurs de vérifier leur travail, il ne s'agit toujours que d'une émulation. Cela signifie que plusieurs règles spéciales et options de débogage spéciales sont disponibles dans ce mode, ce qui n’est pas totalement représentatif de ce que le lecteur pourrait voir dans la liste. Jeu pur. Même si c’est une excellente idée de tester souvent en passant en mode jeu, il est également important de procéder aux derniers tests dans le Lanceur sur votre plate-forme cible pour avoir un bon Jeu pur expérience.
Dans cette recette, nous aborderons l'utilisation simple mais très importante du passage au mode de jeu. Cette fonction vous permet de passer instantanément à votre niveau et de tester ce que le joueur verra, entendra et ressentira à l’endroit où vous vous trouvez avec votre Caméra perspective.
Avoir Mon niveau ouvert à l'intérieur de Sandbox.
Revoir le Naviguer à un niveau avec la caméra Sandbox se familiariser avec le Vue de perspective.
Dans la barre d’outils principale de Sandbox, trouvez Jeu | Passer au jeu ou cliquez sur Ctrl + G. C'est si simple.
La logique du jeu peut changer le lieu de frai initial du joueur. Si cette logique est activée, vous serez obligé de générer à cet emplacement également lorsque vous entrerez en mode de jeu..
En surface, enregistrer votre niveau semble être un processus simple. Cependant, vous devez être conscient de quelques fonctionnalités importantes lorsque vous enregistrez votre niveau. Cette recette va vous montrer comment faire une sauvegarde de base, en copiant / déplaçant votre niveau ne pas utilisation Enregistrer sous), et sauvegardes automatiques.
Avoir n'importe quel niveau ouvert dans Sandbox.
Ouvrez l'explorateur Windows à l'emplacement suivant: ? \ CryENGINE_Build \ Jeu \ Niveaux.
Pour sauvegarder un niveau, allez à Fichier | sauvegarder.
Ctrl + S ne fonctionne pas par défaut. Vous aurez besoin de configurer vous-même un raccourci clavier pour cela..
Lorsque vous copiez / déplacez des niveaux:
1. Initialement, sauvegardez votre niveau à son emplacement par défaut.
2. Accédez à l'emplacement du niveau dans l'Explorateur Windows (? \ Jeu \ Niveaux).
3. À l’aide des commandes Windows, copiez / coupez l’ensemble Mon niveau dossier.
4. Collez le niveau dans l'emplacement souhaité.
5. Si nécessaire, renommez les deux Mon niveau dossier et My_Level.cry à quelque chose que vous préférez.
Nous vous recommandons de ne jamais effectuer de Enregistrer sous pour votre niveau. Malheureusement, il existe plusieurs dépendances (Level.pak, TerrainTexture.pak, Couches, Minimap, etc.) qui ne sont pas déplacées ni ne se reconnaissent lorsqu'une Enregistrer sous est effectuée. Ils dépendent tous du dossier dans lequel ils sont placés. Si vous faites cela, vous verrez plusieurs anomalies dans votre niveau (textures brisées, bugs dans la logique du jeu, ressources manquantes)..
Lorsque vous créez une sauvegarde, n'oubliez pas que Sandbox crée par défaut My_Level.bak fichiers après la deuxième / troisième fois que votre niveau est enregistré. Celles-ci .bak les fichiers sont essentiellement les sauvegardes précédentes de votre .cri fichier.
Si, pour une raison quelconque, vous devez revenir à une sauvegarde précédente de votre niveau, vous pouvez supprimer votre My_Level.cry classer et renommer My_Level.bak # à My_Level.cry et rouvrez votre niveau dans Sandbox.
De plus, Sandbox crée par défaut jusqu'à deux révisions précédentes (My_Level.bak et My_Level.bak2).
Par défaut, tous les niveaux sont enregistrés dans leur propre dossier à l’intérieur de ? \ Jeu \ Niveaux par leur nom de niveau. Par exemple, Mon niveau aura son propre dossier avec le dossier du niveau. Une fois enregistré, chaque niveau contiendra également un *.cri fichier, le * étant également le nom du niveau. Chacun de ces .cri les fichiers contiennent toutes les informations nécessaires pour constituer votre niveau (un peu comme un modèle pour votre niveau).
En fonction de votre style de travail, vous souhaiterez peut-être activer le système Auto Backup. Cela enregistrera automatiquement votre travail toutes les X minutes avec le nom de votre choix (Sauvegarde automatique par défaut) dans le dossier de votre niveau. Ces sauvegardes automatiques seront sauvegardées en continu tant que votre éditeur est ouvert ou que vous désactivez cette fonctionnalité..
Pour accéder à cette fonctionnalité, ouvrez Bac à sable | Outils | Préférences | Général / Fichiers | Sauvegarde automatique.
Même si enregistrer votre niveau créera un .cri fichier pour vous, il est extrêmement important de noter qu’un .cri seul ne travaillera pas dans le Lanceur. Pour cela, vous devrez effectuer cette recette, qui créera les fichiers requis pour s'exécuter dans Mode de jeu pur.
Avoir Mon niveau ouvert à l'intérieur du bac à sable.
Aller à Fichier | Exporter vers le moteur ou cliquez sur Ctrl + E.
Cette étape cruciale est nécessaire pour convertir toute la configuration du plan dans votre .cri déposer dans un level.pak à l'intérieur de la Mon niveau dossier à utiliser dans Mode de jeu pur. Ce level.pak est en gros un cache de données à utiliser par le jeu, qui contient toutes les informations cuites sur la logique du jeu, le balisage AI, la liste des particules, la liste des pinceaux, etc..
Voici quelques informations utiles que vous devriez connaître. .pak des dossiers.
Il est possible d'ouvrir ces fichiers .pak et de voir les informations qu'ils contiennent en utilisant un logiciel de compression tiers, tel que WinZIP et WinRAR. Cependant, nous vous recommandons de ne pas effectuer cette opération à moins que vous ne sachiez manipuler les fichiers que vous souhaitez modifier manuellement. Si vous modifiez les fichiers contenus dans ces fichiers .pak, vous courez le risque d'endommager le fichier .pak et de casser votre niveau pour le programme de lancement..
Les fichiers .pak corrompus doivent être supprimés et réexportés
Il n'y a pas lieu de paniquer si, pour une raison quelconque, l'un de vos fichiers .pak était corrompu et inutilisable en mode Gamemode pur. Vous pouvez toujours les supprimer et en générer un nouveau à partir de votre My_Level.cry en répétant cette recette..
Même si nous avons expliqué comment exporter votre niveau pour l’utiliser dans Mode de jeu pur, vous constaterez peut-être que lorsque vous lancez votre niveau, vous n'êtes pas au bon emplacement sur la carte. Cette recette rapide vous montrera comment créer un point de Spawn pour Mode de jeu pur et aussi vous rappeler l'importance d'avoir une surface physique pour frayer sur.
1. avoir Mon niveau ouvert à l'intérieur de Sandbox.
2. Passez en revue le Naviguer à un niveau avec la caméra Sandbox se familiariser avec le Vue de perspective.
3. Passez en revue le Placer les objets dans le monde et Raffinage du placement d'objet recettes.
4. Avoir le Barre d'appui disponible dans votre mise en page Sandbox et prêt.
À moins que votre jeu prenne en charge une sorte de mécanicien en vol du Joueur, nous vous recommandons de choisir un emplacement où le Joueur peut se tenir quand il apparaît pour la première fois dans votre niveau. Toute surface physique (sol, toit, terrain, rocher, etc.) fera l'affaire..
Pour placer un point d'apparition, procédez comme suit:
1. Allez à votre Barre d'appui.
2. Ouvrez le Objets onglet et cliquez sur le Entité bouton.
3. Ouvrez le Autres dossier dans la liste des entités.
4. lieu Spawn Point à l'emplacement où vous souhaitez que le joueur apparaisse.
Ce point de spawn initial fonctionnera automatiquement comme le point de spawn principal de votre carte Mode de jeu pur (tant que vous restez sur la valeur par défaut SinglePlayer.lua Regles du jeu). Si vous sautez dans votre carte depuis le Lanceur maintenant, vous serez engendrés à cet endroit.
Les points d'apparition supplémentaires ne fonctionneront pas à moins qu'une certaine logique de jeu ne soit liée à leurs fonctionnalités..
La recette finale de cet article expliquera comment vous pouvez accéder à la Mode de jeu pur version de Mon niveau du Lanceur.
Vous devez avoir une carte avec un point de réapparition actif (sinon, vous apparaitrez à 0,0,0), qui a été exportée à partir du moteur avec une fonction level.pak.
Le niveau doit également être à l'intérieur de votre Construire dossier.
1. Dans l’Explorateur Windows, ouvrez l’un des deux? \ Bin32 ou? \ Bin64.
2. Lancer l'exécutable Lanceur.exe.
3. Ouvrez la console (~).
4. Tapez ce qui suit: map My_level.
5. Puis appuyez sur Entrer.
Cela chargera la carte ainsi que vous frayer dans le point de frai qui a été fourni.
Dans cet article, nous avons appris les fonctionnalités de base et les plus utilisées fournies par Sandbox..
A propos de l'auteur :
Dan Tracy est le concepteur de niveau technique de Crytek pour les sociétés primées CryENGINE et Crysis 2. Il est responsable de la création et de la maintenance de nombreuses fonctionnalités techniques et applications externes utilisées pour la télémétrie et l'optimisation. Considéré comme plus qu'un concepteur de niveaux, Dan est fier de repousser les limites lorsqu'il s'agit d'améliorer des conceptions techniques et liées au jeu dans plusieurs disciplines de production. Dan a été recruté par Crytek en 2009 après avoir travaillé l'année précédente comme technicien en assurance qualité pour BioWare. Il a été recruté en raison de son rôle pivot dans la co-fondation et le développement du projet de conversion totale primé 'MechWarrior: Living Legends'. Depuis lors, il a figuré dans de nombreux magazines de jeu et a été interviewé par plusieurs médias. Dan est un joueur passionné, mais un modeur et un concepteur de jeux encore plus passionné, possédant de vastes connaissances et une vaste expérience dans le domaine des moteurs et des titres, notamment "Aurora", le moteur de Battlefield, "Frostbite", Unreal 3 et CryENGINE.
Note de l'éditeur: Cet article a été sponsorisé par Packt Publishing.