[RESOLVIDO] movimtnos com Motodo void
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] movimtnos com Motodo void
B noite galera , como faco para movimentar um objeto em um metodo void como se fosse no update?
tipo
public void subirBalao()
{
novoBalao.transform.Translate(0, -0.05f, 0.1f);
}
}
o objeto sobe so um frame , se fosse no update subiria direto sem parar , entao como faço isso no void ?
tipo
public void subirBalao()
{
novoBalao.transform.Translate(0, -0.05f, 0.1f);
}
}
o objeto sobe so um frame , se fosse no update subiria direto sem parar , entao como faço isso no void ?
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: [RESOLVIDO] movimtnos com Motodo void
capim22 escreveu:B noite galera , como faco para movimentar um objeto em um metodo void como se fosse no update?
tipo
public void subirBalao()
{
novoBalao.transform.Translate(0, -0.05f, 0.1f);
}
}
o objeto sobe so um frame , se fosse no update subiria direto sem parar , entao como faço isso no void ?
Tu vai ter que chamar o metodo dentro do update
Ex:
- Código:
void Update(){
subirBalao();
}
Re: [RESOLVIDO] movimtnos com Motodo void
Aliás nesse seu exemplo tem uma falha grave
Sempre que for movimentar multiplica o Vector3/Vector2 por Time.DeltaTime.
Por que senão, tipo em um computador rodando a fps 30 o jogo o movimento vai ser mais lento do que se tiver rodando a 60 fps e dizer mais lento é amenizar no de 60 vai se mover 2x mais rápido.
Sempre que for movimentar multiplica o Vector3/Vector2 por Time.DeltaTime.
Por que senão, tipo em um computador rodando a fps 30 o jogo o movimento vai ser mais lento do que se tiver rodando a 60 fps e dizer mais lento é amenizar no de 60 vai se mover 2x mais rápido.
Re: [RESOLVIDO] movimtnos com Motodo void
dutrabr100 escreveu:capim22 escreveu:B noite galera , como faco para movimentar um objeto em um metodo void como se fosse no update?
tipo
public void subirBalao()
{
novoBalao.transform.Translate(0, -0.05f, 0.1f);
}
}
o objeto sobe so um frame , se fosse no update subiria direto sem parar , entao como faço isso no void ?
Tu vai ter que chamar o metodo dentro do update
Ex:
- Código:
void Update(){
subirBalao();
}
mas no update nao pode deixar lento? p mim td no update consome recurso , ou estou errado? pensei q tivesse como fazer no metodo void ! obg
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: [RESOLVIDO] movimtnos com Motodo void
capim22 escreveu:dutrabr100 escreveu:capim22 escreveu:B noite galera , como faco para movimentar um objeto em um metodo void como se fosse no update?
tipo
public void subirBalao()
{
novoBalao.transform.Translate(0, -0.05f, 0.1f);
}
}
o objeto sobe so um frame , se fosse no update subiria direto sem parar , entao como faço isso no void ?
Tu vai ter que chamar o metodo dentro do update
Ex:
- Código:
void Update(){
subirBalao();
}
mas no update nao pode deixar lento? p mim td no update consome recurso , ou estou errado? pensei q tivesse como fazer no metodo void ! obg
Não, pq métodos criados não são chamados de forma "automática" e quanto a consumir recursos não se preocupe tanto nessa parte
O importante é maneirar nos Rigidbody e nas luzes, e botar coisas de física sempre no FixedUpdate que é melhor isso inclui RayCast se possível no uso que tiver fazendo dele (mas tem hora q tem q ser no Update msm).
E cara essa pergunta deve ter a ver com os balões, então nesse caso específico não deixe o balão voando para o infinito depois de solto ele precisa de algo que o destrua. Seja uma distância máxima que ele pode ir. Ou outra forma.
E as vezes tem uma forma melhor de se fazer algo, por exemplo eu to fazendo um jogo top down em 3D
Eu criei o player e a arma, a arma tem um script que eu fiz uma burrada enorme e só notei ontem.
Vou explicar a minha burrada:
o script da arma ele usa um Physics.OverlapSphere(coloquei no fixedUpdate) pra detectar se o player ta no raio que da pra equipar a arma mas isso é meio ruim pra performance e eu também to usando isso nas AI's de inimigos
Me toquei que nas armas eu posso simplesmente, deixar sem essa detecção e mover ela para o player, afinal é 1 player e várias armas no cenário e de quebra a arma nem vai precisar de Update
E quanto as AI's to tentando entender o que deu na minha cabeça de usar o Physics.OverlapSphere, tudo bem q eu tinha pensado em ter um tipo de status de confusão que fizessem os inimigos se atacarem, mas ainda sim isso pode ser resolvido apenas com uma Array e um find e um raycast de vez em quando e um loop
Re: [RESOLVIDO] movimtnos com Motodo void
e nem tudo de otimização é feito no código
tem a parte de marcar tudo q pertence ao cenário e não se move com static, dar o bake no Oclussion Culling.
LOD, o far da câmera, etc
tem até script adicional que pode servir de otimização, como por exemplo um que desativa a luz de locais que o player não esta vendo
tem a parte de marcar tudo q pertence ao cenário e não se move com static, dar o bake no Oclussion Culling.
LOD, o far da câmera, etc
tem até script adicional que pode servir de otimização, como por exemplo um que desativa a luz de locais que o player não esta vendo
Re: [RESOLVIDO] movimtnos com Motodo void
e mais uma coisa, creio que seja iniciante nisso de programação, mas void não indica o tipo de método, indica o retorno do método.
void significa vazio logo o método não retorna nada.
recomendo que aprenda sobre como usar o return;
pq é muito útil
void significa vazio logo o método não retorna nada.
recomendo que aprenda sobre como usar o return;
pq é muito útil
Tópicos semelhantes
» [RESOLVIDO] VOID START???
» [RESOLVIDO] Tem como mandar uma função na void update de uma criança desativada?
» [RESOLVIDO]Duvida com butao UI para ativar Void
» [RESOLVIDO] como chamar uma void com get component unity C#
» [RESOLVIDO] Chamar uma void depois de fazer uma animação
» [RESOLVIDO] Tem como mandar uma função na void update de uma criança desativada?
» [RESOLVIDO]Duvida com butao UI para ativar Void
» [RESOLVIDO] como chamar uma void com get component unity C#
» [RESOLVIDO] Chamar uma void depois de fazer uma animação
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos