Esempi Unity per il controllo di una sfera

Salto e Controllo

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Holding : MonoBehaviour
{
    public float LaunchCharge = 0f;
    public float LaunchWeak = 5f;
    public float LaunchMedium = 10f;
    public float LaunchStrong = 15f;

    public float jumpForce = 10f;
    public Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.Space))
        {
            LaunchCharge += Time.deltaTime * 5f;
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Force);
        }
        if (Input.GetKeyUp(KeyCode.Space))
        {
            LaunchStart();
        }
    }
   public void LaunchStart()
    {
        if (LaunchCharge >= LaunchStrong)
        {
            Debug.Log("WOAH incredible!");
            LaunchCharge = 0;
        }
        else if (LaunchCharge >= LaunchMedium)
        {

            Debug.Log("Nice shot!");
            LaunchCharge = 0;
        }
        else
        {
            Debug.Log("Could be better...");
            LaunchCharge = 0;
        }
    }
}

Questo codice è un esempio di uno script scritto in C# per Unity.
Lo script è progettato per un oggetto, e consente di saltare e caricare un salto potenziato premendo il tasto “spazio”.

Le variabili “LaunchCharge”, “LaunchWeak”, “LaunchMedium” e “LaunchStrong” contengono i valori per la forza del salto caricato. La variabile “jumpForce” determina l’intensità del salto normale. La variabile “rb” è un riferimento al componente Rigidbody dell’oggetto di gioco.

Nell’Update, quando il giocatore tiene premuto il tasto “spazio”, viene aggiunto un valore a “LaunchCharge” e viene applicata una forza verso l’alto al Rigidbody dell’oggetto. Quando il giocatore rilascia il tasto “spazio”, viene chiamato il metodo “LaunchStart”, che valuta il valore di “LaunchCharge” e stampa un messaggio sulla console di debug di Unity, in base alla forza del salto caricato.

In sintesi, questo script fornisce al giocatore un modo per caricare un salto potenziato premendo il tasto “spazio” e fornisce un feedback visivo tramite messaggi di debug sulla forza del salto caricato.

Controllo Telecamera

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraControl : MonoBehaviour
{
    public GameObject ball;
    private Vector3 offset;

    void Start()
    {
        offset = transform.position - ball.transform.position;
    }

    void LateUpdate()
    {
        transform.position = ball.transform.position + offset;
    }
}

Questo codice controlla la posizione della telecamera in un gioco in terza persona.

Il primo passo è dichiarare le variabili necessarie, in questo caso “ball” e “offset”. “ball” è un riferimento all’oggetto di gioco che si desidera seguire con la telecamera. “offset” è un vettore che rappresenta la distanza tra la posizione iniziale della telecamera e quella dell’oggetto di gioco.

Nel metodo Start, viene impostato l’offset come la differenza tra la posizione iniziale della telecamera e quella dell’oggetto di gioco. Questo viene fatto per assicurarsi che la telecamera inizi nella giusta posizione rispetto all’oggetto di gioco.

Nel metodo LateUpdate, la posizione della telecamera viene aggiornata in modo che sia sempre centrata sull’oggetto di gioco. Questo viene fatto aggiungendo l’offset alla posizione corrente dell’oggetto di gioco e assegnando il risultato alla posizione della telecamera. LateUpdate viene utilizzato invece di Update perché garantisce che la posizione della telecamera sia aggiornata dopo che l’oggetto di gioco si è mosso, in modo che la telecamera lo segua correttamente.

In sintesi, questo script consente alla telecamera di seguire un oggetto di gioco in terza persona in modo che sia sempre centrata su di esso. Ciò può migliorare l’esperienza di gioco perché il giocatore ha sempre una visione chiara dell’oggetto di gioco e dell’ambiente circostante.

Cambiare colore di un’oggetto con dei tasti

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class colors : MonoBehaviour
{


    void Start()
    {
      
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.R))
        {
            gameObject.GetComponent<Renderer>().material.color = Color.red;
        }
        else if (Input.GetKeyDown(KeyCode.G))
        {
            gameObject.GetComponent<Renderer>().material.color = Color.green;
        }
        else if (Input.GetKeyDown(KeyCode.B))
        {
            gameObject.GetComponent<Renderer>().material.color = Color.blue;
        }
    }
}

Lo script definisce una classe chiamata “colors” che eredita da MonoBehaviour. La classe contiene due metodi: Start() e Update().

Nel metodo Update(), il codice controlla se sono state premute i tasti “R”, “G” o “B” sulla tastiera. Se il tasto “R” viene premuto, il colore del materiale del Renderer dell’oggetto corrente viene impostato su rosso. Se il tasto “G” viene premuto, il colore del materiale viene impostato su verde, mentre se viene premuto il tasto “B”, il colore viene impostato su blu.

In pratica, questo script permette di cambiare il colore di un oggetto durante l’esecuzione del gioco.

/ 5
Grazie per aver votato!
mycus
Author: mycus