Jump to content
Unity Insider Forum

UnSpeed

Members
  • Content count

    210
  • Joined

  • Last visited

  • Days Won

    1

UnSpeed last won the day on December 13 2010

UnSpeed had the most liked content!

Community Reputation

2 Neutral

About UnSpeed

  • Rank
    Advanced Member
  • Birthday 08/03/1994

Profile Information

  • Gender
    Male
  • Location
    Germany, NRW
  • Interests
    Game-Designing, 3D-Designing
  1. Hey Leute Aktuell arbeite ich an einem Remake von dem grandiosen Spiel "Harvest Moon 2". Das ganze soll 2D sein und allgemein nach dem Motto aufgebaut werden: So nah wie möglich, so frei wie nötig. Ich habe bereits alle 7 Overworld Maps designed und wollte nun anfangen in Unity die Steuerung des Charakters zu realisieren. Dabei stieß ich allerdings auf ein Problem: je nach Position des Spielers befindet sich ein Sprite entweder vor dem Spieler oder eben dahinter. Um das zu verdeutlichen: Ich habe bereits recherchiert und etwas davon gelesen, dass man entweder die Sprite Order nach Y-Position ändern soll oder man die 3D-Engine nutzen soll. Kann mir das jemand erklären oder eine andere Lösung aufzeigen? Danke schonmal, PanCave
  2. Das hilft definitiv schon sehr weiter eure Anregungen! Eine Frage noch: Dann müsste ich doch auch die Position der Maus umrechnen können, wenn als Spieler A seine Karte in Schlangenlinien auf die Hand nimmt, dass dann Spieler B diese Schlangenlinien verkehrt herum (also perspektivisch) auch sieht, oder?
  3. Hey, ich bräuchte mal bitte einen kleinen Denkanstoß. Mein Vorhaben: Ich programmiere ein 2D-Kartenspiel (Phase 10). Und ich muss es nun schaffen, dass alle Spieler (erstmal max 2) quasi das gleiche sehen, aber doch etwas unterschiedliches. Jeder Spieler soll unten in einer Leiste seine eigenen Karten und oben die des Gegners sehen. In der Mitte sind für beide Deck und Ablagestapel. Zusätzlich soll aber das Bewegen von Karten von "live" passieren. Das bedeutet, wenn ich mit meiner Maus eine Karte vom Deck ziehe, soll der Gegner genau meine Bewegungen sehen, nur halt verkehrt herum. Außerdem soll man natürlich die Karten des Gegners nur von der Rückseite sehen und so weiter. Mein Problem: Ich habe keine Ahnung, wie ich dieses "gleich und doch anders" realisieren kann... Auch habe ich bereits an eine 3D-Lösung gedacht, da dort dieses Problem nicht auftreten würde, aber das wäre mir ehrlich gesagt nicht so recht. Jemand Denkanstöße, Links oder ähnliches? Danke schonmal UnSpeed
  4. UnSpeed

    Mausposition in 3D-Position umrechnen

    Also, erstmal vielen Dank für den Tip, das hat super funktioniert! Deshalb präsentiere ich hier mal die Lösung, damit andere das auch so schnell hinbekommen: #pragma strict var rb : Rigidbody; var grabbed = false; var pickUpHeight : float; function OnMouseDown() { grabbed = true; } function OnMouseUp() { grabbed = false; } function setPickUpHeight() { pickUpHeight = 0.5; } function Start () { rb = GetComponent.<Rigidbody>(); setPickUpHeight(); } function updateCoordsFromMouse() { var hit : RaycastHit; var ray = Camera.main.ScreenPointToRay(Input.mousePosition); if(Physics.Raycast(ray, hit,1<<8)) { transform.position = Vector3(hit.point.x,transform.position.y,hit.point.z); } } function Update () { if (grabbed) { updateCoordsFromMouse(); rb.useGravity = false; while(pickUpHeight > 0) { this.transform.Translate(Vector3.up*Time.deltaTime*2); pickUpHeight -= Time.deltaTime*2; } } else { rb.useGravity = true; setPickUpHeight(); } } Dabei ist die Methode updateCoordsFromMouse() der Knackpunkt function updateCoordsFromMouse() { var hit : RaycastHit; var ray = Camera.main.ScreenPointToRay(Input.mousePosition); if(Physics.Raycast(ray, hit,1<<8)) { transform.position = Vector3(hit.point.x,transform.position.y,hit.point.z); } } Das dritte Argument von Raycast ist "1<<8". Das ist ein User Layer, den ich erstellt habe (Rechts Oben und Layers, dann Edit Layer und dann einen eintragen) Ich habe eine Plane erstellt, die den Layer bekommen hat und da das der achte Layer ist, wird nur dieser in die Raycast-Berechnung einbezogen. Nochmals danke!
  5. UnSpeed

    Mausposition in 3D-Position umrechnen

    Wow, die ganze Zeit im Internet gesucht und nichts gefunden. Jetzt, nachdem ich das Thema erstellt habe, habe ich natürlich parallel weitergesucht und jetzt habe ich etwas gefunden. Für alle, die ein ähnliches Problem haben: http://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html
  6. Hey Leute, sorry, aber besser kann ich den Titel nich beschreiben, wenn jemand einen passenderen findet, feel free! Zu meinem Vorhaben: Die Szene ist ein Blick auf einen Tisch vpn schräg oben, statische Kamera (Später evtl. nicht mehr). Auf dem Tisch befinden sich verschiedene Gegenstände, die mittels Maus bewegt werden können sollen. Also OnMouseDown() - Objekt wird aufgehoben, OnMouseUp() - Objekt wird fallengelassen. Code dazu: #pragma strict var rb : Rigidbody; var grabbed = false; var pickUpHeight : float; function OnMouseDown() { Debug.Log("Clicked"); grabbed = true; } function OnMouseUp() { Debug.Log("UnClicked"); grabbed = false; } function setPickUpHeight() { pickUpHeight = 0.5; } function Start () { rb = GetComponent.<Rigidbody>(); setPickUpHeight(); } function Update () { if (grabbed) { rb.useGravity = false; while(pickUpHeight > 0) { this.transform.Translate(Vector3.up*Time.deltaTime*2); pickUpHeight -= Time.deltaTime*2; } } else { rb.useGravity = true; setPickUpHeight(); } } Das ist nicht der beste Code, ich weiß. Aber er funktioniert ganz gut, deshalb werde ich ihn wahrscheinlich erst später überarbeiten. So, jetzt das Problem: Wenn der Gegenstand aufgehoben worden ist, soll man ihn mit der Maus verschieben können und zwar so, dass die Mousebewegung perspektivisch umgerechnet wird... wird das klar?! :/ Meine Idee war, irgendwie zu ermitteln, worauf die Maus zeigt, da es möglich ist, zu erkennen, ob die Maus über einem Objekt ist, dachte ich mir, dass es auch sein könnte, dass man ermitteln kann WO GENAU sich die Maus über einem Objekt befindet. Ich bin für jeden Tip und jede Hilfe dankbar! Danke, UnSpeed
  7. UnSpeed

    Welche Programme zum Modeln ?

    Im Prinzip lässt sich über diese Frage kaum streiten: Preis-Leistungs-technisch ist Blender natürlich die beste Variante, da es von den Funktionen her den großen Programmen kaum nachsteht. Allerdings mangelt es bei Blender extrem an der Benutzerfreundlichkeit und vor allem der Komplexität. Wenn du dir aber ein Programm zulegen willst, dass wirklich alles kann, dann empfehle ich dir den Allrounder Cinema 4D von Maxon. Das Programm ist benutzerfreundlich, effizient, leicht zu erlernen und liefert wirklich sehr gute Ergebnisse mit ein bisschen Übung. Sollten sich deine Vorlieben mehr auf das sculpten von vor allem organischen Strukturen wir zB. Tiere, Menschen etc. beschränken, empfehle ich ZBrush. Es ist zwar nicht ganz einfach die vielen hilfreichen Funktionen zu Überblicken, aber wenn man sich einmal halbwegs auskennt, geht alles viel schneller von der Hand. Mein persönliches Lieblingsmodellingprogramm ist Silo. Leider hatte ich noch nicht die Ehre mit dem Programm arbeiten zu dürfen, aber die Funktionalität, Effizienz und Benutzerfreundlichkeit ist überragend. Ansonsten gibt es natürlich auch noch Maya und 3DS Max, von denen ich jetzt nicht allzu viel sagen kann, weil ich sie selbst kaum benutze. Allerdings, das was ich von Maya bisher sah, lässt mich glauben, dass auch dies ein sehr starkes Programm ist. Aber: wenn man keine Ahnung hat, einfach mal Fresse halten Ich hoffe ich konnte dir ein wenig weiter helfen, UnSpeed P.S.: Die Testprogramme heißen Trial, nicht Trail
  8. Ok, mal an einem konkreten Beispiel: Wie mache ich das an einer Kurve?
  9. Ja, das weiss ich inzwischen. Aber meine Meshes sind zu groß für convexe MeshCollider Und dann meine neue Frage: wie sperrt man dann invertierte runde Bereiche ab?
  10. Wäre ja nicht so das Ding, wenn da nicht ein Faktum wäre: Anfang und Start sind Kreise... Also praktisch ein Zylinder inn extrudiert... Zur Veranschaulichung: Wie mache ich denn da Collider drum?
  11. Ok, ich glaube der Titel ist diesmal nicht selbsterklärend: Ich habe eine Mesh in Unity importiert. Hat auch alles wunderbar geklappt, MeshCollider drauf und fertig... Habe ich zumindest gedacht: Denn irgendwann hat sich herausgestellt, dass der MeshCollider irgendwie nicht richtig ist... Ich zeigs euch am besten mal: Könnt ihr mir helfen zu sagen, warum bzw. wie ich das wieder hinbekomme? Originaldatei ist übrigens noch vorhanden. Danke, UnSpeed
  12. UnSpeed

    gesplitete Animation starten

    @DynamicHead: Ja, sie lief mal. Bevor sie gesplitet wurde... >.< @tomkro: Entschuldigung angenommen Das wäre ein Aufwand, den ich in Unity nicht betreiben möchte, denn es handelt sich um eine klassische Tür mit Schanieren. Ich weiß, dass man das Sinus, Cosinus und Tangens berechnen könnte, aber das brauche ich alles nicht, da ich das woanders viel einfacher hinbekommen kann.
  13. UnSpeed

    gesplitete Animation starten

    Ah, das ist hilfreich, danke Naja, Unity muss es zerstört haben, bzw. Unity in meinem Auftrag, denn ich habe dieses Projekt erst gestern begonnen Da ist als nichts mit von wegen Update und so Edit: Reimport funktioniert leider auch nicht -.-
  14. UnSpeed

    gesplitete Animation starten

    Wie war das noch gleich: Ein Bild sagt mehr als tausend Worte Also in dem Sinne: JA Aber mal im Ernst: Doch, ich habe die .fbx-Datei nur da gespeichert, weil sie eigentlich so unwichtig ist, dass ich nicht 2-mal Speicher dafür belegen wollte... Unity hat also die Animation in der .fbx-Datei 'zerstört', ja? Wenn ja, dann kann dieses Thema wohl geschlossen werden
  15. UnSpeed

    gesplitete Animation starten

    DynamicHead hat Recht, die Animation funktioniert gar nicht mehr -.- Ich frage mich nur, wie das passieren konnte und vor allem: wie komme ich jetzt wieder an eine funktionierende Animation xD @tomkro: Auf dem Bild sieht man deutlich, dass das Script zugewiesen wurde Und natürlich erinnere ich mich noch an deinen Fehler, er hat mich immerhin über 30 Minuten fast zur Weißglut getrieben
×