Como posso criar um sistema de pulo para esse script que determina a gravidade.
2 participantes
Página 1 de 1
Como posso criar um sistema de pulo para esse script que determina a gravidade.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class PlayerPC : MonoBehaviour
{
Vector3 targetRotation;
float rotationSpeed = 8;
public float speed = 20;
public float jumpForce = 200;
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
rb.interpolation = RigidbodyInterpolation.Extrapolate;
}
void FixedUpdate()
{
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
float horizontalRaw = Input.GetAxisRaw("Horizontal");
float verticalRaw = Input.GetAxisRaw("Vertical");
Vector3 input = new Vector3(horizontal, 0, vertical);
if (input.magnitude > 1)
{
input.Normalize();
}
Vector3 inputRaw = new Vector3(horizontalRaw, 0, verticalRaw);
if (inputRaw != Vector3.zero)
{
targetRotation = Quaternion.LookRotation(input).eulerAngles;
}
if (Input.GetButtonDown("Pulo"))
{
rb.AddForce(jumpForce*Vector3.up) ;
vel.y = 0f;
}
rb.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(targetRotation.x, Mathf.Round(targetRotation.y / 45f) * 45f, targetRotation.z), Time.deltaTime * rotationSpeed);
Vector3 vel = input * speed;
vel.y = -9.8f;
rb.velocity = vel;
}
}
teos626- Membro
- PONTOS : 1927
REPUTAÇÃO : 0
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
olha não sei se é isso mas no comando de pular vc tá definindo que o vel.y = 0 ouseja parece que vc não quer exista gravidade quando vc púla só que isso não vai funcionar pq logo abaixo do codigo vc tá definindo que vel.y = -9.8 ou seja ,ele não vai ficar em 0 nunca. oque vc pode fazer crie uma variavel boleana para denifir se está pulando ou não ,se vc tiver animação de pulo melhor pq é só dizer a variavel de pulo recebe verdadeira se tá nessa animação ,e dai vc coloca o vel.y = 0 quando o pulo for verdadeiro e vel.y = -9.8f quando for falso ,mas vc não pode declarar vel.y = -9.8f no final do codigo pq quando chegar nessa parte ele vai anular o "0".
mas eu achei essa logica estranha vc tá mechendo na velocidade da fisica quando pula isso não parece necessário e onde vc declarou o "vel" kkkkk
mas eu achei essa logica estranha vc tá mechendo na velocidade da fisica quando pula isso não parece necessário e onde vc declarou o "vel" kkkkk
hendrick22- MembroAvançado
- PONTOS : 2689
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
hendrick22 escreveu:olha não sei se é isso mas no comando de pular vc tá definindo que o vel.y = 0 ouseja parece que vc não quer exista gravidade quando vc púla só que isso não vai funcionar pq logo abaixo do codigo vc tá definindo que vel.y = -9.8 ou seja ,ele não vai ficar em 0 nunca. oque vc pode fazer crie uma variavel boleana para denifir se está pulando ou não ,se vc tiver animação de pulo melhor pq é só dizer a variavel de pulo recebe verdadeira se tá nessa animação ,e dai vc coloca o vel.y = 0 quando o pulo for verdadeiro e vel.y = -9.8f quando for falso ,mas vc não pode declarar vel.y = -9.8f no final do codigo pq quando chegar nessa parte ele vai anular o "0".
mas eu achei essa logica estranha vc tá mechendo na velocidade da fisica quando pula isso não parece necessário e onde vc declarou o "vel" kkkkk
Poderia me mostrar como adaptar esse script ?
teos626- Membro
- PONTOS : 1927
REPUTAÇÃO : 0
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
olha man eu não sei direito oque vc quer fazer me explica oque vc quer com detalhes ai eu te ajudo ,para fazer um pulo basta fazer um rigidbody.AddForce e fazer uma variavel para verificar se tá no chão para não voar né kkkkkteos626 escreveu:hendrick22 escreveu:olha não sei se é isso mas no comando de pular vc tá definindo que o vel.y = 0 ouseja parece que vc não quer exista gravidade quando vc púla só que isso não vai funcionar pq logo abaixo do codigo vc tá definindo que vel.y = -9.8 ou seja ,ele não vai ficar em 0 nunca. oque vc pode fazer crie uma variavel boleana para denifir se está pulando ou não ,se vc tiver animação de pulo melhor pq é só dizer a variavel de pulo recebe verdadeira se tá nessa animação ,e dai vc coloca o vel.y = 0 quando o pulo for verdadeiro e vel.y = -9.8f quando for falso ,mas vc não pode declarar vel.y = -9.8f no final do codigo pq quando chegar nessa parte ele vai anular o "0".
mas eu achei essa logica estranha vc tá mechendo na velocidade da fisica quando pula isso não parece necessário e onde vc declarou o "vel" kkkkk
Poderia me mostrar como adaptar esse script ?
hendrick22- MembroAvançado
- PONTOS : 2689
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
Então cara eu só queria fazer um pulo, com uma variável para que eu possa mudar o valor de personagem para personagem. Porém a gravidade não permite que esse pulo aconteça. Já tentei usar rb.AddForce
teos626- Membro
- PONTOS : 1927
REPUTAÇÃO : 0
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
vc tentou fazer o AddForce("vetor que vc já coloclou" ,ForceMode.Impulse) ?teos626 escreveu:Então cara eu só queria fazer um pulo, com uma variável para que eu possa mudar o valor de personagem para personagem. Porém a gravidade não permite que esse pulo aconteça. Já tentei usar rb.AddForce
para ser sincero eu acho que já era para ter funcionado o pulo ,pq a gravidade não impede vc de pula ,claro se ela não tiver muito forte ,mas o padrão do unity é 9.8 se não me engano que é o valor da gravidade aqui dá terra e nunca tive problema com isso
hendrick22- MembroAvançado
- PONTOS : 2689
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: Como posso criar um sistema de pulo para esse script que determina a gravidade.
já sim, na verdade ele pula. porem a gravidade deixa o movimento muito rapido, quase imperseptivel
teos626- Membro
- PONTOS : 1927
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Como posso criar um sistema de direção para meus ataques.
» Como eu posso resumir esse script?
» Como criar um sistema parecido a esse?
» Como posso criar um sistema de atacar?
» Posso usar o sistema de marcas de derrapagem como base para outro sistema?
» Como eu posso resumir esse script?
» Como criar um sistema parecido a esse?
» Como posso criar um sistema de atacar?
» Posso usar o sistema de marcas de derrapagem como base para outro sistema?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos