Opret et nyt 3D projekt
Opret et 3D objekt “Plane” og omdøb det til “Floor”
Opret et 3D objekt “Sphere” og omdøb det til “Player”
Opret en ny mappe i “Assets”-mappen , og omdøb den “Materials”
Opret et nyt “Material” i mappen, og omdøb det til “Player_Material”
Find billede på Nettet “Ball texture” er godt at søge på. Gem billedet i “Materials”-mappen.
Klik på dit “Player_Material”. Du kan nu trække billedet over på dit material
Træk “Player_Material” over på bolden.
Gør det samme med “Floor”, så det kommer til at se lidt lækkert ud
Vælg “Player” og tilføj [Add Component] “Rigidbody” i Inspectoren i højre side.
Bevægelse
Opret en ny mappe i “Assets”-mappen, og kald den “Scripts”
Opret heri et nyt C# script, og kald det “Player_Controller”
Træk herefter scriptet over på “Player”
Åbn scriptet
Udskift med dette script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player_Controller : MonoBehaviour
{
public Rigidbody rb;
public float moveSpeed = 10f;
private float xInput;
private float zInput;
void Awake()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
// Good for handling inputs and animations
ProcessInputs();
}
private void FixedUpdate()
{
// Good for Movement
Move();
}
private void ProcessInputs()
{
xInput = Input.GetAxis("Horizontal");
zInput = Input.GetAxis("Vertical");
}
private void Move()
{
rb.AddForce(new Vector3(xInput, 0f, zInput) * moveSpeed);
}
}
Nu kan du bevæge bolden.
Kameraet
Lav et nyt script, og kald det “CameraController”
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Camera_Controller : MonoBehaviour
{
public GameObject target;
public float xOffset, yOffset, zOffset;
// Update is called once per frame
void Update()
{
transform.position = target.transform.position + new Vector3(xOffset, yOffset, zOffset);
transform.LookAt(target.transform.position);
}
}
Træk det hen på “Main Camera” i Hierakiet, og dobbelklik derefter for at åbne det.
Træk derefter “Player” hen i “Target” på dit script i Inspectoren.
Reset scene
For at kunne genstarte scenen når du dør, skal der laves endnu et script som vi putter på “Player”
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Reset : MonoBehaviour
{
public float threshold = -50f;
// Update is called once per frame
void Update()
{
if (transform.position.y < threshold)
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
}
Nu bestemmer variablen “threshold” hvor langt ned bolden skal falde inden scenen genstarter.
Nu kan du udvide dit spil med flere platforme for at lave en udfordrende bane.
Inden du begynder at lave en masse nye platforme, er det en god idé først at lave en et tomt objekt [Create Empty] som du kalder “Platforme”
Nu kan du trække alle dine platforme over i dette objekt som en mappe for at holde styr på dem.