Pessoal como posso modificar esses script para Joystick feito pelo Marcos Schultz
Página 1 de 1
Pessoal como posso modificar esses script para Joystick feito pelo Marcos Schultz
Pessoal como posso modificar esses scripts para Joystick feito pelo Marcos Schultz, gostaria de um Joysticl para a Camera e outro para a Movimentação e Animação.
Esse é o script do movimento.
Script da Animação
Script da Camera
Esse é o script do Joystick feito pelo Marcos Schultz
Esse é o script do movimento.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class MOve : MonoBehaviour
{
Vector3 targetRotation;
float rotationSpeed = 8;
public float speed = 20;
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;
}
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;
}
}
Script da Animação
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Animação : MonoBehaviour
{
private Animator animador;
void Start()
{
animador = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.W))
{
animador.SetInteger("parado", 1);
}
else
{
if (Input.GetKey(KeyCode.S))
{
animador.SetInteger("parado", 1);
}
else
{
if (Input.GetKey(KeyCode.A))
{
animador.SetInteger("parado", 1);
}
else
{
if (Input.GetKey(KeyCode.D))
{
animador.SetInteger("parado", 1);
}
else
{
if (Input.GetKey(KeyCode.R))
{
animador.SetInteger("parado", 4);
}
else
if (Input.GetKey(KeyCode.F))
{
animador.SetInteger("parado", 5);
}
else
if (Input.GetKey(KeyCode.G))
{
animador.SetInteger("parado", 6);
}
else
{
if (Input.GetKeyDown(KeyCode.Space))
{
animador.SetInteger("parado", 2);
}
else
{
animador.SetInteger("parado", 0);
}
}
}
}
}
}
}
}
Script da Camera
- Código:
using UnityEngine;
using System.Collections;
[AddComponentMenu("Camera-Control/Mouse Orbit with zoom")]
public class Camera1: MonoBehaviour {
public Transform target;
public float distance = 5.0f;
public float xSpeed = 120.0f;
public float ySpeed = 120.0f;
public float yMinLimit = -20f;
public float yMaxLimit = 80f;
public float distanceMin = .5f;
public float distanceMax = 15f;
private Rigidbody rigidbody;
float x = 0.0f;
float y = 0.0f;
// Use this for initialization
void Start ()
{
Vector3 angles = transform.eulerAngles;
x = angles.y;
y = angles.x;
rigidbody = GetComponent<Rigidbody>();
// Make the rigid body not change rotation
if (rigidbody != null)
{
rigidbody.freezeRotation = true;
}
}
void LateUpdate ()
{
if (target)
{
x += Input.GetAxis("Mouse X") * xSpeed * distance * 0.02f;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
y = ClampAngle(y, yMinLimit, yMaxLimit);
Quaternion rotation = Quaternion.Euler(y, x, 0);
distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel")*5, distanceMin, distanceMax);
Vector3 negDistance = new Vector3(0.0f, 0.0f, -distance);
Vector3 position = rotation * negDistance + target.position;
transform.rotation = rotation;
transform.position = position;
}
}
public static float ClampAngle(float angle, float min, float max)
{
if (angle < -360F)
angle += 360F;
if (angle > 360F)
angle -= 360F;
return Mathf.Clamp(angle, min, max);
}
}
Esse é o script do Joystick feito pelo Marcos Schultz
- Código:
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class MSJoystickController : MonoBehaviour
{
public MSJoystick joystick;
public static Vector2 joystickInput;//é possível acessar através de MSJoystickController.joystickInput
void Update()
{
if (joystick)
{
joystickInput = new Vector2(joystick.joystickX, joystick.joystickY);
}
}
}
teos626- Membro
- PONTOS : 1926
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Posso juntar esse Script com o de IA Inimigo do MARCOS SCHULTZ ?
» Posso confiar em sites que dizem ter materias para livre uso, tanto pessoal como comercial?
» alguem sabe como eu posso colocar um joystick para mover a camera
» como modificar o script para receber e registar o dano no personagem
» Como faço para distanciar um objeto do outro pelo script?
» Posso confiar em sites que dizem ter materias para livre uso, tanto pessoal como comercial?
» alguem sabe como eu posso colocar um joystick para mover a camera
» como modificar o script para receber e registar o dano no personagem
» Como faço para distanciar um objeto do outro pelo script?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos