COMENTÁRIOS EM MANUTENÇÃO, USE O CAMPO DO FACEBOOK.


Arquivado em: 0 GERAL - Dicas e Tutoriais • 20/01/2014 @ 11:39

Atualizado em 04/04/2014

(ver no YouTube)

Parte 2, com a modelagem e animação da sanfona no Blender (weight paint):

(ver no YouTube)

Download da minha articulação já animada, para conferir como fica a “pintura”:

http://www.mediafire.com/download/g9voex986pw6trn/sanfonaMEP.7z

Se quiser reutilizá-la, fique à vontade, peço apenas que mantenha os créditos dela para Marcos Elias.

Tutorial russo bem completo (use um tradutor…):

http://omsi2.ru/index.php?topic=8.0

Blender 2.65 pra exportar a sanfona sem erro:

http://download.blender.org/release/Blender2.65/blender-2.65-release-windows32.zip
(o zip não altera o que você tem instalado!)

Se não você não manja nada nada de Blender, veja as noções gerais para não se perder na interface com meus tutoriais de Blender para iniciantes: parte 1 e parte 2. Neles ensino como criar objetos para cenário no OMSI, mesmo para quem nunca modelou nada na vida ainda, abordando tudo passo a passo.

Como arrumar a passagem dos passageiros entre os vagões

É muito simples! Cada parte tem seu próprio paths.cfg e passengercabin.cfg. As coordenadas são independentes para cada parte, como se fossem ônibus independentes – começando os paths do 0.

Para ligar um vagão ao outro, no passengercabin da parte da frente, perto da seção onde ficam as entradas [entry] e [exit], adicione esta:

[linkToPrevVeh]
24

Essa linkToPrevVeh indica o número do path correspondente ao ponto de junção com a parte de trás. Esse path é definido como qualquer outro, usando [pathpnt] no paths.cfg. Coloque a coordenada próxima ao último ponto do vagão da frente onde o usuário poderia estar, ou seja, no centro do piso, mais ou menos no meio da articulação.

Na parte traseira, o procedimento é parecido. Só que em vez de adicionar [linkToPrevVeh], use [linkToNextVeh]. Exemplo:

[linkToNextVeh]
0

Isso indica que o link da parte de trás com o “próximo” veículo (a frente) é o path 0, o primeiro definido no paths.cfg da traseira (normalmente no piso, no centro, próximo à articulação).

Não se esqueça de configurar no arquivo .bus os paths e passengercabin corretos para a dianteira e traseira. Na dúvida, observe os arquivos dos outros ônibus articulados.

Daqui para baixo segue o texto antigo que estava nesta página!

*******

Tradução do fórum do OMSI: animação da articulação

Durante o desenvolvimento do OMSI o Marcel, um dos desenvolvedores, publicou no fórum oficial um breve tutorial para animar a articulação. Não é uma animação qualquer, é necessário fazer umas paradas no Blender com “armature”, depois exportar e usar um código específico…

Copiando a articulação de um ônibus já feito, usando o o3d dele (o Citaro), foi até fácil colocar:

OMSI2_20140119_104323

O problema é que:
1 – Não posso roubar peças de outros ônibus.
2 – Mesmo se o cara autorizar o uso da sanfona (o que não seria problema, qualquer um poderia usar a do NG272 mesmo, que já é do OMSI!), ainda assim preciso entender como animá-la para colocar em outras posições (mais pra frente ou mais pra trás) ou para duplicá-la.

Temos um breve rascunho de tutorial do Marcel, mas pelo visto muita gente não conseguiu colocá-lo em prática. Nesse tutorial ele usa as versões antigas do Blender (2.49). No 2.6 os comandos são outros, mas os recursos parecem estar lá.

Então fica aqui o post para ajudar a comunidade brasileira/portuguesa de OMSI: quem conseguir animar com este tutorial, poderia melhorá-lo e disponibilizar as instruções para todos? Estou tentando bastante mas sem sucesso: a sanfona sempre fica “parada”.

Alguém que entenda de Blender talvez possa ajudar também, visto que o recurso que ele usou pra criar os grupos de vértices na sanfona não é específico de OMSI, é basicamente do Blender. O OMSI “reimplementa” os nós de junção depois via script (o código do script segue no final do post todo).

O tutorial está aqui:
http://www.omnibussimulator.de/forum/index.php?page=Thread&threadID=3164&pageNo=4
Reorganizei o texto abaixo, com as imagens. Está em inglês. Meu problema não foi com a tradução, foi com a complexidade mesmo, dados os conhecimentos limitados em Blender. Fiz uma tradução bastante livre dos principais pontos, em negrito.

Tem muitos brasileiros (e gringos também) ansiosos para lançar articulados, só não lançaram até agora por causa dessa dificuldade! Vamos tentar aí, quem conseguir ajude os demais 😉

————————————————————————

Now big news:

The bellows exists now from the outside view! How did I creat it? (Please mind: in the current version of OMSI, the bellows won’t work like that! This manual is just for later use!)

First, I had to create the model as usual (Pic 1, Pic 2).

Agora, grandes notícias!
A sanfona existe a partir da visão externa! Como criei ela? (Note: na versão atual do OMSI – 1, no caso – a safona não funcionará dessa forma! Este manual é para uso posterior, ou seja, com o OMSI 2).

Primeiro, criei o modelo normalmente (imagens 1 e 2).

pic1

pic2

The next step is creating an armature (pic 3).

A próxima etapa é criar uma armature (img 3).

pic3

Veeeery important: The first bone has to start at the 0-point of the scene (0/0/0) as shown. Otherwise there will be an offset in OMSI. Now you have to go into the edit mode and move the “head” of the first bone as shown in the picture, then create the other bones by using the normal extrude function [E]. Important: The position of the bones (except the first) is irrelevant for OMSI, so you have not to work precise at this point. It is just nice to have to test the animation with the pose mode in Blender.

Muuuuito importante: O primeiro bone tem que começar no ponto 0 da cena (0/0/0), como mostrado. Caso contrário terá um offset no OMSI. Agora você precisa ir no modo edit e mover a “cabeça” do primeiro bone como mostrado na imagem, e então criar os outros bones usando a função de extrude normal [E]. Importante: A posição dos bones (exceto do primeiro) é irrelevante para o OMSI, então você não precisa se preocupar em ser preciso nessa parte. É bom tê-los para testar a animação com o modo pose no Blender.

Now first select the bellows, then the armature, press [ctrl]+[P] and select “Armature”, then “Don’t create groups”.

Now the order of the steps is very important: First select the armature, then the “pose mode”, now right click on the bellows, then select the “weight paint mode” (Pic 4).

Agora, selecione a safona, depois a armature, pressione [Ctrl]+[P] e selecione “Armature”, e a seguir “Don’t create groups”. Nota: no Blender 2.6 esse comando é diferente, isso serve desta forma no 2.4x.

Agora a ordem das etapas é muito importante: Primeiro selecione a armature, então o modo “pose”, agora clique com o direito na sanfona e selecione o modo “weight paint” (imagem 4).

pic4

Now you can select each bone with the right mouse button or paint the vertices with the left. In the box on the left, you can select the new weight (you just want to paint) with the upper slider (0 = blue, 1 = red). With this weights, you can adjust the influence of each bone onto the vertex. (Pic 5 till 7).

Agora você pode selecionar cada bone com o botão direito do mouse ou pintar os vértices com o esquerdo. Na caixa à esquerda, você pode selecionar o novo “peso” (que você quer pintar) com o slider superior (0 = azul, 1 = vermelho). Com esses “pesos” você pode ajustar a influência de cada bone nos vertex (imagens 5 a 7).

pic5

pic6

pic7

In the buttons window (typically on the bottom), you can select on the panel “rectangle with yellow dots” in the tab “armature bones” next to “BO:” the bone names. That’s very important because you have to tell OMSI, which bone should be moved like what. In my case, the small bones have the names “Gelenk_A” till “Gelenk_D”, the big one is unimportant since it won’t move.

Na janela de botões (normalmente na parte inferior) você pode selecionar o painel “retângulo com pontos amarelos” na aba “armature bones”, próximo ao “BO:” com os nomes dos bones. Isso é muito importante porque você precisa dizer ao OMSI, qual bone deve ser movido daquele jeito. No meu caso, os pequenos bones têm nomes de “Gelenk_A” até “Gelenk_D”. O grandão não é importante, porque ele não será movido.

For the export, you have to extract armature and bellows mesh into a separate blender file. Then use “export all”. If everything works correct, the x file should contain all bone names as vertex group names. Now convert into o3d as usual.

Para a exportação você precisa extrair o mesh da sanfona e a armature num arquivo blender separado. Então use “Export all”. Se tudo ocorrer bem, o arquivo x deverá conter todos os nomes dos bonos como nomes de grupos de vértices. Agora converta para o3d da forma tradicional.

To animate the bellows, you have to create four dummy objects, which describe the movement as fix points (see Pic 8).

Para animar a sanfona, você precisa criar quatro objetos “de apoio”, que descreverão o movimento como pontos fixos (imagem 8). Nota: esses parecem ser os planos pretos que ficam “flutuando” do nada quando o OMSI buga, geralmente ao jogar com o articulado :p

pic8

The first one (Dummy_A) will move just a quarter, the last one the complete movement auf the trailer. The four dummy objects have to be added at the very first point, that means directly after all [texttexture] entries and just before the first “normal” [mesh] entry and the order of the four entries is also very important, because the link to the bones will be done with the [setbone] entry via the index of the dummy [mesh] entry!

O primeiro (Dummy_A) moverá apenas um quarto, o último o movimento completo do trailer. Os quatro objetos dummy devem ser adicionados logo no primeiro ponto do cfg, ou seja, loogo depois de todas as entradas [texttexture] e antes da primeira entrada [mesh] “normal”. A ordem das quatro entradas também é muito importante, porque os links aos bones serão feitos com a entrada [setbone] pelo índice de cada entrada [mesh] dos dummy!

Original em alemão:
Sooooo, große Neuheit:

Der Faltenbalg existiert (von außen)! Wie wurde der nun gebaut? (Bitte beachten: im aktuellen OMSI wird er so nicht funktionieren! Die folgende Anleitung ist also für später!)

Nun, zuerst musste das Ding natürlich ganz normal modelliert werden (Pic 1, Pic 2).

Der nächste Schritt ist das Erstellen einer sogenannten “Armature” (D: Rüstung) (Pic 3), angelehnt an Skin-Animations bei Spielfiguren, also gewissermaßen das Skelett. Gaaaaanz wichtig: Der erste Knochen mit seinem Ursprung MUSS (beim Export) im Ursprung liegen, also bei 0/0/0! Ansonsten verschiebt sich das angehängte Mesh nachher in OMSI! Dann geht man in den Edit-Mode und bewegt den Kopf des ersten Knochens wie gezeigt auf seinen Platz. Dann benutzt man die Extrudieren-Funktion [E], um die nächsten Knochen wie dargestellt zu erstellen. Wichtig: Die Position der restlichen Knochen ist für OMSI irrelevant, daher empfielt sich nur eine grobe Platzierung, damit man die Animation schonmal (mit dem Pose Mode) in Blender testen kann.

Nun klickt man erst den Faltenbalg, dann die Armature an, drückt [Strg]+[P] und wählt aus dem Kontextmenü “Armature” aus, im zweiten Kontextmenü wählt man “Don’t Create Groups” aus.

Jetzt ist die Reihenfolge der Schritte wichtig: Auswählen der Armature, wählen des “Pose Modes” (gibt es nur bei Armatures), rechts anklicken des Faltenbalges, Auswählen des “Weight Paint Modes” (Pic 4). Nun kann man mit rechter Maustaste den zu bearbeitenden Knochen auswählen und mit links die Vertices “anmalen”, wobei man mit dem obersten Schieberegler den Sollwert einstellen kann (blau = 0, rot = 1). Mit diesem “Weight” kann man nun beeinflussen, wie stark der jeweilige Vertex vom selektierten Knochen beeinflusst wird (Pic 5 bis 7). Im “Buttons Window” von Blender (typischerweise unten) kann man im Panel “Rechteck mit gelben Punkten” im Tab “Armature Bones” neben “BO:” die Knochen-Namen einstellen. Dies ist sehr wichtig, damit man OMSI dann auch mitteilen kann, welcher Knochen wie bewegt werden soll. Bei mir heißen sie (die “kleinen”) “Gelenk_A” bis “Gelenk_D”, der große ist unwichtig, weil er sich gar nicht bewegt.

Für den Export muss leider eine eigene Blender-Datei erstellt werden, in welcher sich nur die Armature und der Faltenbalg befinden. Dann muss nämlich mit “Export All” exportiert werden. Wenn alles klappt, findet man in der X-Datei alle Knochen-Namen wieder als Vertex-Weight-Gruppen. Dann wie üblich in das o3d-Format konvertieren.

Um den Faltenbalg zu animieren, müssen nun noch Dummy-Objekte erstellt werden, welche diese als Fixpunkte beschreiben (siehe Pic 8). Das erste (Dummy_A) dreht sich dann nur um ein Viertel der Bewegung, das letzte (Dummy_D) vollführt die volle Bewegung des Nachläufers. Die Einträge der Dummyobjekte müssen dann ganz vorne, unmittelbar nach den [texttexture]-Einträgen stehen und noch vor den ersten “normalen” [mesh]-Einträgen und die Reihenfolge muss eingehalten werden, weil die Verbindung zu den jeweiligen Knochen mittels des [setbone]-Befehls über den Index des [mesh]-Eintrages vollzogen wird!

Códigos do arquivo cfg

Dummies, precisam estar antes das entradas [mesh] normais:

###############################################
Dummies für die Animation

[mesh]
Generic\GN_Dum_Gelenk_A.o3d

[newanim]
origin_trans
0.000
-3.775
0.315
anim_rot
articulation_0_beta
0.25

[newanim]
origin_trans
0.000
-3.775
0.315
origin_rot_y
-90
anim_rot
articulation_0_alpha
0.25

[mesh]
Generic\GN_Dum_Gelenk_B.o3d

[newanim]
origin_trans
0.000
-3.960
0.315
anim_rot
articulation_0_beta
0.50

[newanim]
origin_trans
0.000
-3.960
0.315
origin_rot_y
-90
anim_rot
articulation_0_alpha
0.50

[mesh]
Generic\GN_Dum_Gelenk_C.o3d

[newanim]
origin_trans
0.000
-4.144
0.315
anim_rot
articulation_0_beta
0.75

[newanim]
origin_trans
0.000
-4.144
0.315
origin_rot_y
-90
anim_rot
articulation_0_alpha
0.75

[mesh]
Generic\GN_Dum_Gelenk_D.o3d

[newanim]
origin_trans
0.000
-4.329
0.315
anim_rot
articulation_0_beta
1.00

[newanim]
origin_trans
0.000
-4.329
0.315
origin_rot_y
-90
anim_rot
articulation_0_alpha
1.00

Implementação da sanfona (exterior, pro interior seria praticamente a mesma coisa):

[mesh]
GN92\GN92_articul_bellows_ext.o3d

[smoothskin]

[setbone]
Gelenk_A
0

[setbone]
Gelenk_B
1

[setbone]
Gelenk_C
2

[setbone]
Gelenk_D
3

Atualizado: está dando certo!

Ae, depois de muuuito ralar, está dando certo! 🙂 Só animei 2 bones, os outros não, por isso a junção traseira ficou zuada. Mas tá no esquema:

OMSI2_20140120_192639

Agradecimentos ao xpw7 pelo link do fórum com um tutorial em russo:
http://omsi2.ru/index.php?topic=8.0

E também ao Anderson Vieira pelo apoio na parte da pintura no Blender.

Vou tentar terminar essa base da articulação e fazer um tutorial em português assim que conseguir!

Agora vai!

OMSI2_20140120_204418

OMSI2_20140120_204355

Aguardem mais detalhes =)




Post feito por

10 comentários to “[Atualizado 4x] Tutorial de animação da articulação para OMSI 2”

  1. Guaruporto tv disse:

    Marcos não sei como eu consegui mais converti o MEP QuadBus 3 pro OMSI 1. Com articulação e tudo.

  2. Jefferson disse:

    barreto acho que e OMSI 2 ai ai barreto me ensina como postar mod e outras coisas pedidos

  3. Gabriel Barreto disse:

    Quais versões terá esse bus em cima?

  4. Jefferson disse:

    Marcos cria um Articulado pra OMSI 1 e como eu faço uma pagina dessa ex um pedido postar um mod

  5. Jefferson disse:

    marcos converte o Citaro G Do omsi 2 para OMSI 1

  6. xpw7 disse:

    Se já viu em Tutorial – http://omsi2.ru/index.php?topic=8.0 – Mostra criando articulação.

Postar um comentário ou resposta

Você deve estar logado para poder comentar. Se não tiver cadastro no site, você pode comentar usando o Facebook. Caso queira se cadastrar para postar mods, skins, tutoriais... Clique aqui e siga o processo. É grátis ;)

Posts recentes