Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

TGSlp

Members
  • Content count

    13
  • Joined

  • Last visited

Community Reputation

1 Neutral

About TGSlp

  • Rank
    Member
  • Birthday 04/21/1997

Profile Information

  • Gender
    Male
  • Interests
    Programmieren, Videos erstellen
  1. Player bewegen

    Gibt es nicht die Möglichkeit Unity3D in vb.net zu benutzen? Das kann ich nähmlich Naja danke trotzdem, werd mal schauen!
  2. Player bewegen

    Hey, ich bins mal wieder. Nach langem suchen versuche ich mich wieder an Unity. Ich will einen kleinen Shooter machen. Zum bewegen, und rumschauen wollte ich dies benutzen: /// This is a modified javascript conversion of the Standard Assets MouseLook script. /// Also added is functionallity of using a key to look up, down, left and right in addition to the Mouse. /// Everything is on by default. You will want to turn off/on stuff depending on what you're doing. /// You can also modify the script to use the KeyLook functions to control an object's rotation. /// Try using MouseXandY on an object. Actually it works as is but you'll want to clean it up /// As of this version the key and mouse fight if used at the same time (ie up key and down mouse jitters). /// Minimum and Maximum values can be used to constrain the possible rotation /// To make an FPS style character: /// - Create a capsule. /// - Add a rigid body to the capsule /// - Add the MouseLookPlus script to the capsule. /// -> Set the script's Axis to MouseX in the inspector. (You want to only turn character but not tilt it) /// - Add FPSWalker script to the capsule /// - Create a camera. Make the camera a child of the capsule. Reset it's transform. /// - Add the MouseLookPlus script to the camera. /// -> Set the script's Axis to MouseY in the inspector. (You want the camera to tilt up and down like a head. The character already turns.) enum Axes {MouseXandY, MouseX, MouseY} var Axis : Axes = Axes.MouseXandY; var sensitivityX = 15.0; var sensitivityY = 15.0; var minimumX = -360.0; var maximumX = 360.0; var minimumY = -60.0; var maximumY = 60.0; var rotationX = 0.0; var rotationY = 0.0; var lookSpeed = 2.0; var cameraReference : Camera; var speed = 10.0; var gravity = 10.0; var maxVelocityChange = 10.0; var canJump = true; var jumpHeight = 2.0; private var grounded = false; @script RequireComponent(Rigidbody, CapsuleCollider) function Awake () { rigidbody.freezeRotation = true; rigidbody.useGravity = false; } function FixedUpdate () { if (grounded) { // Calculate how fast we should be moving var targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); targetVelocity = transform.TransformDirection(targetVelocity); targetVelocity *= speed; // Apply a force that attempts to reach our target velocity var velocity = rigidbody.velocity; var velocityChange = (targetVelocity - velocity); velocityChange.x = Mathf.Clamp(velocityChange.x, -maxVelocityChange, maxVelocityChange); velocityChange.z = Mathf.Clamp(velocityChange.z, -maxVelocityChange, maxVelocityChange); velocityChange.y = 0; rigidbody.AddForce(velocityChange, ForceMode.VelocityChange); // Jump if (canJump && Input.GetButton("Jump")) { rigidbody.velocity = Vector3(velocity.x, CalculateJumpVerticalSpeed(), velocity.z); } } // We apply gravity manually for more tuning control rigidbody.AddForce(Vector3 (0, -gravity * rigidbody.mass, 0)); grounded = false; } function OnCollisionStay () { grounded = true; } function CalculateJumpVerticalSpeed () { // From the jump height and gravity we deduce the upwards speed // for the character to reach at the apex. return Mathf.Sqrt(2 * jumpHeight * gravity); } function Update () { // Move toward and away from the camera if (Input.GetAxis("Vertical")) { var translationZ = Input.GetAxis("Vertical"); transform.localPosition += cameraReference.transform.localRotation * Vector3(0,0,translationZ); } // Strafe the camera if (Input.GetAxis("Horizontal")) { var translationX = Input.GetAxis("Horizontal"); transform.localPosition += cameraReference.transform.localRotation * Vector3(translationX,0,0); } if (Axis == Axes.MouseXandY) { // Read the mouse input axis rotationX += Input.GetAxis("Mouse X") * sensitivityX; rotationY += Input.GetAxis("Mouse Y") * sensitivityY; // Call our Adjust to 360 degrees and clamp function Adjust360andClamp(); // Most likely you wouldn't do this here unless you're controlling an object's rotation. // Call our look left and right function. KeyLookAround(); // Call our look up and down function. KeyLookUp(); } else if (Axis == Axes.MouseX) { // Read the mouse input axis rotationX += Input.GetAxis("Mouse X") * sensitivityX; // Call our Adjust to 360 degrees and clamp function Adjust360andClamp(); // if you're doing a standard X on object Y on camera control, you'll probably want to // delete the key control in MouseX. Also, take the transform out of the if statement. // Call our look left and right function. KeyLookAround(); // Call our look up and down function. KeyLookUp(); } else { // Read the mouse input axis rotationY += Input.GetAxis("Mouse Y") * sensitivityY; // Call our Adjust to 360 degrees and clamp function Adjust360andClamp(); // Call our look left and right function. KeyLookAround(); // Call our look up and down function. KeyLookUp(); } } function KeyLookAround () { // If you're not using it, you can delete this whole function. // Just be sure to delete where it's called in Update. // Call our Adjust to 360 degrees and clamp function Adjust360andClamp(); // Transform our X angle transform.localRotation = Quaternion.AngleAxis (rotationX, Vector3.up); } function KeyLookUp () { // Adjust for 360 degrees and clamp Adjust360andClamp(); // Transform our Y angle, multiply so we don't loose our X transform transform.localRotation *= Quaternion.AngleAxis (rotationY, Vector3.left); } function Adjust360andClamp () { // This prevents your rotation angle from going beyond 360 degrees and also // clamps the angle to the min and max values set in the Inspector. // During in-editor play, the Inspector won't show your angle properly due to // dealing with floating points. Uncomment this Debug line to see the angle in the console. // Debug.Log (rotationX); // Don't let our X go beyond 360 degrees + or - if (rotationX < -360) { rotationX += 360; } else if (rotationX > 360) { rotationX -= 360; } // Don't let our Y go beyond 360 degrees + or - if (rotationY < -360) { rotationY += 360; } else if (rotationY > 360) { rotationY -= 360; } // Clamp our angles to the min and max set in the Inspector rotationX = Mathf.Clamp (rotationX, minimumX, maximumX); rotationY = Mathf.Clamp (rotationY, minimumY, maximumY); } function Start () { // Make the rigid body not change rotation if (rigidbody) { rigidbody.freezeRotation = true; } } Wenn ich das Spiel starte, kann ich mich mit den Pfeiltasten bewegen, jedoch nicht die Maus zum Rumschauen benutzen. Aber wenn ich einmal mit der Maus klicke, gehts, jedoch kann ich mich dann nicht mehr mit den Pfeiltasten bewegen... Also das Problem liegt darin, dass es nicht gleichzeitig geht! Benutze Java dafür. Hoffe jemand weiss Rat! Mfg. TGS EDIT: Wenn ich die Maus benutze, gehen die Pfeiltasten nicht, benutze ich die Pfeiltasten, geht die Maus nicht.
  3. RPC Fehler

    Hi.. Ich habe eine kleine GUI zum Server Hosten. Doch sobald ich "Server Hosten" drücke passiert folgendes an Fehlern: [quote Sending RPC failed because 'Client_AddPlayerToList' parameter 0 didn't match the RPC declaration. Expected 'System.String' but got 'UnityEngine.NetworkPlayer' UnityEngine.NetworkView:RPC(String, RPCMode, Object[]) MultiplayerManager:Server_PlayerJoinRequest(String, NetworkPlayer) (at Assets/Scripts/MultiplayerManager.cs:49) MultiplayerManager:OnServerInitialized() (at Assets/Scripts/MultiplayerManager.cs:33) UnityEngine.Network:InitializeServer(Int32, Int32, Boolean) MultiplayerManager:StartServer(String, String, Int32) (at Assets/Scripts/MultiplayerManager.cs:26) MenuManager:Menu_HostGame() (at Assets/Scripts/MenuManager.cs:52) MenuManager:OnGUI() (at Assets/Scripts/MenuManager.cs:23) ] Mein Code mit den RPCs sieht so aus: [RPC] void Server_PlayerJoinRequest(string playername, NetworkPlayer view) { networkView.RPC("Client_AddPlayerToList", RPCMode.All, view); } [RPC] void Client_AddPlayerToList(string playername, NetworkPlayer view) { MPPlayer tempplayer = new MPPlayer(); tempplayer.PlayerName = playername; tempplayer.PlayerNetwork = view; PlayerList.Add(tempplayer); } [RPC] void Client_RemovePlayer(NetworkPlayer view) { MPPlayer temppl = null; foreach(MPPlayer pl in PlayerList) { if (pl.PlayerNetwork == view) { temppl = pl; } } if (temppl != null) { PlayerList.Remove(temppl); } } } public class MPPlayer { public string PlayerName = ""; public NetworkPlayer PlayerNetwork; } Wo ist der Fehler? Danke. Mfg. TGS ****ERLEDIGT**** Hier war der Fehler: [RPC] void Server_PlayerJoinRequest(string playername, NetworkPlayer view) { networkView.RPC("Client_AddPlayerToList", RPCMode.All, view); } Es müsste aber so sein: [RPC] void Server_PlayerJoinRequest(string playername, NetworkPlayer view) { networkView.RPC("Client_AddPlayerToList", RPCMode.All, playername, view); } Jetzt noch ein Problem: Ich kann zwar den Server ohne Probleme hosten, aber da steht immernoch: No Players connected.. Wo kann da der Fehler sein? ****ERLEDIGT**** So nun aber ein letztes Problem. 1. Warum sehe ich fremde Server, wenn ich einmal refreshe die Serverliste? 2. Wenn ich den Server hoste, steht mein Name da. Wenn ich dem Server joine, steht da ein leerer Name in der Namensliste.. Woran können diese 2 Sachen liegen?
  4. Schon gut ich Dödel hab wieder vergessen das Script an ein Objekt zu hängen. Mfg. TGS
  5. Ich habe ein kleines Problem, undzwar wir die GUI wieder nicht angezeigt -.- Start ist groß und habe seit heute nachmittag nichts geändert...
  6. ja ich weiss doch auch nicht warum das nicht so war in VC# =D
  7. Ja das stimmt.. Deswegen habe ich den Fehler ja nicht gefunden. Im C# Projekt war aber das "S" klein, warum auch immer... Aber hauptsache es ist geklärt. Mfg. TGS
  8. So, alles geht! Da ich im Chat den lieben Siebenkeim gefragt habe, und er den Fehler gefunden hat: void start() muss zu void Start() Nun geht alles! Vielen lieben dank an dich!!! Mfg. TGS, und ich bin mir sicher, dieses Forum wird noch öfter von mir hören! Also ich bin froh und es kann geclosed werden =)))
  9. Hi. Erstmal danke, dass ihr wieder angefangen habt, mir zu helfen Leider hängt das Script schon an einem Objekt! An "Main Camera" So siehts aus bei mir: Sieht dort einer irgendeinen Fehler? Hab gestern Visual C# und Unity deinstalliert, und neu installiert, doch auch das brachte nichts. Mfg. TGS
  10. Eure Lösungen bringen mir nicht viel, weil ich 1. nur vb.net gelernt habe und in c# komplett neu bin wegen Unity, und der Code ja gehen muss von meinem alten Projekt, wo ich nichts am Code gemacht habe, und trotzdem keine GUI angezeigt wird. Das ist ja plötzlich passiert. Deshalb kann es nicht sein, dass es eine andere Ursache hat? Mfg. TGS
  11. Hat leider nicht funktioniert Ich hoffe jemand findet den Fehler, ich verzweifle grad
  12. Hi. Erstmal VIELEN Dank =) Also hier ist das Video: http://www.youtube.com/watch?v=o_wQ8Kw6A_s Bei 5:37 sieht man den Code. Ich habe das Script auf MainCamera gelegt, obwohl im Video das Script nirgens drauf gelegt wird, soweit ich mich erinnern kann. Ein Häkchen neben dem Script habe ich. Ich hoffe du oder auch jemand anderes kommt den Problem näher, denn das behindert grade mein ganzes Projekt
  13. Hi.. Gestern habe ich noch einem Tutorial gefolgt und eine Multiplayer GUI gemacht. Leider hatte ich einen Fehler, den ich nicht finden konnte und wollte nochmal alles neu machen. Nun habe ich das Problem, dass mir die GUI nicht mehr angezeigt wird wenn ich das Spiel starte.. Weder bei meinem alten Projekt, noch bei komplett neuen. Ich arbeite mit Visual C#. Code bis jetzt der 100% wie im Video ist: using UnityEngine; using System.Collections; public class MenuManager : MonoBehaviour{ public string CurrentMenu; void Start() { CurrentMenu = "Main"; } void OnGUI() { if (CurrentMenu == "Main") Menu_Main(); if (CurrentMenu == "Lobby") Menu_Lobby(); if (CurrentMenu == "Host") Menu_HostGame(); } public void NavigateTo(string nextmenu) { CurrentMenu = nextmenu; } public void Menu_Main() { if (GUI.Button(new Rect(10, 10, 200, 50), "Host Game")) { NavigateTo("Host"); } } private void Menu_HostGame() { if (GUI.Button(new Rect(10, 10, 200, 50), "Back")) { NavigateTo("Main"); } } private void Menu_Lobby() { } } Doch wie gesagt, wird mir einfach der blaue Bildschirm gezeigt und nicht der Button. An den Einstellungen habe ich nichts gemacht. Habe Unity schon neu installiert auch mit dem Revo Uninstaller. Leider hat nichts gebracht. Auch nicht eine ältere portable Version. Woran kanns nun liegen? Danke. Mfg. TGS
×