Black Days
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

Tuto Général UDK

2 participants

Aller en bas

Tuto Général UDK Empty Tuto Général UDK

Message  Calimero Sam 3 Juil - 12:00


Introduction à UDK
(Unreal Development Kit)



SOMMAIRE

Introduction
Présentation des dossiers
Unrealscript
Fichier .ini
Créer les menus
Fichiers de Langue
Cooking
Création de l’installeur
Erreurs éventuelles
Astuces
Conclusion




Introduction

Ce tutoriel est la pour vous expliquer comment fonctionne UDK (architecture, dossier, etc) et comment nous allons l’utilisé pour créer notre jeu Black Days de toutes pièces. Mais tout d’abord, il faut comprendre ce qu’est UDK, où le trouver et comment l’installer.

Qu’est ce qu’UDK ?
UDK (ou Unreal Development Kit) est un kit pour développeur (amateur et professionnel) pour la conception et la réalisation de jeux-vidéo. Il utilise l'Unreal Engine 3, moteur 3D de jeux utilisé dans des titres tels que Gears of Wars ou Unreal Tournament 3. Il contient entre autres un éditeur de niveau, un outil de modélisation et d’animation et bien évidement, un compileur.

Où puis-je me procurer UDK ?
UDK est distribué gratuitement (pour un usage non commercial) sur le site officiel : http://udk.com/download.html
L’installeur pèse 536 MB et nécessite les configurations suivantes :

Minimum
• OS : Windows XP SP2 ou Windows Vista
• Processeur : 2.0+ GHz
• RAM : 2 GB
• Carte vidéo : compatible SM3
• Disque Dur : 3 GB d’espace libre
Recommandées
• OS : Windows Vista 64bit SP2
• Processeur : 2.0+ GHz à plusieurs cœurs
• RAM : 8 GB
• Carte vidéo : compatible SM3, série NVIDIA 8000 ou supérieures
• Disque Dur : espace libre abondant

Comment puis-je installer UDK ?
Une fois le fichier téléchargé, il est nécessaire de lancer l’installation du logiciel. Elle se déroule comme toute autre installation. Si une erreur se produit lors de l’installation, vous pouvez vérifier l’intégrité du fichier téléchargé grâce au code MD5 suivant : « 65f5d9ef7290583da12b3d35d44b113b ».



Présentation des dossiers

Il y a 4 dossiers principaux dans votre dossier d'installation d’UDK :
• Binaries : Il contient l'exécutable du jeu, l'UnrealFrontEnd, et d'autre programmes. Ces fichiers ne sont pas censé être modifiés.
• Developement : Il contient le code source du jeu : les fichiers Unrealscript (extension .uc). Le jeu prend les fichiers trouvé dans ce dossier et les compile en un fichier .U.
• Engine : Contient les fichiers requis par le moteur.
• UTGame : Le dossier qui contient tous les fichiers du jeu.


A l'intérieur du dossier UTGame vous avez les dossiers suivant, les plus importants :
• Config : Il contient des fichiers aux extensions .ini. Ils déterminent pas mal de choses et sont vitaux pour le bon fonctionnement de l’éditeur et du jeu.
• Content : Il contient le contenu du jeu : niveaux, sons, packages, modèles 3D , etc.
• Localization : Il contient les fichiers servant aux différents langages du jeu. (Texte, textes des menus, Sous-tritrages,etc).
• Movies : Il contient les fichiers vidéo d'introduction, de chargement, etc. ce sont des vidéos encodées en .bik (Bink).
• script : C’est le dossier dans lequel atterrissent les fichiers script compilé (.u).
• Splash : Il contient les splashscreens (image qui apparaissent à l'écran lors des chargements sur le bureau). L'un pour l'éditeur, l'autre pour le jeu.

/!\Attention ! Si nous désirons faire nos propres splash, il faut obligatoirement y faire figurer le logo UDK et le copyright UDK. /!\

Les autres dossiers ne sont pas très important. L'essentiel du jeu se passe dans ceux énuméré ci-dessus. Si vous voulez installer un SVN (système de gestion de versions), ce sont ces dossiers la qu'il faudra mettre en commun.

Dans le dossier UTGame\Content vous pouvez trouver beaucoup de fichiers venant d'UT3. Il est préférable d'éviter la suppression de ce contenu car il y a quelques références à ces actifs (via l'éditeur). Quand nous créerons nos packages, les fichiers d'UT3 seront automatiquement ignoré, donc il n'est pas nécessaire de faire une suppression manuelle des fichiers. Le plus simple pour s'y retrouver est de créer un dossier contenant nos fichier.
* UTGame\Content\Jeu\Level
* UTGame\Content\Jeu\Package

Deux dossier, l'un pour les niveaux, l'autre pour les fichiers UPK (tous le contenu restant est dans un ou plusieurs packages). Nous ne sommes pas obligés d'utiliser un million de dossier comme UT3. La plupart des jeux ont juste quelques packages pour l'ensemble du jeu. Un exemple avec The Ball, avec 1,5Go de donnée, il y a seulement 20 fichiers UPK.



Unrealscript

Ce n'est pas un tutoriel sur l'Unrealscript, donc un simple aperçu de ce langage suffira. Le principe basique de l’Unrealscript est que toutes les entités sont des parent/descendants d'une entité. Tous les enfants récupèrent donc les variables et fonctions du parent. C’est ce que l’on appelle de la programmation orienté objet, c'est très simple à comprendre : c'est le principe de l'héritage.
Si nous n'effectuons aucun changement par le biais de notre classe, les deux classes seront alors identiques (étant donné qu’elles contiennent la même chose).
A la fin nous trouverons "DefaultProperties". Ce sont les propriétés qui seront visibles dans l'éditeur avec les valeurs par défaut... Ainsi, toutes valeurs non spécifié prennent la valeur par défaut définie dans son parent. Si elle n'est pas spécifié dans le parent, remonter un cran au dessus, etc... C'est comme un arbre généalogique/une pyramide.

L'étape suivante consiste à compiler le code. La première chose à faire est d'être sur que le jeu connait l'existence de notre code en ajoutant le .U à la liste de ceux à chercher.
Pour ce faire, il suffit d’aller dans le dossier UTGame\Config, d’ouvrir le fichier "defaultEngine.ini" et d’y ajouter le nouveau package à la suite comme ceci :
+EditPackages=UTGame
+EditPackages=UTEditor
+EditPackages=UTGameContent
+EditPackages=”NouveauPackage”

L'ordre des lignes est très important ! Tout simplement parce qu'il détermine l'ordre de chargement et de compilation (l'enfant ne peut pas être chargé avant le parent !). Cette ligne fera en sorte de compiler le code en un fichier U qui sera ainsi chargé à chaque démarrage de l'éditeur.
Il faut penser à désactiver l'option "lecture seule" du fichier, à sauvegarder, puis à la remettre et enfin supprimer le fichier UTEngine.ini (ce fichier est générer en fonction de celui qui vient d'être édité, sauf qu'il n'est pas mis à jour tant qu’il n’est pas supprimer, en le supprimant, on oblige l'éditeur/jeu à le recréer en se basant sur le default).

L'étape suivante consiste à aller dans le dossier Binaries et de lancer l'UnrealFrontEnd. Le FrontEnd est un outil très important qui permet un certain nombre de choses. Pour l’utiliser pour compiler le code, il faut, dans la barre d'outil en haut (en dessous de file, edit, etc.), cliquer sur la petite flèche à droite de "Make", puis sur "Full Recompile".

/!\ Attention, nous ne pouvons compiler notre code si l'éditeur est ouvert.
Toute mise à jour du code nécessite une fermeture de l'éditeur. /!\



Fichier .ini

Les fichiers .ini sont des fichiers de configurations des applications Windows et UNIX.
Il faut donc maintenant faire en sorte que le jeu utilise notre configuration (notre gametype et notre pawn) et non celle par défaut.
Pour cela, il faut ouvrir UTGame\Config\DefaultGame.ini (en désactivant la lecture seule), puis aller à la section "[Engine.GameInfo]".
- Rempacez "DefaultGame=UTGame.UTDeathmatch" avec "DefaultGame=NouveaupackageGame. NouveaupackageGameInfo".
-Remplacez "PlayerControllerClassName=UTGame.UTPlayerController" avec "PlayerControllerClassName=NouveaupackageGame.NouveaupackageController"


Voilà plus en detail l’organisation d’un fichier .ini :
• MapExt=udk - Pas obligatoire du tout, mais permet spécifier l'extension de nos map. C'est purement esthétique.
• Map=UTFrontEnd.udk –Permet de charger notre menu par défaut comme menu principal.
• LocalMap=UTFrontEnd.udk - A changer comme le précédent.

Dans la section [Engine.StartupPackages], ajouter "+Package=Nouveau" force l'éditeur à charger notre package, ce n'est pas nécessaire pour tous, juste ceux qui contiennent l'interface. Le reste n'a pas besoin d'être dans la liste.

Dans la section [Engine.PackagesToForceCookPerMap], Ajoutez ".Map=Nouveau-menu", immédiatement suivit par ".Package=Nouveau_ui".
Cela forcera le menu et son package à être chargé si nous sommes dans un niveau. Il y a certains bugs parfois, forcer la recompilation peut résoudre ces soucis, d'où la manipulation.

La section [FullScreenMovie] sert à définir les vidéos utilisées par le jeu.

Pour forcer le nouveau fichier à se baser sur le Default, sauvegardons et supprimons le fichier UTGame.ini.



Fichiers de Langue

Les fichiers de localisation (.int) contiennent tous les textes de votre jeu. Pour changer la langue du jeu tout ce que nous avons besoin c'est de faire un autre fichier directement dans la langue désiré. Ces fichiers sont contenu de le dossier "Localization". Première chose, fermons l'éditeur, car il est impossible pour l'éditeur de prendre en compte les changements de fichier sans le redémarrer, fichier de localisation compris.

[ExampleOfASection]
01=Most Awesome Title Ever
02=To play click the button

Le premier mot désigne une section, les seconds, référés à des numéros, sont des valeurs de textes. Nous pouvons utiliser autre chose que des nombres, cela n'a pas d'importance.

Ouvrons l'éditeur et rouvrez votre menu, puis clic droit > Place widget > label [standard], et une deuxième fois pour en avoir un second.Allons dans les propriétés à droite, et allez dans Data > data source > mark up string.


Ajoutez : "" dans le Markup string.
Cela marche comme ça :
NomDuFichierInt.NomDeLaSection.NomDeLaLine
Même procédure pour le second.



Cooking

La phase finale, le cooking. Il consiste à faire une compilation finale de nos paquets et de nos maps afin de les diffuser. Cette compilation permet de protéger le contenu de nos paquets, pour empêcher la diffusion de leur contenu par exemple, mais aussi pour les compresser. Le cooking sert à réunir tous nos fichiers de jeu dans quelques packages.
Pour se faire, ouvrons l'Unreal FrontEnd, puis allons sur l'onglet "cooking". Dans le champ "map to cook" mettons le nom de notre niveau sans son extension. Souvenez vous que notre menu sera automatiquement compilé, pas la peine de le faire.


Cliquons sur le bouton "Cook". Si tout vas bien, rien à faire. Si cela ne vas pas, ce sera indiqué dans la partie droite du FrontEnd.



Création de l’installeur

Faisant partie de la phase finale, la compilation permet de créer l’installeur du jeu. Pour ce faire, cliquons sur "Package Game" dans l'Unreal FrontEnd et entrons le nom du jeu. Après quelques minutes l’installateur sera dans le dossier principal.



Erreurs éventuelles

Dans le cas d’une erreur :
• Vérifiez que vous n'avez fait aucune erreur de syntaxe.
• Vous ne pouvez modifier les fichiers .ini avec l'éditeur d'ouvert, cela n'aura aucun effet.
• Vérifiez que votre script compilé U est bien dans le dossier UTGame\script
• Vérifiez que vos noms de fichier sont uniques. Pour UDK, Doghouse.udk et Doghouse.upk reviennent au même, car il ne voit pas les extensions.
• Un problème ? Vérifiez votre log (UTGame\Logs\Launch.log). Lancez le jeu/éditeur avec la commande -log (dans le raccourcie, après le .exe).
• le préfixe sur votre jeu est important, c'est ce qui permet au jeu de déterminer le type du jeu et vos configurations.
• Si vous avez des erreurs de type "Superclass error", vous avez mis la ligne "+EditPackages= NouveauPackage" au mauvais endroit, l'ordre des lignes est très important.



Astuces

Pour passer UDK de clavier qwerty en clavier azerty (histoire de pouvoir utiliser ZQSD dans l'éditeur et dans le jeu...).

1) -Aller dans "...\UDK\UDK-2009-11\Engine\Config"
-Faire une copie de "BaseInput.ini"
-Enlever la lecture seul (de l'original)
-Ouvrir le fichier puis changer :

Bindings=(Name="W",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="A",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")


par

Bindings=(Name="Z",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="Q",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")


Attention aux doublons !
Il ne faut surtout pas qu'une même lettre soit attribuée à plusieurs fonctions, sans quoi UDK crash.

Donc, dès que vous voyez un W, remplacez-le par un Z, de même avec un Q par un A et un A par un Q.
Sauvegarder le fichier et remettre la lecture seule.

2) -Aller dans "...\UDK\UDK-2009-11\UTGame\Config"
-Faire une copie de "DefaultInput.ini"
-Enlever la lecture seul (de l'original)
-Ouvrir le fichier puis changer :
Bindings=(Name="W",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="A",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")


par
Bindings=(Name="Z",Command="MoveForward")
Bindings=(Name="S",Command="MoveBackward")
Bindings=(Name="Q",Command="StrafeLeft")
Bindings=(Name="D",Command="StrafeRight")



Conclusion

Ayant choisis UDK pour le projet Black Days, je pense qu’il est important que les membres du projet sachent comment fonctionne le logiciel afin de l’utiliser correctement. C’est pourquoi j’ai créé ce petit dossier à partir de tout ce que j’ai pu trouver sur le net. Je pense bien qu’il est très loin d’être parfait mais j’espère tout de même que ceux qui ont pris la peine de le lire on enrichit leurs connaissances du monde d’UDK.


Voici le lien pour télécharger ce tuto : Lien de téléchargement

Calimero

Messages : 24
Date d'inscription : 07/11/2009
Age : 32
Localisation : Rhone-Alpes

Revenir en haut Aller en bas

Tuto Général UDK Empty Re: Tuto Général UDK

Message  thedoux Sam 12 Mai - 23:47

Sa serait possible de le reupload ? Very Happy

thedoux

Messages : 1
Date d'inscription : 12/05/2012

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum