Criação de personagens personalizadas para UDK
A tradução é capenga do google mas dá pra entender.
Documento aborda o processo de adicionar rapidamente caracteres personalizados para UDK.
Documento Changelog: Criado por Jeff Wilson.
Visão global
Este documento aborda a criação de malhas novo personagem para o uso no desenvolvimento Unreal Kit, bem como a forma de importar o conteúdo de malha para o motor e configurá-lo para obtê-lo rapidamente em funcionamento no motor.
Esqueletos
Abaixo estão quatro esqueletos diferentes que podem ser usados como guias ou fundações para a construção de seus próprios personagens para uso em UDK:
- UT3_Male.max (3D Studio Max 9)
- UT3_Female.max (3D Studio Max 9)
- UT3_Krall.max (3D Studio Max 9)
- UT3_Corrupt.max (3D Studio Max 2009)
NOTA: A plataforma Biped está incluído em alguns dos esqueletos. A sonda Biped é apenas o esqueleto um adicional que é mais fácil de animar. Quando uma animação é feito, assamos a animação sobre o esqueleto original, exclua o bípede e exportar a animação.
Além disso, o esqueleto pessoa seguinte, está disponível para consulta:
Um fluxo de trabalho é bom usar o que poderia ser chamado de um "esqueleto" mestre "arquivo que deve conter todos os ossos utilizados por todos os personagens desse tipo dentro do seu jogo. Não é necessário para um personagem de rede para fazer uso de todos os ossos, porém é necessário que o senhor tem todo o esqueleto ósseo de cada personagem. Por exemplo, se alguém quiser criar um personagem com um tipo de pano novo que não existe ainda, como pano pendurado cada pulso, os ossos precisam ser adicionados ao esqueleto mestre para que cada malha funciona corretamente durante o processo de criação de personagem .
Porque o senhor tem todo o esqueleto ósseo que existe, é uma boa idéia usar o arquivo mestre max esqueleto para esfola uma nova malha, pois é fácil de ver todos os ossos disponíveis para uso.
Para simplificar, este documento está a ir ficando mais personagens importados com os ossos que já existem, a fim de fazer uso dos conjuntos de animação existentes dentro UDK.
Ponderação uma malha a um esqueleto
Ao criar uma malha de costume, o melhor é criar a malha com o esqueleto em mente. A rede deverá ser modelado com todas as articulações correspondentes a localização já está definida pelo esqueleto. Para malhas que não seguem esta regra, as articulações do esqueleto pode ser girada para levá-los a alinhar nas articulações em uma malha. As animações do jogo vai orientar os ossos de volta para onde eles precisam ser reproduzidos corretamente. Embora os ossos podem ser rodados, eles nunca devem ser traduzidos ou transferidos para tentar colocá-los onde estão juntas em uma malha. Isto dará resultados inesperados no jogo e squash ou esticar uma rede, porque as animações definir onde a tradução ossos será. Por exemplo, se uma malha tem pernas mais curtas do que o definido pelo esqueleto e os ossos do esqueleto do pé são movidos para compensar, as pernas esticadas será mais em jogo para igualar o comprimento das pernas do personagem do outro. Isso mantém todas as peças conectado corretamente durante a instalação do personagem no jogo. A maneira correta para se adequar às malhas do esqueleto é rodar as articulações, como necessário para obtê-los o mais próximo possível, se necessário e / ou modificar a rede para se adequar. Criando personagens com diferentes proporções exigirá um esqueleto novo mestre, e se as proporções são muito diferentes personagens que já existem, podem exigir suas próprias animações, assim que está além do escopo deste documento.
Pegue a malha a seguir como um exemplo. Ele foi modelado com o esqueleto masculino em mente. Todas as grandes articulações e partes do corpo acima da linha bem com o esqueleto de modo que não são necessárias grandes adaptações. Isto torna extremamente simples quando chega a hora de peso da malha ao esqueleto.
Merge nos ossos do arquivo UT3_Male.max, elimine os ossos que não são necessários, em seguida, o peso da malha ao esqueleto. Neste caso, a rede não tem peças extra ou "bits abano", que exigiria ossos extra tão somente o essencial são deixadas no esqueleto para a ponderação.
Exportador
Em seguida, é exportar o seu personagem e pegue no motor. Skeletal malhas são exportadas a partir do aplicativo 3D de sua escolha com ou exportador Epic ActorX o plugin fornecido pelo exportador ou usar o FBX que está embutido no aplicativo. Este documento irá concentrar-se na utilização de ActorX . Para obter mais informações sobre como exportar para. FBX, consulte o documento FBXImporterUserGuide.
Os plugins ActorX pode ser baixado da página ActorX. Uma vez que o plugin foi baixado e instalado, abra o aplicativo 3D e certifique-se o plugin ActorX é carregado. Certifique-se de verificar se as configurações de exportação da pele estão corretas.
A definição de todos os tipo de pele garante que malhas ponderada na cena será exportado. A única selecionada é uma maneira fácil de exportar malhas individuais em uma cena, um de cada vez. Se por algum motivo, todos os selecionados que não está funcionando ou não está disponível em uma versão de ActorX, basta apagar as malhas que você não deseja exportar, mas não exclua qualquer parte do esqueleto da malha que estão tentando exportar é ponderada a. Apenas certifique-se de salvar a cena antes de excluir qualquer malhas, então você tem uma versão completa para voltar, e lembre-se não para substituir esse arquivo após a exclusão de malhas.
Preencha a pasta de saída e arquivo de malha em ActorX campos de nome, e com o boot malha selecionada, pressione a tela Salvar / refpose botão para criar uma animação do esqueleto (. PSK) do arquivo. Se houver alguma animação sobre o esqueleto, ActorX usará o primeiro quadro da timeline (frame geralmente 0), como a exportação pose.
Importador
Abra o editor e no Content Browser , clique no botão "Importar" na parte inferior das Fontes painel do lado esquerdo. Navegue até o arquivo psk. Exportação que o criou e clique em "Abrir".
Depois de seleccionar Open, outra janela irá aparecer perguntando o que você quer fazer com seu arquivo de animação. O campo Package nesta janela permite que você importar para um pacote existente ou criar uma nova. Para criar um novo pacote, digite o nome de um pacote que já não existe. O novo pacote será criado e sua malha será importado para quando você selecionar OK. Para importar para um pacote existente, digite o nome de um pacote existente ou selecioná-lo na lista drop-down. Nesta janela, você também pode criar um grupo dentro do pacote através do campo Grupo, bem como alterar o nome da malha, através do campo Nome.
Uma vez que a malha foi importado, salvar o pacote no diretório seguinte:
YourUDKInstallationDirectory [] \ UTGame \ Content \ Personagens
Adicionando Soquetes para a malha
Sockets são definidos os pontos do usuário em uma malha esquelético. Eles podem ser adicionados a qualquer malha esquelético e, em UDK, eles são usados para muitas coisas, incluindo os pontos a partir do qual emitem partículas ou locais para anexar armas. Estes precisam ser adicionados a cada malha, para que o seu personagem para funcionar corretamente no jogo. Para adicionar sockets, dê um duplo clique sobre a malha do esqueleto sobre o qual você gostaria de adicioná-los na janela do browser conteúdo. A malha esquelético / editor conjunto de animação (o Editor AnimSet ) janela vai aparecer. Clique no ícone Gerenciador de Socket, ou selecione Socket Manager a partir do menu Mesh para abrir a janela do Gerenciador de Socket.
Sockets são criados selecionando Novo Socket, escolher qual socket o osso será anexado, e em seguida, criar um nome para o socket.
Os personagens UTGame que vêm com UDK ter sockets específicos que são exigidos para que um personagem personalizado para trabalhar com a base de código atual. Se você deseja ser capaz de cair em seus próprios personagens e fazê-los funcionar adequadamente sem qualquer codificação extra, o malhas precisa ter, no mínimo, essas tomadas:
Nome Socket | Nome Bone |
WeaponPoint | b_RightWeapon |
DualWeaponPoint | b_LeftWeapon |
L_JB | b_LeftAnkle |
R_JB | b_RightAnkle |
HeadShotGoreSocket | b_Neck |
Os pés da personagem ou botas precisa de dois soquetes para dar um lugar para as partículas de emitir a partir de quando usar botas de salto. Estes nomes são socket L_JB para o pé esquerdo e R_JB para o pé direito. Por exemplo, para adicionar o socket L_JB, selecione Novo Socket, escolher o b_LeftAnkle óssea, em seguida, para a tomada nome do tipo L_JB.
Sockets pode ser traduzido e girada para que eles possam ser colocados no local correto em relação à malha. Após a criação, estes soquetes aparecem na origem do osso do tornozelo, mas a necessidade de emissão de partículas a partir da parte inferior do pé. Na janela Gerenciador de Socket, os dois primeiros ícones traduzir soquete e tomada. Com a tomada de traduzir, mova o encaixe para a parte inferior do pé. Algumas bases podem precisar de rotação bem como para se certificar de que emitem partículas na direção correta ou objetos que anexar com a orientação correta. Você pode abrir a janela do Gerenciador de Tomada de outras malhas esquelética que acompanha o jogo para ter uma idéia de como e onde estes soquetes devem ser colocados.
Configurando seu personagem para utilizar durante os jogos
O passo final é configurar UDK fazer uso de seu novo personagem. Este processo vai exigir mergulhar UnrealScript para criar uma nova classe, uma subclasse de UTFamilyInfo e modificar uma classe existente, UTPlayerReplicationInfo . Naturalmente, há muito mais que podemos fazer para criar um personagem completamente personalizado playable em UDK, mas muito do que está além do escopo deste documento. Estamos apenas indo centrar-se sobre o essencial de obter o seu personagem pronto e funcionando.
UTFamilyInfo Subclasse
A UTFamilyInfo
classe é basicamente um recipiente de propriedades que permitem que você especifique quais malhas, os ativos físicos, animsets, materiais, chavetas, etc, para utilização por um personagem de partículas ou grupo de personagens. Embora esta classe contém algumas outras funcionalidades, para os fins do presente documento é aceitável simplesmente vê-lo como um lugar para definir algumas propriedades para que você possa colocar seu personagem em UDK.
Neste exemplo, iremos criar uma subclasse único e usá-lo para apenas um personagem. Você poderia, em teoria, criar uma hierarquia dessas classes onde uma classe que subclasse de UTFamilyInfo
e definir as propriedades gerais de um grupo de personagens que todos partilham algo em comum. Por exemplo, um grupo de personagens pode compartilham um tema comum em termos de sua aparência. Esses personagens seriam considerados parte da mesma facção. Você pode então criar várias subclasses desta nova classe. Cada um deles poderia ser de um caráter específico dentro dessa facção e até podiam especificar uma família a que pertencem dentro dessa facção para classificar ainda mais seus personagens.
Antes de ir mais longe, você primeiro precisa criar uma nova subclasse desta classe para seu personagem.
Classe UTFamilyInfo_SpaceMarine estende UTFamilyInfo abstrato; defaultproperties ()
Agora, nas propriedades do bloco padrão da classe, você pode definir ou substituir as propriedades para criar seu personagem personalizado. A propriedade mais importante no seu novo UTFamilyInfo classe é o CharacterMeshpropriedade. Como você deve ter adivinhado, este estabelecimento de referência, caso a malha esquelético você importou anteriormente. Para o nosso exemplo isso seria:
CharacterMesh = SkeletalMesh'UDNCharacters. SpaceMarine '
Você deve continuar a passar e continuar definindo as propriedades para apontar para o seu próprio património personalizado. Algumas das propriedades importantes são descritos abaixo.
- Faction - O nome do grupo em termos globais, personagem ou grupo de personagens pertence.
- Familyid - O nome da família esse personagem pertence.
- CharacterTeamBodyMaterials - Este é um conjunto de materiais a serem utilizados como personagem do corpo material para os jogos da equipe. 0 é o índice para o vermelho, um índice é para o azul.
- CharacterTeamHeadMaterials - Este é um conjunto de materiais a serem utilizados como personagem principal o material para os jogos da equipe. 0 é o índice para o vermelho, um índice é para o azul.
- PhysicsAsset - Esta é uma referência à física activo criado para a malha de seu caráter esquelético.
- AnimSets - Esta é uma matriz de AnimSets usar para o seu personagem (s).
- ArmMeshPackageName - O nome do pacote que contém a malha braços primeira pessoa para este caráter.
- ArmMesh - Esta é uma referência para a malha de armas 1 ª pessoa para este caráter
- ArmSkinPackageName - O nome do pacote contendo os materiais para a primeira malha de armas por pessoa.
- RedArmMaterial - Esta é uma referência para o material da equipe vermelha para a primeira malha de armas por pessoa.
- BlueArmMaterial - Esta é uma referência para o material da equipe azul para o primeiro malha braços pessoa.
É claro que há muitas propriedades que mais você pode querer definir e podem ser encontrados no script UTFamilyInfo.uc, a maioria com comentários descritivos.
Depois de definir as propriedades para o seu personagem, salve-o no seguinte diretório:
[] YourUDKInstallationDirectory / Desenvolvimento / src / UTGame
UTPlayerReplicationInfo Classe
Agora, você precisa dizer UDK para usar esta nova classe, em vez da classe padrão atual. Isso pode ser feito no UTPlayerReplicationInfo.uc arquivo no bloco de propriedades padrão. A última linha deve ler actualmente:
CharClassInfo = class'UTGame. UTFamilyInfo_Liandri_Male '
Tudo que você precisa fazer é modificar a classe para apontar para o recém-criada UTFamilyInfo
classe. Neste exemplo, a linha passaria a ser:
CharClassInfo = class'UTGame. UTFamilyInfo_SpaceMarine '
Salve o UTPlayerReplicationInfo.uc script e depois reconstruir os scripts. Felizmente, você não será atingido com todos os erros do compilador e você pode ir testar o seu novo personagem no jogo.