Script de movimento
3 participantes
Página 1 de 1
Script de movimento
Olá pessoal, sou iniciante na programaçao e estou com essa duvida, busquei um tutorial sobre fps controller e encontrei o do MarcosSchultz, segui seu tutorial e passei um tempo tentando entender o funcionamento do script, dai tentei refazer o script com o que eu entendi das aulas e refiz esse script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class fpsController : MonoBehaviour {
private GameObject cameraFps;
private CharacterController controller;
public float moveSpeed = 0;
private float xMove, zMove;
// Use this for initialization
void Start () {
transform.tag = "Player";
cameraFps = GetComponentInChildren<Camera>().transform.gameObject;
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
xMove = Input.GetAxis("Horizontal"); ----------------//Apenas modifiquei aqui o update
zMove = Input.GetAxis("Vertical");
Vector3 endMovement = new Vector3(xMove, 0, zMove);
transform.position += endMovement * moveSpeed * Time.deltaTime;
}
}
Testei isso aqui e ta funcionando normalmente, mas essa forma é correta de se fazer? vai dar algum problema?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class fpsController : MonoBehaviour {
private GameObject cameraFps;
private CharacterController controller;
public float moveSpeed = 0;
private float xMove, zMove;
// Use this for initialization
void Start () {
transform.tag = "Player";
cameraFps = GetComponentInChildren<Camera>().transform.gameObject;
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
xMove = Input.GetAxis("Horizontal"); ----------------//Apenas modifiquei aqui o update
zMove = Input.GetAxis("Vertical");
Vector3 endMovement = new Vector3(xMove, 0, zMove);
transform.position += endMovement * moveSpeed * Time.deltaTime;
}
}
Testei isso aqui e ta funcionando normalmente, mas essa forma é correta de se fazer? vai dar algum problema?
endersoneneilsa- Membro
- PONTOS : 2762
REPUTAÇÃO : 4
Respeito as regras :
Re: Script de movimento
Não entendo o porque você quer usar o Character Controller se você não o usa. Além disso, eu recomendo o Rigidbody do que o transform.position, já que ele não funciona muito bem com colisões..endersoneneilsa escreveu:Olá pessoal, sou iniciante na programaçao e estou com essa duvida, busquei um tutorial sobre fps controller e encontrei o do MarcosSchultz, segui seu tutorial e passei um tempo tentando entender o funcionamento do script, dai tentei refazer o script com o que eu entendi das aulas e refiz esse script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class fpsController : MonoBehaviour {
private GameObject cameraFps;
private CharacterController controller;
public float moveSpeed = 0;
private float xMove, zMove;
// Use this for initialization
void Start () {
transform.tag = "Player";
cameraFps = GetComponentInChildren<Camera>().transform.gameObject;
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
xMove = Input.GetAxis("Horizontal"); ----------------//Apenas modifiquei aqui o update
zMove = Input.GetAxis("Vertical");
Vector3 endMovement = new Vector3(xMove, 0, zMove);
transform.position += endMovement * moveSpeed * Time.deltaTime;
}
}
Testei isso aqui e ta funcionando normalmente, mas essa forma é correta de se fazer? vai dar algum problema?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Script de movimento
Nao cara, acho que vc nao entendeu minha perguntaSouris escreveu:Não entendo o porque você quer usar o Character Controller se você não o usa. Além disso, eu recomendo o Rigidbody do que o transform.position, já que ele não funciona muito bem com colisões..endersoneneilsa escreveu:Olá pessoal, sou iniciante na programaçao e estou com essa duvida, busquei um tutorial sobre fps controller e encontrei o do MarcosSchultz, segui seu tutorial e passei um tempo tentando entender o funcionamento do script, dai tentei refazer o script com o que eu entendi das aulas e refiz esse script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class fpsController : MonoBehaviour {
private GameObject cameraFps;
private CharacterController controller;
public float moveSpeed = 0;
private float xMove, zMove;
// Use this for initialization
void Start () {
transform.tag = "Player";
cameraFps = GetComponentInChildren<Camera>().transform.gameObject;
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
xMove = Input.GetAxis("Horizontal"); ----------------//Apenas modifiquei aqui o update
zMove = Input.GetAxis("Vertical");
Vector3 endMovement = new Vector3(xMove, 0, zMove);
transform.position += endMovement * moveSpeed * Time.deltaTime;
}
}
Testei isso aqui e ta funcionando normalmente, mas essa forma é correta de se fazer? vai dar algum problema?
endersoneneilsa- Membro
- PONTOS : 2762
REPUTAÇÃO : 4
Respeito as regras :
Re: Script de movimento
Então pode explicar a sua pergunta? :roll: Desculpa.. Eu sou meio lerdo.endersoneneilsa escreveu:Nao cara, acho que vc nao entendeu minha perguntaSouris escreveu:Não entendo o porque você quer usar o Character Controller se você não o usa. Além disso, eu recomendo o Rigidbody do que o transform.position, já que ele não funciona muito bem com colisões..endersoneneilsa escreveu:Olá pessoal, sou iniciante na programaçao e estou com essa duvida, busquei um tutorial sobre fps controller e encontrei o do MarcosSchultz, segui seu tutorial e passei um tempo tentando entender o funcionamento do script, dai tentei refazer o script com o que eu entendi das aulas e refiz esse script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class fpsController : MonoBehaviour {
private GameObject cameraFps;
private CharacterController controller;
public float moveSpeed = 0;
private float xMove, zMove;
// Use this for initialization
void Start () {
transform.tag = "Player";
cameraFps = GetComponentInChildren<Camera>().transform.gameObject;
controller = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
xMove = Input.GetAxis("Horizontal"); ----------------//Apenas modifiquei aqui o update
zMove = Input.GetAxis("Vertical");
Vector3 endMovement = new Vector3(xMove, 0, zMove);
transform.position += endMovement * moveSpeed * Time.deltaTime;
}
}
Testei isso aqui e ta funcionando normalmente, mas essa forma é correta de se fazer? vai dar algum problema?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Script de movimento
Cara!
Essa não é a forma correta de se fazer, mas tambem não irá dar nenhum problema;
Recomendo usar o Rigidbody.velocity para movimentação;
1- Sempre coloque seus codigos, dentro da caixa Script aqui do forum para uma maior organização;
2- O uso dos GetComponents e GetComponentsInChildren está errado nesse seu script, você está chamando o método mas não passando o componente;
Essa não é a forma correta de se fazer, mas tambem não irá dar nenhum problema;
Recomendo usar o Rigidbody.velocity para movimentação;
1- Sempre coloque seus codigos, dentro da caixa Script aqui do forum para uma maior organização;
- Código:
//Here
2- O uso dos GetComponents e GetComponentsInChildren está errado nesse seu script, você está chamando o método mas não passando o componente;
Phph09- Profissional
- PONTOS : 3791
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Tópicos semelhantes
» Meu script de Movimento não deixa meu script do Pulo duplo funcionar.
» Script De Movimento
» ajuda com script de movimento
» [RESOLVIDO] Alguem tem script de movimento 2d pronto?
» Como acessar variável de um script usando outro script (Entre e entenda).
» Script De Movimento
» ajuda com script de movimento
» [RESOLVIDO] Alguem tem script de movimento 2d pronto?
» Como acessar variável de um script usando outro script (Entre e entenda).
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos