Recomendação do Editor | |
1. Selecionar casos práticos avançados e explicar a tecnologia de desenvolvimento de jogos em detalhes; 2. Explicar as ideias de programação de scripts Unity em detalhes e superar as principais dificuldades; 3. Resumir a experiência de desenvolvimento de jogos de primeira linha para melhorar a eficiência do aprendizado; 4. Recursos de aprendizado avançados: · Arquivos de projeto de suporte para todos os casos · 180 minutos de vídeo didático do processo de produção real |
Índice | |
●Capítulo 1 Visão geral dos scripts do Unity 9 1.1 Controlando o movimento de objetos 10 1.1.1 Criar um novo script 10 1.1.2 Eventos de início e atualização 11 1.1.3 Modificar a posição do objeto 13 1.1.4 Leitura e processamento de entrada 14 1.1.5 Exemplo: Implementando uma bola em movimento 15 1.2 Evento de gatilho 16 1.2.1 Criando um gatilho 16 1.2.2 Função de evento de gatilho 17 1.2.3 Exemplo: Comer Moeda de Ouro 18 1.3 Faça o primeiro jogo: 3D Rolling Ball Parkour 20 1.3.1 Design de Jogo 20 1.3.2 Implementação da Função 21 1.3.3 Mecânica do Jogo 22 1.3.4 Completando e melhorando o jogo 24 Capítulo 2 Conceitos básicos de programação Unity e Script 27 2.1 Conceitos básicos da unidade 28 2.1.1 Objetos e componentes do jogo 28 2.1.2 Componentes de Transformação 31 2.1.3 Explicação detalhada da “relação pai-filho” 33 2.1.4 Rótulos e camadas de objetos 36 2.1.5 Componentes comumente usados 36 2.2 Usando scripts para obter objetos e componentes 38 2.2.1 Objetos, Componentes e Objetos 38 2.2.2 Métodos de obtenção de componentes 39 2.2.3 Métodos de obtenção de objetos 40 2.2.4 Navegando entre objetos e componentes 2.2.5 Usando variáveis públicas para referenciar objetos e componentes 46 2.3 Criando objetos com scripts 49 2.3.1 Pré-forma 49 2.3.2 Criando Objetos 50 2.3.3 Criando Componentes 52 2.3.4 Destruição de um objeto ou componente 53 2.3.5 Cronometrando a criação e destruição de objetos 54 2.4 O ciclo de vida de um script 55 2.4.1 Compreendendo o ciclo de vida do script 56 2.4.2 Métodos de eventos comuns 56 2.4.3 Exemplo: Câmera seguindo o protagonista 58 2.4.4 Evento de gatilho 59 2.5 Introdução às corrotinas 61 2.6 Exemplo: Jogo de tiro 3D 63 2.6.1 Design geral do jogo 63 2.6.2 Pontos-chave para implementação do jogo 63 2.6.3 Criando o Protagonista 64 2.6.4 Ajustando a câmera 66 2.6.5 Implementação de sistemas de armas e balas 66 2.6.6 Implementando Personagens Inimigos 71 2.6.7 A lógica do Bullet Hit 73 2.6.8 Melhore o jogo 75 2.6.9 Testes e Melhorias 76 Capítulo 3 Sistemas Físicos 77 3.1 Conceitos básicos de sistemas físicos 78 3.1.1 Corpo rígido 78 3.1.2 Dormir 78 3.1.3 Corpo de colisão 79 3.1.4 Materiais Físicos 80 3.1.5 Gatilho 80 3.1.6 Classificação dos aceleradores 81 3.1.7 Tabela de eventos de colisão 82 3.1.8 Camada 83 3.1.9 Articulações físicas 83 3.1.10 Detecção de raios X 84 3.1.11 Controlador de Personagem e Sistema de Física 84 3.1.12 Sistema de Física 3D e Sistema de Física 2D 85 3.2 Scripting de Sistema Físico 86 3.2.1 Obter componente Rigidbody 86 3.2.2 Aplicação de força 86 3.2.3 Velocidade de modificação 87 3.2.4 Como usar raios 88 3.2.5 Camadas e Máscaras de Camada 90 3.2.6 Explicação detalhada da programação de raios 90 3.2.7 Modificando Materiais Físicos 93 3.2.8 Explicação detalhada do FixedUpdate 94 3.2.9 Modificar velocidade angular 96 3.2.10 Centro de massa 96 3.2.11 Mais maneiras de aplicar força 97 3.2.12 Restrições de Corpo Rígido 98 3.3 Exemplo: Jogo de plataforma 2D baseado no sistema de física 99 3.3.1 Design de Jogo 99 3.3.2 Implementação da Função 99 3.3.3 Mecânica do Jogo 100 3.3.4 Completando e Melhorando o Jogo 103 Capítulo 4 Fundamentos Matemáticos para o Desenvolvimento de Jogos 107 4.1 A Importância da Matemática para os Jogos 108 4.2 Sistema de Coordenadas 109 4.2.1 Sistema de Coordenadas Mundial 109 4.2.2 Sistemas de coordenadas para canhotos e destros 109 4.2.3 Sistema de Coordenadas Local 110 4.2.4 Sistema de Coordenadas de Tela 112 4.3 Vetores 112 4.3.1 Adição de vetores 113 4.3.2 Subtração de Vetores 113 4.3.3 Multiplicação de Vetores 114 4.3.4 Produto escalar de vetores 114 4.3.5 Produto vetorial de vetores 115 4.3.6 Estrutura do vetor 3 116 4.3.7 Relação entre Posição e Vetor 117 4.3.8 Transformação de sistemas de coordenadas vetoriais 118 4.4 Introdução às matrizes 119 4.4.1 Introdução às matrizes comumente usadas 119 4.4.2 Coordenadas Homogêneas 120 4,5 Quatérnios 120 4.5.1 Trava de junta universal 120 4.5.2 Conceito de Quaternion 121 4.5.3 Estrutura Quaternária 122 4.5.4 Compreendendo e usando quatérnios 123 4.5.5 Interpolação de Quaterniões 125 4.5.6 Direção e Vetor 125 4.6 Exemplo: Controlador de personagem em perspectiva de primeira pessoa 127 4.6.1 Construindo uma cena simples 127 4.6.2 Criando o objeto do personagem principal 127 4.6.3 Escrevendo o script de controle - Mobile Parte 128 4.6.4 Escrevendo o Script de Controle - Rotação Parte 129 4.6.5 Ocultar e bloquear o ponteiro do mouse 131 4.6.6 Arranjo e Melhoria 131 Capítulo 5 Scripting e Sistema de UI 133 5.1 Usando scripts para operar controles comuns de IU 134 5.1.1 Criando a interface do jogo 134 5.1.2 Componente RectTransform 135 5.1.3 Componente de imagem 137 5.1.4 Componente de texto 138 5.1.5 Componente de botão 139 5.1.6 Componente de botão de opção (Alternar) 141 5.1.7 Componente Slider 142 5.1.8 Componente InputField 143 5.1.9 Componente ScrollRect 144 5.2 Scripts e Sistemas de Eventos 146 5.2.1 Eventos de entrada comuns 147 5.2.2 Parâmetros de eventos de entrada comuns 150 5.2.3 Adicionando dinamicamente métodos de resposta a eventos 151 5.2.4 Gatilho de Evento 152 5.2.5 Técnicas avançadas para vinculação dinâmica de eventos 153 5.3 Exemplo: Criação e adaptação de interface 155 5.3.1 Configurando a tela da IU 156 5.3.2 Preparação para criação da interface do jogo 159 5.3.3 Criando a interface do jogo 161 5.3.4 Criando uma interface de mochila 163 5.3.5 Usando a barra de progresso para criar uma barra de saúde 164 Capítulo 6 Sistema de Script e Animação 165 6.1 Conceitos básicos do sistema de animação 166 6.1.1 Conceitos básicos de animação 166 6.1.2 Fusão de animação 167 6.1.3 Máquina de Estados de Animação 168 6.1.4 Animação do Esqueleto Raiz 170 Exemplo de Análise de Animação 6.22D 171 6.2.1 Preparação 171 6.2.2 Etapas de produção de personagens e controles 173 6.2.3 Etapas de produção da animação 175 6.2.4 Criando variáveis de animação 176 6.2.5 Configurando transições de animação 177 6.2.6 Modificando variáveis de animação usando scripts 178 6.2.7 Dicas de programação de script 179 6.2.8 Resumo e Extensão 180 6.3 Importando modelos 3D e animações 181 6.3.1 Exemplo de importação 181 6.3.2 Configurações de recursos do modelo 3D 181 6.3.3 Configurações de recursos de animação 3D 183 6.3.4 Relação entre o esqueleto do modelo e o esqueleto da animação 185 6.4 Análise de exemplo de tecnologia de animação avançada 187 6.4.1 Árvore de Fusão de Animação 187 6.4.2 Análise de roteiro de controle de personagem em terceira pessoa 189 6.4.3 Uso da animação do osso raiz 193 6.4.4 Máscaras de Animação 195 6.4.5 Camadas de Animação 196 6.4.6 Eventos de quadro de animação 197 6.4.7 Cinemática Inversa (IK) 198 Capítulo 7 Roteiros e Efeitos Especiais 201 7.1 Visão geral dos efeitos especiais 202 7.1.1 Partículas 202 7.1.2 Animação 202 7.1.3 Animação 202 7.1.4 Decalques 203 7.1.5 Cauda 203 7.1.6 Pós-processamento 203 7.2 Como usar efeitos especiais 204 7.2.1 Uso básico de vários efeitos especiais 204 7.2.2 Efeitos de movimento e animação em câmera lenta 208 7.2.3 Introdução ao uso do plug-in DOTween 209 7.2.4 Efeitos de trilha 214 7.2.5 Exemplo de pós-processamento 216 Capítulo 8 Roteiro e Áudio 219 8.1 Conceitos básicos de áudio 220 8.1.1 Fonte de áudio e ouvinte de áudio 220 8.1.2 Explicação detalhada dos componentes da fonte sonora 220 8.2 Roteiro, Música e Efeitos Sonoros 221 8.2.1 Usando scripts para controlar a reprodução de música 222 8.2.2 Adicionando efeitos sonoros 223 8.2.3 Gerenciador de Áudio 225 Capítulo 9 Scripting e Gerenciamento de Recursos 229 9.1 Engenharia e Recursos 230 9.1.1 Estrutura de pastas do projeto Unity 230 9.1.2 Arquivos META 231 9.1.3 Carregando e liberando recursos dinamicamente 232 9.2 Pacotes de recursos e atualizações importantes 233 9.2.1 Pacotes de ativos 234 9.2.2 Caminhos comuns para recursos 236 9.2.3 Dependências de ativos 237 9.2.4 Carregando Recursos da Rede 238 9.2.5 Análise da atualização 239 Capítulo 10 Salvando e carregando dados 243 10.1 Scripts e Serialização 244 10.1.1 O conceito de serialização 244 10.1.2 Armazenamento simples de PlayerPrefs244 10.2 Scripts e JSON246 10.2.1 Introdução ao JSON 246 10.2.2 Instalando a Biblioteca LitJSON 249 10.2.3 Leitura JSON252 10.2.4 Salvando JSON255 10.2.5 Usando JSON257 na Web 10.3 Outros métodos de serialização 258 10.3.1 Biblioteca de serialização C# 258 10.3.2 Exemplo de serialização binária 259 10.3.3 Relação entre serialização e editor Unity 261 Capítulo 11 Scripting e IA do Jogo 263 11.1 Visão geral da IA do jogo 264 11.1.1 Características da IA do Jogo 264 11.1.2 Tecnologias comuns de IA 265 11.1.3 Níveis de IA 265 11.2 Scripts e Sistemas de Navegação 266 11.2.1 Componentes relacionados ao sistema de navegação 266 11.2.2 Construindo a Malha de Navegação 266 11.2.3 Criando um Agente de Navegação 268 11.2.4 Obstáculos à Navegação 270 11.2.5 Links de navegação 272 11.2.6 Notas suplementares sobre o sistema de navegação 273 11.2.7 Exemplo de Síntese de Navegação 274 11.3 Métodos de programação de IA de jogos 277 11.3.1 O conceito de uma máquina de estados finita 277 11.3.2 Simulando AI Vision 280 11.3.3 Exemplos de IA de jogos 285 11.3.4 Estendendo a Máquina de Estados da IA 289 11.3.5 Outras técnicas de programação de IA 291 Capítulo 12 Exemplo Abrangente - Esquadrão Suicida Secreto 293 12.1 Design de Jogos 294 12.1.1 Introdução aos Jogos Stealth 294 12.1.2 Design geral do jogo 294 12.2 Importação de Material e Construção de Cena 295 12.2.1 Baixar e importar materiais 295 12.2.2 Definindo o cenário 295 12.3 Criação do Protagonista do Jogo 296 12.3.1 Criando uma função 296 12.3.2 Criando Animações 296 12.3.3 Implementando o movimento do personagem 297 12.3.4 Troca de armas e itens 301 12.3.5 Adicionando pontos de fixação de armas 302 12.3.6 Implementação das funções básicas de armas e adereços 303 12.3.7 Controle de armas e adereços 308 12.3.8 Melhorar a animação do personagem principal 311 12.3.9 Melhorar a lógica de jogo do personagem principal 312 12.3.10 Implementando o Indicador Parabólico 312 12.4 Criação de personagens inimigos 314 12.4.1 Criando personagens e animações inimigas 314 12.4.2 Estrutura de script de personagem inimigo 315 12.4.3 Implementando lógica de patrulha 319 12.4.4 Realizando a Percepção Visual 320 12.4.5 Realização da função de perseguição 322 12.4.6 Implementando funções de ataque 323 12.4.7 Combinando e implementando um personagem de IA completo 324 12.4.8 Configurações de parâmetros inimigos 326 12.5 Construindo Níveis e Melhorando o Jogo 327 12.5.1 Exemplo de Design de Nível 327 12.5.2 Adicionando lógica de sucesso e falha 328 Capítulo 13 Técnicas Avançadas de Programação 329 13.1 Pool de Objetos 330 13.1.1 Por que usar o pool de objetos 330 13.1.2 Exemplo de pool de objetos simples 330 13.1.3 Métodos de teste de pool de objetos 332 13.1.4 Analisador de Desempenho 334 13.1.5 Pools de objetos que suportam múltiplos objetos 335 13.2 Explicação detalhada da corrotina Unity 339 13.2.1 Corrotinas familiares, mas não familiares 339 13.2.2 Iteradores 340 13.2.3 Princípio de execução atrasada de corrotinas 341 13.2.4 Corrotinas e Recursão 344 13.3 Explicação detalhada dos eventos Unity 346 13.3.1 Exemplo de evento Unity 346 13.3.2 Forma multiparâmetro de eventos Unity 348 13.3.3 Eventos e Delegados da Unity 350 |
breve introdução | |
Este livro aborda o desenvolvimento de jogos como a principal pista, explica de forma abrangente a tecnologia de programação do Unity 3D e abrange todos os sistemas e módulos do motor Unity 3D. O livro começa ajudando os leitores a estabelecer rapidamente as ideias básicas da programação de scripts e do desenvolvimento de jogos e, gradualmente, explica os conceitos centrais do desenvolvimento de jogos em Unity 3D, bem como os fundamentos técnicos, como sistemas físicos e fundamentos matemáticos 3D, que são cruciais para o desenvolvimento de jogos. Em seguida, são explicados os métodos de utilização de vários módulos comuns do Unity 3D, como a interface, animação, efeitos especiais e áudio no jogo, e o conhecimento relacionado à gestão de dados e gestão de recursos no desenvolvimento de jogos é apresentado em detalhes. Em seguida, o conhecimento ensinado neste livro é integrado por meio do caso completo de um jogo imersivo. Por fim, são explicadas a tecnologia de desenvolvimento de inteligência artificial para jogos e tecnologias avançadas de programação, como pools de objetos, para ajudar os leitores a aprimorar sua capacidade de lidar com o trabalho real. Este livro é abrangente em conteúdo e detalhado em explicações. É adequado para iniciantes no desenvolvimento de jogos e também adequado como livro-texto para instituições de treinamento relevantes. |
Sobre o autor | |
Ma Yao tem uma ligação inextricável com o desenvolvimento de jogos desde o ensino médio. Gosto de estudar linguagens dinâmicas e algoritmos, e sou bom em explicar algoritmos e conceitos complexos. Ele trabalhou na Beijing Pixel Software Company, desenvolvendo o jogo online de grande escala "Xunxian". Durante seu período empreendedor, presidiu o desenvolvimento de muitos jogos para dispositivos móveis e jogos em HTML5, e posteriormente se concentrou no design de servidores de jogos de alto desempenho. Atualmente, dedico-me à educação em desenvolvimento de jogos, na esperança de guiar mais pessoas para o mundo do desenvolvimento de jogos. Ele compilou o livro "Unity 3D Complete Self-Study Tutorial" (Editora da Electronics Industry) e traduziu o livro "Practical Guide to Game AI Development" (Editora da Machinery Industry). Shen Yan, um jogador ávido e desenvolvedor de jogos independente, participa ativamente de fóruns e comunidades de desenvolvimento de jogos há muito tempo. Em seu tempo livre, dedica-se a aprender e compartilhar excelentes tutoriais estrangeiros. A longa série de tutoriais "Hex Map" que ele traduziu e compilou foi amplamente elogiada por desenvolvedores de jogos. Acumulou experiência na prática de desenvolvimento de jogos, etc. |