Jump to content
Unity Insider Forum

schamamutz

Newbie
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von schamamutz

  1. Werfen funktioniert und ist defenitive besser. Ich habe auch was bei new Vector3 hinzugefügt. Nur der Boden.... Ich hatte aus Unity das GameObject Plane erstellt und auf meine gewünschte größe skalliert. Ich würde das so verstehen, dass eine PLane ein flacher Cube ist. Ich habe jetzt mal eine große Fläche vom Cube als Spielfeld unter dem eigentlichen Spielfeld erstellt und siehe da, sie bleiben liegen. Allerdings mit einer Kleinigkeit... Wenn mein Holzstock( flach auf dem Spielfeld liegt, fängt das Bild an zu zucken. Wodran kann das liegen? Einfach daran, dass es auch eine Plane ist und ziemlich flach. Mach ich das mit einer Sphere,Cube funktioniert es einwandfrei. Allerdings mit dem Ausgangspunkt, wie der Stick geworfen wird, ist mir immernoch nicht zu 100% klar, aber das finde ich noch herraus Danke und entschuldigt bitte, dass ich hier solch einen Müll produziert habe
  2. schamamutz

    Stock schießen

    Hallo Leute, falls es dieses Thema schon gibt, bitte ich das zu entschuldigen. Ich habe mir Unity mal zum ausprobieren runtergeladen und muss sagen, dass es Spaß macht. Naja oder auch nicht Ich bin ein blutiger Anfänger und habe mir daher auch zahlreiche Tutorials angeschaut und mir ein Spiel erstellt, indem ich eine Kugel rollen kann. Mit der Kugel kann man dann die Gegenstände aufsammeln, die dann verschwinden. Die aufgesammelten Gegenstände (sofern man welche aufgesammelt hat) sollen nun nach vorne(links,rechts) geworfen werden(aber das kommt erst danach), ausgehend von der zu steuernden Kugel. Das klappt auch halbwegs, aber meine geclonten "Holzstöcker" fallen einfach durch die Spielfäche (mit der Bande und der Spielerkugel interagieren die Holzstöcker) und irgendwie hab ich das Gefühl, dass die Stöcker komisch geschmissen werden, aber man sieht sie auch immer nur Kurz using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class player : MonoBehaviour { public float ballSpeed; //Spieler private Rigidbody rb; //Spieler private int count; //Itemanzahl public GameObject stick; //GameObject mit Rigidbody(use Gravity on, Kinematic off) // Box Collider(is Trigger on) (hatte ich auch mal auf off, machte keinen Unterschied) // Plane (Mesh Filter) // Mesh Renderer // Use this for initialization void Start () { rb = GetComponent<Rigidbody> (); count = 0; } // Update is called once per frame void FixedUpdate () { float xSpeed = Input.GetAxis("Horizontal"); float ySpeed = Input.GetAxis("Vertical"); Vector3 movement = new Vector3 (xSpeed, 0.0f, ySpeed); rb.AddForce (movement * ballSpeed); if(Input.GetMouseButtonDown (0)) { //Beim raufklicken der linken Maustaste if (count > 0){ GameObject stickClone = Instantiate(stick); //Hier wird der Klon vom GameObject "stick" erzeugt. (geht mit und ohne (...) as GameObject ) stick.transform.position =rb.transform.position + new Vector3 (0,0.9f,0); // diesen Part verstehe ich nicht wirklich. Ich muss dem zu werfenden Gegenstand doch seinen Ausgangspunkt geben. Das wäre ja die Spielerkugel. // wieso heißt es "stick.transform.position = " und warum nimmt man nicht den Klon "stickClone.transform.position = "? Möchte ich dem nicht die Position geben, von der aus er loslegen soll? // "=rb.transform.position" -- Position der Spielerkugel ?! (in der Schule hieß es immer, Frage oder Antwort -- Antwort!) // "+ new Vector3 (0,0.9f,0)" -- Beeinflussung der Startposition Rigidbody rb_clone = stickClone.GetComponent<Rigidbody>(); //Hier gebe ich dem Klon einen Körper(aber warum? nehme ich den Part weg funktioniert es nicht. Ich habe dem Stick doch ein Rb gegeben, warum hat der Klon den nicht?) rb_clone.AddForce(( rb.transform.forward +new Vector3 (0, 0.3f, 0)) * 500,ForceMode.Force); // "rb_clone.AddForce" -- ich gebe dem rb_clone einen "Schubs" // "(( transform.forward +new Vector3 (0, 0.3f, 0))" -- ((nach vorne von der Spielerkugelposition + einer Bewegung nach oben)) // " * 500 "-- die Schubskraft || // ,ForceMode.Force -- so ganz verstehe ich das auch nicht, also schon, da die Beschreibung eindeutig ist, aber ich kann diesen Part auch weglassen count = count -1; } else { Debug.Log("Du kannst nichts verholzen!"); } } } void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag ("Pick Up")) { other.gameObject.SetActive (false); count = count +1; } } } Danke schonmal im Vorraus und ich nehme auch gerne Schlagwörter entgegen. Aber selbst komme ich grad nicht weiter. Mfg P.S.: ich habe den Code jetzt unter void Update(), ich habe den Unterschied bestimmt schon 10 mal gelesen, aber jetzt vielleicht verstanden. Das werfen sieht zumindest besser aus Die Klone sind auch nicht weg, sondern die Kamera kann sie nicht mehr einfangen
×
×
  • Neu erstellen...