Dans ce tutoriel, on s'occupe de la construction de croisements. Dans le texte suivant, les différentes méthodes seront expliqués et une petite introduction sera donnée avec un exemple. La méthode montrée n'est ni une méthode de meilleure pratique ni valable de manière générale pour tous les croisements.
Pour ce tuto, on utilise le logiciel Blender en version 2.71, mais on peut utiliser chaque version de Blender (à partir de la version 2.5). On construit un croisement à partir de splines et textures proprement crées. Pour les croisements plus grands, un schéma (fait à la main) peut être utile, pour se rendre compte à l'avance de la gestion du trafic; mais pour le croisement en T, un schéma n'est pas nécessaire.
1. Les méthodes
Les différentes méthodes se différencient surtout selon la fonctionnalité et le degré de difficulté, respectivement des connaissances préalables nécessaires.
méthode | avantages |
inconvénients | |
---|---|---|---|
splines de terrain ("Terrain-Splines") |
Le croisement est entièrement construit dans l'éditeur en utilisant des splines. Il y a beaucoup de téléchargements de splines de terrain dans le Webdisk et dans le forum. |
La méthode la plus facile; pas besoin de connaissances préléables |
Scintillement des splines superposées, pas de collision entre les véhicules lors de l'utilisation d'"Invis-Splines", réglémentation des feux de trafic seulement dans une manière limitée, nécessitent beaucoup de splines |
Préconstruction des splines & importation dans Blender |
Premièrement, on construit une structure de base (p.ex. un trottoir). Celle-ci sera importée dans Blender, où on finit la construction du croisement. Cette méthode n'est pastrès populaire, mais donne des résultats raisonnables. |
Ne nécessite pas des connaissances Blender profondes, possibilité des régulations de feux de trafic, ajustement rapide du croisement aux splines possible, exportation "dans l'ensemble" |
haute quantité de vertices, beaucoup d'effort nécessaire, pas favorable à la performance du jeu |
Construction selon le SDK de croisements (accessible uniquement en allemand ou anglais) |
On utilise les modèles du manuel SDK de croisements. Cette méthode est plutôt adaptée pour les croisements rectangulaires sur la base des splines originaux de jeu. |
Pas de travail sur les textures nécessaire (parce que les textures existent déjà), peu de connaissance de Blender nécessaire, régulation des feux de trafic illimitée, peu d'effort, réutilisation du croisement possible |
pas fléxible, textures fixes |
Construction complète dans Blender |
Le croisement complet est construit dans le logiciel Blender. |
meilleur résultat possible, préserve la performance du jeu, meilleure flexibilité possible, régulation des feux de trafic illimitée, réutilisation du croisement possible, exportation "dans l'ensemble" |
nécessite des connaissances de Blender profondes, beaucoup d'effort, grand potentiel de faire des erreurs |
2. Construction du croisement dans Blender
La partie suivante est un journal de construction d'un croisement.
2.1. Aides supplémentaires
La construction d'objets et surtout la construction de croisements est un sujet très complèxe. Dans ce tuto, on se réfère aux sources suivants:
- fonctions de base de Blender et les raccourcis clavier les plus importants (sources en allemand: Blender-Tutorial, Video-Serie, Tastaturkürzel 1, Tastaturkürzel 2 - les tutoriels de Blender en français sont aussi à trouver sur Internet)
- exportation d'un objet Blender dans Omsi
- Connaissances sur les structures d'un objet dans OMSI et des fichiers .sco
- éditeur des croisements (voir le manuel SDK inofficiel (accessible uniquement en allemand et en anglais)
2.2. Travail préparatoire
Avant la modélisation d'un croisement, on a d'abord une base (particulièrement pour les cartes réelles): Les splines, auxquels le croisement le croisement sera adapté plus tard (image 1). Ces splines peuvent être exportés par l'onglet "Spline-Export" dans un format lisible pour Blender (.x). Sélectionnez d'abord tous les splines impliqués dans le croisement et sauvegardez les exportations à un lieu de votre convénance (image 2). Une fois la construction du croisement est terminée, l'objet construit n'utilisera pas la longeur entière des splines, mais vous avez quand même besoin des splines pour connecter le croisement aux splines de la manière la plus précise possible. Cette sauvegarde peut être utile pour les virages ou les montées pour garder l'ésthetique de la scénerie.
Maintenant, le travail préparatoire dans l'éditeur d'OMSI est terminé et on peut continuer le travail dans le logiciel Blender. Après avoir importé le fichier .x dans Blender, l'objet apparaît tourné par 90 degrés, ce qui peut être corrigé rapidement. Dans le mode d'édition, il faut aussi tourner les normals (W -> Flip Normals). Pour être sûr, vous pouvez activer la fonction Backface Culling (dans le menu de la touche N sous Shading).
2.3. Préparer les textures
C'est maintenant que commence le travail. Dans les vues solides ("Solid") et textures ("Texture"), l'objet est encore entièrement blanc et sans textures (images 3a et 3b). On va changer cela en ajoutant des textures. Pour chaque texture, on crée un matériel indépendant. Pour éviter des effets moches, on travaille avec les paramètres suivants (image 4):
- couleur diffuse parametrée à 1.0/1.0/1.0 ( 100% blanc)
- intensité diffuse parametrée à 1.0
- intensité speculaire parametrée à 0.0
Chaque matériel reçoit extactement une texture (un onglet après). On choisit un image comme type (image 5). Ce processus est répété pour toutes les textures.
Dans cet exemple, il y a maintenant quatre matériels avec une texture. Mais: Les textures ne sont pas encore appliqués à l'objet. Pour faire cela, supprimez d'abord tous les points doubles dans le mode d'édition (W -> Remove Doubles). Convertez après les triangles aux réctangles (Sélectionner tout -> ALT+J).
Comme étape suivante, divisez la fenêtre en tirant le coin droit supérieur (image 6) vers gauche. Dans la nouvelle fenêtre en bas, à gauche, la sélection change à l'éditeur UV/Image et dans la grande fenêtre, on voit maintenant la vue de dessus (Numpad 7). Sélectionnez maintenant, dans le mode d'édition, les faces appartenantes. Choississez ensuite le matériel correspondant et cliquez sur Assign. Ensuite, sélectionnez la texture dans l'éditeur UV/Image. Le croisement devrait se montrer maintenant comme sur l'image 7. Répétez cette action pour toutes les textures et faces correspondantes jusqu'à l'objet soit texturé entièrement (image 8).
2.4. modélisation avec les modifiants de virage et Array ("Curve" / "Array")
Maintenant, on commence avec la modélisation vraie. D'abord, supprimez les parties dont vous n'avez plus besoin (parce qu'elles disparaîtront sous le croisement plus tard). Dans notre exemple, c'est entre autre, l'espace vert entre les parties du croisement et aussi la bordure du trottoir, parce qu'elle se déroule dans le virage (image 9). L'objet actuel peut être caché par un clic droit sur l'oeil, parce qu'il est d'abord un obstacle au travail suivant. Les textures sont de nouveau peu importantes pour le moment; vous pouvez donc changer dans la vue solide.
Maintenant, on construit les segments pour les virages. Pour l'utilisation plus tard, il est important de garder les hauteurs: Les segments suivants sont construits 0.1m plus bas. Comme conséquence, le sol est à -0.1m de hauteur, la rue à 0.00m de hauteur et le troittoir à 0.15m dehauteur. Maintenant, on construit "un segment de virage" de la longueur de 1m (ou une autre longueur à choix libre; on peut même changer la longueur à un moment plus tard).
Dans le suivant, on utilise le modifiant "Curve" avec le modifiant "Array". Les deux modifiants fonctionnent avec l'axe x positif en tant que direction et l'origine (0|0|0) comme point zéro.
Il est important que le segment commence au point zéro à un point fixe (comme le coin droite ou gauche) qui est à un bord. Le segment est construit en direction de l'axe X à partir du point zéro (image 10).
Répétez cette étape avec tous les segments (dans l'exemple: le bord sans le troittoir du virage gauche).
Maintenant, on a construit les segments et il reste à adapter les segments pour le croisements. Dans ce cas, on ajoute deux courbes Bézier qui doivent être adaptées aux splines (image 11). Il est important que la courbe est éditée dans le mode d'édition et que la courbe connecte les points fixes prédéfinis (dans l'exemple: les bords de la rue). Pour le reste, la courbe peut être adaptée à volonté, mais la résolution doit être fixée à 64 et les rayons ne doivent pas être modifiés. Pour le côté droit, ajoutez également une nouvelle courbe de la même manière.
Le modifiant curve ne fonctionne pas proprement si le point central du segment et de la courbe sont déplacés. Les deux point centraux doivent être à l'origine (0|0|0). Pour rétablir cela, on peut supprimer la position en utilisant la combination ALT+G.
Sélectionnez maintenant le segment et ajoutez les modifiants Array et Curve. Les propriétés à régler se trouvent dans l'image 12 (Dans cette image, la courbe Bézier C1). Maintenant, toute la construction devrait avoir l'air d'une courbe (image 12). Répétez cette étape pour les autres côtés de la courbe.
Maintenant, on peut utiliser tous les deux modifiants de haut en bas (cliquez sur Apply). Revenez dans le mode Object pour unir toutes les courbes avec le mesh principal des splines (STRG+J). Maintenant, la construction devrait ressembler à l'image 13. Supprimez de nouveau les points doubles. La partie manquante jusqu'aux splines connectés est ajoutée en sélectionnant les points correspondants et la touche F. S'il y a des lacunes petites, on peut déplacer des coins et ancrer au reste de la construction (image 14). Après toutes ces étapes, exécutez l'action Remove Double ("Supprimer les doubles") et la modélisation est terminée.
2.5. modélisation avec "Bridge Edge Loop"
Cette function peut connecter les fins de deux pièces directement. Pour utiliser cette fonction, sélectionnez les deux pièces à connecter, tapez sur ESPACE et chercher la notion Bride Edge.
2.6. modélisation avec un modifiant "Spin"
Pour les croisements "étroits" qui ne sont pas adaptés aux splines, mais adaptés aux coordinées, vous pouvez utiliser aussi le modifiant "Spin" pour créer des courbes.
2.7.
Mappage des textures
L'objet qui vient d'être construit apparaît de nouveau sans textures. C'est la raison pour laquelle le processus de la section Textures doit être répété (images 6-8). Maintenant, il faut adapter le mappage.
L'asphalte est mappé en utilisant U -> Project From View jusqu'à ce que le résultat soit optimal (expérimentez avec différents niveaux de zoom). Les surfaces "courbes" avec les bords sont texturés différément: Choisissez d'abord les surfaces et finissez par la surface adjacente des splines. Après avoir executé la commande U -> Follow Active Quads, la bordure apparaît proprement texturé (image 16). Répétez cette étape pour toutes les surfaces restantes.
Maintenant, tout le croisement est texturé. Il nous reste à détacher les parties de splines (qui ne sont plus utiles pour le croisement) du croisement. Pour faire cela, sélectionnez toutes les parties du croisement en utilisant les outils de séléction habituels (C pour la sélection circulaire; B pour la sélection réctangulaire; ALT+bouton droite de la souris pour marquer les surfaces connectées). Enfin, la touche P --> Selection détache les parties.
Maintenant, on peut déplacer le croisement sur les axes X et Y, pour mieux pouvoir placer le croisement dans l'éditeur d'OMSI.
2.8. Exportation et implementation dans OMSI
Omsi présente les surfaces seulement dans une direction. Ceci est comparable au fait qu'on ne voit pas les murs par l'intérieur dans les mauisons. Les dits "Normals" indiquent à angle droit de la surface en direction de l'extérieur; donc vers le haut concernant les croisements.
Le travail sur le mesh est maintenant terminé. Pour vérifier les Normals, sélectionnez le point Mesh Display dans la barre droite de la vue tridimensionnelle du mode d'édition. Sélectionnez les surfaces sous le point Normals. Maintenant, on voit les lignes qui sortent des surfaces. Les traits devraient montrer vers le haut. Pour chaque surface où ce n'est pas le cas, W -> Flip Normals est appliqué. Si tous les Normals montrent vers l'extérieur, l'objet peut être exporter dans un fichier .o3d. (Pour cela, l'objet doit être selectionné auparavant.)
Maintenant, on crée le fichier .sco; duquel le nom et les groupes peuvent être choisis librement.
[friendlyname]
Einmundung Moskauer Ring
[groups]
2
Wuerzburg
Kreuzungen
[rendertype]
surface
[LightMapMapping]
[fixed]
[absheight]
[surface]
[collision_mesh]
Moskauer.o3d
###################
Model Data
###################
[mesh]
Moskauer.o3d
Alles anzeigen
Ainsi, le fichier d'objet est complet. Si tout a bien fonctionné, on peut placer le croisement dans l'éditeur.
2.9. Chemins
Tout ce qu'il reste maintenant sont les chemins. Pour trouver une base, à laquelle on peut adapter les chemins, on détermine la position et la rotation des splines dans Blender. Um überhaupt eine Basis zu bekommen, an der die Pfade eingepasst werden können, wird in Blender die Position und Rotation der Splines herausgefunden. Marquez le centre de la spline sur chaque brin sortant (il se trouve exactement entre deux points), et notez /mémorisez ses coordonnées globales x et y (image 17).
Pour trouver l'angle, utilisez un triangle duquel un point du bord sur l'axe X est extrué (E -> X) et une surface d'en-dessus est crée (F). Les angles seront affichés sous Mesh Display; notez-les aussi. (image 18).
Ouvrez l'objet dans l'éditeur de croisements. Vous pouvez déterminer la localisation des spline templates ("modèles de splines") à partir des données notées juste avant. Si la rotation n'est pas correcte, il faut expérimenter avec les valeurs de rotation (p.ex. Changement de signes, ±90, ±180 etc.).
Si toutes les valeurs sont correctes, on peut ajouter les chemins, mettre en place des feux clignotants et eventuellement aussi des feux de trafic. Pensez à sauvegarder le croisement final!
Maintenant, le croisement est terminé et prêt à être utilisé sur les cartes!
Voilà auquel le croisement terminé ressemble dans l'éditeur...
... et auquel il ressemble adapté aux splines dans OMSI:
3. Liens complémentaires
- tutoriel vidéo par NiLe (uniquement en allemand)