Melhores respostas de 'unity-5' - Stack Overflow em Português
Respostas interessantes marcadas com a tag unity-5
Viu isso, certo? Apesar de lá dizer que praticamente não faz diferença, o contexto não é web e sim linguagens interpretadas. Minificação é necessária para a transmissão do código. O ganho é muito pequeno para a compilação que ocorre no cliente. O único motivo para minificar é que o fonte trafega pela rede. Com o WebAssembly este problema acaba porque o ...
Para poder resolver está questão terá de verificar se Hierarchy, no GameObject Player se tem a tag Player. Tal como nesta imagem: Visto que nesta linha de código defenis-te que teria de ter essa tag, para que o resto acontecesse: player = GameObject.FindGameObjectWithTag("Player"); Sugestão: sempre que quiser fazer algo seguro sem que uma Script tenha ...
respondida 30/05/16 às 9:21
Os comentários são ignorados pelos compiladores/transpiladores aquando da análise léxica pelo quando o código é compilado os comentários são sempre passados à frente, nem sequer estando nos ficheiros binários executáveis. A razão pela qual se usa a minificação em desenvolvimento web é que o cliente transfere o ficheiro .css, .js, etc e depois é que faz a ...
Boa tarde Vinicius, existem muitos assets livres para monetização. Os que tem a marcação CC0 (public domain) significam que você usar os assets para fins comerciais. Eu trabalho com jogos aqui no brasil e frequentemente disponibilizo assets para fins CC0 (public domain) gratuitamente. Se tiver interesse pode me enviar seu email que entrarei em contato :) ...
respondida 12/07/17 às 18:54
63333 medalhas de prata2020 medalhas de bronze
Como a mensagem de erro indica, a sua chamada do método Lerp espera parâmetros diferentes dos que você passou. Ela espera dois Vector3 (a e b) e um float (t), porque o que esse método faz é interpolar entre dois vetores a e b em um intervalo t. Vc está passando no primeiro parâmetro, por exemplo, MCamera.position.x, que é o componente x (um valor float) do ...
respondida 10/02/16 às 17:26
A Unity não tem suporte a banco de dados, no lugar você pode usar um arquivo XML ou JSON se forem poucos dados. Se forem muitos, melhor utilizar algum serviço pela internet. Pra ajudar: http://wiki.unity3d.com/index.php?title=Saving_and_Loading_Data:_XmlSerializer
respondida 27/09/16 às 17:52
Acho que a solução é você manter um estado que diga se ele está alinhado com a grid de tiles ou não. Faça o personagem se mover até ele ficar alinhado, e não deixe que nada o interrompa enquanto isso não acontecer. Tão logo ele se alinhe, interrompa o movimento. Acho que seria isso: using UnityEngine; using System.Collections; public enum ...
respondida 4/09/16 às 8:54
Erro está na função void Animating (float h, float v); Onde o correto seria você definir ela fora de void Turning ()
respondida 19/05/16 às 12:45
Estás a tentar definir, mal, a função Animating. Primeiro porque ainda não fechaste a anterior (Turning) e depois porque tens que abrir um bloco a seguir aos parametros. Fica assim: void Turning () { Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit floorHit; if(Physics.Raycast(camRay, out floorHit,camRayLenght, floorMask) ) ...
respondida 19/05/16 às 12:28
Para reproduzir o áudio da sua música de fundo presumo que você tenha um game object na cena com um componente AudioSource anexado. Para manter este objeto existindo ao longo de outras cenas e mantê-lo reproduzindo a mesma música, você poder utilizar um script que o impeça de ser destruído durante o carregamento de cenas. Seria algo assim: class ...
respondida 11/07/18 às 11:54
De acordo com a documentação, apenas é possível guardar valores do tipo float, int e string. Como não é possível armazenar booleanos, você pode armazenar 0 ou 1 e converte-los, veja o exemplo abaixo: using UnityEngine; using System.Collections; public static class CustomPlayerPref { public static bool GetBool (string key) { return ...
respondida 1/02/16 às 16:02
Script básico para facilitar o entendimento: using UnityEngine; using System.Collections; public class MoveTouch : MonoBehaviour { private float speed = 1.5f; //Controle de Zoon private Vector2 v2_current_Distance; private Vector2 v2_previous_Distance; private float f_comfort_zone; private float mScaleFactor = 1; private ...
Faz tempo que não mexo com Unity3D, mas acho que dá para fazer isso usando a função Physics.Raycast. A solução seria fazer a arma sempre mirar para o ponto que se encontra bem a frente do atirador antes de você disparar o projétil: RaycastHit hit; bool bloqueado = Physics.Raycast(transform.position, transform.forward, out hit); arma.transform.LookAt(...
Você deverá adicionar o componente ao objecto que pretende e depois deverá chamar um método/função para atribuir/definir os valores desse novo componente. Exemplo: // a class fulano deverá ter uma funcao init objecto.AddComponent<Fulano>(); objecto.GetComponent<Fulano>().init("Fire", 1); Também pode referenciar tudo numa linha ( sugestão dada ...
respondida 21/11/17 às 12:18
O que acontece é que Unity roda numa versão bem antiga do Mono. E nesta versão, algumas coisas que estamos acostumados não estão implementadas. O método Split, nesta versão, não tem nenhuma sobrecarga que aceite como parâmetro um array de strings e um StringSplitOptions. Em contrapartida, existe uma sobrecarga que aceita um array de chars e um ...
respondida 9/11/17 às 17:40
O tipo UnityEngine.UI.Slider é um objeto que contém a propriedade Value. Você deve setar os valores nessa propriedade. void Update () { xpSlider.value = Player.totalXp; } Para mais informações a respeito.
respondida 15/08/17 às 18:31
Como C# normalmente é usado de forma compilada, o próprio compilador deixa os comentários de lado, ou seja, eles não interferem no tamanho ou na performance do seu programa. Definitivamente comentários não são algo que você vai precisar se preocupar nessa linguagem, porém existem outras inúmeras formas pra otimizar sua folha de C#. Nesse link tem algumas ...
Esse comando retorna o nome de uma layer, e leva como parametro um int, ou seja (retorna string) GetLayerName(int layerIndex); Para o que pretendes o melhor será alterar o "weight" da layer: SetLayerWeight(int layerIndex, float weight); Também podes desativar a mesma com: minhalayer.enabled = false; Para saberes o id da layer podes usar: (retorna int) ...
respondida 19/03/18 às 18:49
Já consegui!!! Coloquei os arbustos fora do canvas, como GameObject. Então coloquei o código acima associado ao GameObject e não aos sprites.
respondida 10/11/17 às 13:37
Olá eu geralmente estou utilizando o Mysql, o comando que eu utilizava já faz um tempo que uso e eu acho bom, pois você pode utilizar uma linguagem de back end no caso eu usei o PHP. O comando consiste em retornar uma string HTML e você transformar em um vetor onde você pode recuperar os dados. No caso você tem que separar os dados por uma string, no caso ...
respondida 6/10/17 às 19:22
Segue um pequeno script em C# para criar um objeto que é uma caixa de mensagem: using UnityEngine; using System.Collections; public class MessageBox : MonoBehaviour { //A janela 200x300 px aparecerá no centro da tela. private Rect windowRect = new Rect ((Screen.width - 200)/2, (Screen.height - 300)/2, 200, 300); //Variavel para controlar a ...
respondida 5/07/17 às 17:57
Provavelmente o erro ocorre nesta linha: damageImage.color = Color.Lerp (damageImage.color, Color.clear, flashSpeed * Time.deltaTime); Você irá perceber que o atributo nessa linha consta como flashSpeed (com o "S" maiúsculo). Porém, esse atributo está definido na classe da seguinte forma: public float flashspeed = 5f; Ou seja, com o "S" minúsculo. ...
respondida 2/03/17 às 16:28
Ocorre porque membros estáticos não fazem parte do escopo do objeto e sim da classe. Supondo que exista a classe Game com os seguintes membros string Nome string Produtor static string Versao Então, Versao será acessível sem instanciar a classe Game.Versao Já os outros dois membros serão acessíveis apenas na instância da classe Game game = new Game(); ...
respondida 24/01/17 às 1:28
Se estiver usando C#, aqui vai uma ideia: Crie uma classe no padrão Singleton e utilize propriedades nessa classe. Desta forma você pode utilizá-las em qualquer ponto do game. (Pode ser uma classe estática também, mas eu usaria um Singleton mesmo). Você pode fazer com que o "set" das propriedades já atualizem o valor no banco e o "get" já retornem do banco ...
respondida 4/09/16 às 17:34
Erro No Código Unity5
Método void Animating (float h, float v) deve ser declarado assim void Animating (float h, float v){ } O segundo erro é pelo fato de provavelmente floorHit não ser um Vector3. Se você quiser diminuir alguma possição do transform e atribuir na variável playerToMouse , terá que usar dessa forma: Vector3 playerToMouse = new Vector3(transform.position.x,...
c unity-5
Coloque uma condição antes do LookRotation, por exemplo: if (playerToMouse != Vector3.zero) Quaternion newRotation = Quaternion.LookRotation(playerToMause);