Unidade Android versus Android SDK

10

Estou familiarizado com o Unity e no processo de aprendizado do Android SDK quando o anúncio sobre o unity android basic foi lançado.

Quais seriam as vantagens e desvantagens de usar o SDK do Android diretamente versus o desenvolvimento usando o Unity Android?

lathomas64
fonte

Respostas:

13

Atualizar o Unity 5.x Há um manual detalhado sobre como escrever plug-ins de código nativo e chamá-los de dentro do Unity http://docs.unity3d.com/Manual/PluginsForAndroid.html

Como o Unity 4.x já foi lançado, e o Android passou por muitas alterações, você deve considerar esta resposta como uma referência e não como estado da arte, pois pode estar desatualizada!

Desculpe, mas Ricket está errado: o Unity fornece acesso completo via API ao SDK do Android, o que também é necessário antes de trabalhar nos Jogos Android com Unity:

Antes de poder executar os jogos do Unity Android no dispositivo real, você precisa ter o seu ambiente de desenvolvedor Android configurado. Isso envolve o download e a instalação do SDK do Android com as diferentes plataformas do Android e a adição do dispositivo físico ao sistema (isso é feito de maneira um pouco diferente, dependendo do desenvolvimento do Windows ou Mac). Esse processo de configuração é explicado no site do desenvolvedor do Android e pode haver informações adicionais fornecidas pelo fabricante do seu dispositivo. Como esse é um processo complexo, fornecemos um esboço básico das tarefas que devem ser concluídas antes que você possa executar o código no seu dispositivo Android ou no emulador do Android. No entanto, a melhor coisa a fazer é seguir as instruções passo a passo no portal do desenvolvedor do Android.

O Unity Android fornece APIs de script para acessar vários dados e configurações de entrada. Você pode descobrir mais sobre as novas classes de script na página de scripts do Android. Expondo código nativo C, C ++ ou Java a scripts

O Unity Android permite chamar funções personalizadas escritas em C / C ++ diretamente (e Java indiretamente) a partir de scripts C #. Para descobrir como vincular funções nativas, visite a página de plug-ins.

manual da unidade fonte

Unidade:

  • se você já possui ativos e modelos mais complexos
  • aproveite muitos formatos de arquivo
  • progresso rápido se você já tem um design e sabe como o jogo deve ser

SDK para Android:

  • pode considerar isso para a programação de jogos 2D iniciais
  • bom começo para aprender o básico do Android, que experiência pode ser levada a um desenvolvimento adicional com o Unity

Se você deseja começar a desenvolver um jogo com um certo nível de qualidade e deseja sucesso rápido, escolha o Unity em vez do puro SDK, porque o Unity oferece muitas ferramentas que facilitam o desenvolvimento sem se preocupar com pequenas coisas.

daemonfire300
fonte
1
então, se eu não conheço bem o SDK do Android, você sugeriria usá-lo para o projeto atual e, potencialmente, o Unity para os posteriores depois que eu tiver uma idéia?
precisa saber é o seguinte
1
Sim, já que você quer fazer um pequeno jogo leve, você deve usar ferramentas simples. Às vezes, um mecanismo de jogo inteiro é demais para um jogo pequeno, foi o que experimentei com frequência, especialmente quando tentei codificar jogos 2D em mecanismos 3D. Claro que é possível e fácil se você tiver todos os seus ativos prontos, mas é mais trabalhoso, porque você ainda precisa operar tudo no espaço Vector3.
Davidfire300 /
5

Bem, eles são completamente diferentes! O Android SDK permite escrever aplicativos Android do zero em Java. O Unity é um pacote de criação de jogos no qual você arrasta e solta, adiciona scripts etc. e depois pressiona um botão para exportar um aplicativo Android completo.

SDK para Android:

  • Escreva o aplicativo do zero
  • Controle completo sobre exatamente como o seu jogo faz e se parece; você pode fazer qualquer coisa
  • Muito mais trabalho e conhecimento envolvidos
  • Escreva tudo em Java

Unidade:

  • Faça um projeto de jogo, importe recursos, organize suas cenas etc. na interface do Unity
  • Ações de script para os objetos em JavaScript, C # ou Boo
  • Teste o jogo no PC e implante em várias plataformas, incluindo Android
  • Não é necessário Java (não é necessário SDK para Android)
  • Sem controle sobre o aplicativo final; ele roda com o mecanismo Unity e você não pode, por exemplo, adicionar um Android extra Activity(como uma 'tela') ao seu aplicativo ou editá-lo de qualquer forma, exceto na interface do Unity
  • Tamanho .apk grande, porque todo o mecanismo Unity (cerca de 10 MB) está compactado no seu aplicativo, não importa quanto você realmente use.

Observe que eu não tenho experiência com a função Android do Unity (embora eu tenha uma experiência geral do Unity), então me corrija (ou apenas edite este post) se a categoria do Unity estiver errada de alguma forma.

Ricket
fonte
1

A menos que você conheça Java e absolutamente nenhum C ++ ou C #, eu nunca poderia recomendar o uso da API do Android para outra coisa senão masoquismo ou um front end para um serviço da Web. Isso vem de cinco anos de trabalho no Android, para alguns dos principais players. Vou poupar o livro que poderia escrever sobre esse tópico, mas a API do Android ainda não está madura o suficiente em design ou implementação para o horário nobre. E acho que, antes que chegue lá, o pessoal do google precisará fazer uma pesquisa séria sobre suas metodologias de desenvolvimento. Apenas um pouco de reflexão, por que todas as ferramentas de terceiros e os googles de sopro da API possuem ferramentas fora da água?

Martin
fonte