Quaternion Rotation
5 participantes
Página 1 de 1
Quaternion Rotation
Tou tentando Acrescentar um float pra objeto girar devagar ou rapido e tals, mais tá aparecendo este error
poderiam me falar ,oque falta ou q tá acontecendo pq ao traduzir ele diz q 'Euler' leva 2 ou 4 argumentos
Error
Linha Usada
poderiam me falar ,oque falta ou q tá acontecendo pq ao traduzir ele diz q 'Euler' leva 2 ou 4 argumentos
Error
- Código:
error CS1501: No overload for method `Euler' takes `2' arguments
Linha Usada
- Código:
transform.rotation = Quaternion.Euler(new Vector3(Rotation.x,Rotation.y,Rotation.z), Time.deltaTime * speed);
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Re: Quaternion Rotation
significa q vc esta passando mais d um argumento para
tenta assim
suponho q vc declarou um Vector3 para "Rotation"??
- Código:
[size=14]Quaternion[/size][size=14].[/size][size=14]Euler();[/size]
tenta assim
- Código:
[list=linenums][*][size=14]transform[/size][size=14].[/size][size=14]rotation [/size][size=14]=[/size][size=14] [/size][size=14]Quaternion[/size][size=14].[/size][size=14]Euler[/size][size=14]([/size][size=14][b]new[/b][/size][size=14] [/size][size=14]Vector3[/size][size=14]([/size][size=14]Rotation[/size][size=14].[/size][size=14]x[/size][size=12][color=#afafaf]*[/color][/size][size=14]speed*Time.deltaTime[/size][size=14],[/size][size=14]Rotation[/size][size=14].[/size][size=14]y[/size][color=#afafaf]*[/color][size=14]speed*Time.deltaTime[/size][size=14],[/size][size=14]Rotation[/size][size=14].[/size][size=14]z[/size][color=#afafaf]*[/color][size=14]speed*Time.deltaTime[/size][size=14])[/size][size=14];[/size]
[/list]
suponho q vc declarou um Vector3 para "Rotation"??
Re: Quaternion Rotation
outro
- Código:
transform.rotation=Quaternion.Euler(new Vector3(Rotation.x*speed*Time.deltaTime,Rotation.y*speed*Time.deltaTime,Rotation.z*speed*Time.deltaTime))
Re: Quaternion Rotation
A primeira resposta sua está "Size"
a segunda, acrescentei no msm, mais não vi diferença por exemplo girar rápido ou lento
a segunda, acrescentei no msm, mais não vi diferença por exemplo girar rápido ou lento
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Re: Quaternion Rotation
bom a primeira resposta nao é um script pq deu um erro,a segunda é q vale,pelo seu script vc estava querendo girar o objeto nos tres eixos juntos, bom ,o speed vc mudaria o valor no inspector para aumentar ou diminuir a velocidade
Re: Quaternion Rotation
Exatamente isso, sanou o erro com a sua implementação ,mas ainda não funcionou o 'float speed"
O objeto gira é claro ,mais só que bem rápido um exemplo que queria era assim "giro suave"
O objeto gira é claro ,mais só que bem rápido um exemplo que queria era assim "giro suave"
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Re: Quaternion Rotation
nesse caso usa o Rotate dá mais suavidade;
- Código:
public float speed;
void Update(){
transform.Rotate(new Vector3(0,speed*Time.deltaTime,0)); //ira girar comform seu exemplo
}
Re: Quaternion Rotation
tá osso, vou fazer com animação msm
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Re: Quaternion Rotation
acho que o rotate funfa... testa aí
https://docs.unity3d.com/ScriptReference/Transform.Rotate.html
https://docs.unity3d.com/ScriptReference/Transform.Rotate.html
- SCRIPT:
- Código:
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
void Update()
{
// Rotate the object around its local X axis at 1 degree per second
transform.Rotate(Vector3.right * Time.deltaTime);
// ...also rotate around the World's Y axis
transform.Rotate(Vector3.up * Time.deltaTime, Space.World);
}
}
Re: Quaternion Rotation
Cara ve se esse video te ajuda.
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: Quaternion Rotation
Era quase isso
Pra que o objeto gire suave tem que está no update certo?
como eu faço pra chamar a void update usando uma public void
Pra que o objeto gire suave tem que está no update certo?
como eu faço pra chamar a void update usando uma public void
- Código:
private Vector3 Rotation;
private float speed;
void update(){
transform.rotation=Quaternion.Euler(new Vector3(Rotation.x*speed*Time.deltaTime,Rotation.y*speed*Time.deltaTime,Rotation.z*speed*Time.deltaTime))
}
public void startgirar(){
////como eu faço pra chamar a void update aqui
}
}
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Re: Quaternion Rotation
Uma forma é usando booleanas. As voids chamadas nos Button só executam em um frame.
- Código:
private Vector3 Rotation;
private float speed;
private bool clicou = false;
void update(){
if (clicou){
transform.rotation=Quaternion.Euler(new Vector3(Rotation.x*speed*Time.deltaTime,Rotation.y*speed*Time.deltaTime,Rotation.z*speed*Time.deltaTime))
}
}
public void startgirar(){
clicou = true;
}
}
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Quaternion Rotation
Mas ele mantém o giro lento ou rápido usando float?
Desculpa os ruídos
Exemplo que tou tentando fazer apenas com script
Desculpa os ruídos
Exemplo que tou tentando fazer apenas com script
ffabim- MembroAvançado
- PONTOS : 3354
REPUTAÇÃO : 69
Respeito as regras :
Tópicos semelhantes
» Rotation
» Quaternion
» Trocar Position Por Rotation
» Duvida com o transform.rotation
» Erro com Quaternion
» Quaternion
» Trocar Position Por Rotation
» Duvida com o transform.rotation
» Erro com Quaternion
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos