Jump to content
Unity Insider Forum

Zer0Cool

Members
  • Posts

    2,040
  • Joined

  • Last visited

  • Days Won

    145

Zer0Cool last won the day on September 14 2020

Zer0Cool had the most liked content!

1 Follower

About Zer0Cool

  • Birthday 01/04/1974

Profile Information

  • Gender
    Male
  • Location
    Germany

Contact Methods

  • Skype
    zer0f0rce

Recent Profile Visitors

12,767 profile views

Zer0Cool's Achievements

Advanced Member

Advanced Member (3/3)

416

Reputation

  1. Im Model Import-Fenster auf den Tab Animation: Bei der Animation dann Haken rein bei "Look Time" bzw. "Loop Pose" Die grünen Kreise (= ok) zeigen an, ob die Frames für den Loop korrekt gesetzt sind.
  2. Mal ein Videowunsch von mir. Könntest du mal ein Video machen (oder mehrere) für einen totalen Blender-Änfänger mit folgendem Inhalt: - Erklärung der verschiedenen Version - Installation - UI-Basics, also Menüpunkte oder Tastenkürzel die man immer wieder braucht (Einstellung aller UI-Fenster) - Erklärung wichtiger Operationen - Erstellung einiger simpler Geometrie: Treppen, Wände, kleines Haus, Fässer, Felsen (einfache Geometrie die man in einem Spiel so braucht, muss ja nicht gleich ein ganzes Schloss sein) - Texturing, UV-Mapping einzelner einfacher Objekte - Erstellung eines Texturatlas für X-Objekte
  3. Schönes Video, dieses Tool kannst ich noch nicht, warum deaktivierst du sRGB im Diffuse-Slot?
  4. Schönes Ding, dann setz ich da doch mal ein Kommentar drunter damit der Algorithmus es findet
  5. Falls es jemand gebrauchen kann, hier eine kleine Klasse die den Spieler mehrere zuvor zugewiesene Ziele betrachten lässt. Der Spieler dreht dabei seinen Körper und seinen Kopf in Richtung des Ziels welches am besten mit seiner Sichtlinie übereinstimmt. Die Distanz des Ziels wird dabei ebenfalls mit betrachtet, allerdings nur sehr rudimentär. Ich habe noch zusätzlich eingebaut, dass der Spieler seinen rechten Arm in Richtung des aktuellen Ziels bewegt (lässt sich deaktivieren über eine Property). using UnityEngine; using System; using System.Collections; [RequireComponent(typeof(Animator))] public class IKControl : MonoBehaviour { public Transform[] lookObj = null; public float weightDamping = 1.5f; public float maxDistance = 10f; public bool RightHandToTarget = true; private Animator animator; private Transform lastPrimaryTarget; private Quaternion savedRotation; private float lerpEndDistance = 0.1f; private float finalLookWeight = 0; private bool transitionToNextTarget = false; void Start() { animator = GetComponent<Animator>(); } // Callback for calculating IK void OnAnimatorIK() { if (lookObj != null) { Transform primaryTarget = null; float closestLookWeight = 0; // Here we find the target which is closest (by angle) to the players view line foreach (Transform target in lookObj) { Vector3 lookAt = target.position - transform.position; lookAt.y = 0f; // Filter out all objects that are too far away if (lookAt.magnitude > maxDistance) continue; // Find best matching object to the players view line float dotProduct = Vector3.Dot(new Vector3(transform.forward.x, 0f, transform.forward.z).normalized, lookAt.normalized); float lookWeight = Mathf.Clamp(dotProduct, 0f, 1f); if (lookWeight > closestLookWeight) { closestLookWeight = lookWeight; primaryTarget = target; } } if (primaryTarget != null) { if ((lastPrimaryTarget != null) && (lastPrimaryTarget != primaryTarget) && (finalLookWeight > 0f)) { // Here we start a new transition because the player looks already to a target but // we have found another target the player should look at transitionToNextTarget = true; } } // The player is in a neutral look position but has found a new target if ((primaryTarget != null) && !transitionToNextTarget) { lastPrimaryTarget = primaryTarget; finalLookWeight = Mathf.Lerp(finalLookWeight, closestLookWeight, Time.deltaTime * weightDamping); float bodyWeight = finalLookWeight * .75f; animator.SetLookAtWeight(finalLookWeight, bodyWeight, 1f); animator.SetLookAtPosition(primaryTarget.position); if (RightHandToTarget) { Vector3 relativePos = primaryTarget.position - transform.position; Quaternion rotationtoTarget = Quaternion.LookRotation(relativePos, Vector3.up); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, finalLookWeight); animator.SetIKRotation(AvatarIKGoal.RightHand, rotationtoTarget); animator.SetIKPositionWeight(AvatarIKGoal.RightHand, finalLookWeight* 0.5f * closestLookWeight); animator.SetIKPosition(AvatarIKGoal.RightHand, primaryTarget.position); } } // Let the player smoothly look away from the last target to the neutral look position if ((primaryTarget == null && lastPrimaryTarget != null) || transitionToNextTarget) { finalLookWeight = Mathf.Lerp(finalLookWeight, 0f, Time.deltaTime * weightDamping); float bodyWeight = finalLookWeight * .75f; animator.SetLookAtWeight(finalLookWeight, bodyWeight, 1f); animator.SetLookAtPosition(lastPrimaryTarget.position); if (RightHandToTarget) { Vector3 relativePos = lastPrimaryTarget.position - transform.position; Quaternion rotationtoTarget = Quaternion.LookRotation(relativePos, Vector3.up); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, finalLookWeight); animator.SetIKRotation(AvatarIKGoal.RightHand, rotationtoTarget); animator.SetIKPositionWeight(AvatarIKGoal.RightHand, finalLookWeight*0.5f * closestLookWeight); animator.SetIKPosition(AvatarIKGoal.RightHand, lastPrimaryTarget.position); } if (finalLookWeight < lerpEndDistance) { transitionToNextTarget = false; finalLookWeight = 0f; lastPrimaryTarget = null; } } } } }
  6. Schau mal ob das Windows-Form oder Formular folgende Eigenschaft hat. Diese Eigenschaft sollte das Formular permanent im Vordergrund halten. this.TopMost = true;
  7. Sehe ich auch so, einige Kurse oder Zertifikate sind das Papier nicht wert auf dem sie stehen. Ich denke ein gutes Portfolio und Referenzen über die Mitarbeit bei anderen Projekten ist hier mehr Wert als solche Zertifikate. Man muss sich immer die Frage stellen, welche Programmierer würde ich selbst für mein Projekt einstellen.
  8. Hab mir nicht alles im Detail angeschaut, aber was er hier macht ist, er erzeugt eine Instanz aus dem Ability-Asset (ScriptableObject) mit dem Namen "_abilityName" und läd das Asset dabei über Resources.Load. Danach packt er diese Ability zu den verfügbaren Abilities des Spielers.
  9. Noch eine kleine Ergänzung. Game Design (in Richtung Level Design) hat für mich auch sehr viel mit Architektur im Allgemeinen zu tun, in gewissem Sinne vermischen sich dabei Skills wie künstlerisches Empfinden die eher in Richtung Art-Design gehen (wie Techniken aus der Malerei, Kunstgeschichte, Farblehre und ähnliches) oder aber auch technische Expertise die eher in Richtung Architektur geht (Techniken der historischen und modernen Architektur). Beides hat damit erst einmal nichts mit Programmieren oder 3D-Design (verwendete Tool oder Expertise mit diesen Tools) zu tun. Versteht man unter den Aufgaben des Game-Designers dann ebenfalls Aufgaben wie Story-Design, Charakter-Design, Game-Logiken und ähnliche Dinge dann kann man den Begriff des Game-Designers um diese Aufgabenbereiche erweitern, was dann ggf. weitere Skills des Game-Designers in diesen Themenbereichen erfordern kann. Gleiches gilt dann eben auch für einen Game-Designer der ebenfalls 3D-Art produzieren kann, was den Vorteil hat, das diese Assets sich dann perfekt in die geplante Game-Architektur (Level-Design) einbinden lassen, da sie diesem Konzept bereits entsprechen.
  10. Ich beziehe mich mal nicht direkt auf URP aber auf deine Frage und gehe davon aus, das sie eigentlich nicht URP-spezifisch ist. Also die Checkbox in den Unity Lightning-Settings für Ambient Occlusion ist für den Lightmapper und hat daher nur einen Effekt wenn du eine Lightmap für die Scene erstellst. Im Postprocessing (auch URP) gibt es einen eigenen Ambient Occlusion-Effekt der aber nichts mit dem Haken in den Unity Lightnings-Settings zu tun hat. Hierbei wird das Kamerabild der Scene nachträglich über diesen Effekt modifiziert. Du kannst also sowohl die AO in deiner erstellten Lightmap aktivieren und extra über einen Kamera-Postprocessing-Effekt abermals AO hinzufügen. Deine letzte Frage mit dem "klares Licht" habe ich nicht verstanden.
  11. Funktionieren die Lampen auch ohne Post-Processing-Effekte (vor allem Bloom?) und HDR oder anderes formuliert funktionieren sie auch im Gamma Color Space ohne HDR (Hintergrund der Frage ist, dass man dann so Sachen in die Assets einfügt wie Point Lights, Spot Lights und Area Lights in verschiedenen Varianten dann auch für den Linear Color Space da man hier dann ja quasi 2 Lichtquellen haben kann mit Emissive Materials). Wenn sie es nicht schon haben, ist es immer gut, wenn jede Lampe ein kleines Script besitzt mit dessen Hilfe man die Eigenschaften der Lampe verstellen kann, wie Farbe, Leuchtkraft usw. Ansonsten schöne Arbeit
  12. Versuch mal den "Library"-Folder des Projektes zu löschen (vorher Unity beenden) und dann das Projekt neu in Unity zu öffnen (vorher aber am besten ein Backup machen wie immer). Wenn das alles nicht geholfen hat, dann könnte man auch die Projektsettings komplett zurücksetzen (d.h. das Verzeichnis "ProjectSettings" ebenfalls löschen), aber das würde ich erstmal nicht machen (weil hier kann man auch "Projektdaten" verlieren wie gesetzte Tags / Layers usw.).
  13. Macht schon wesentlich mehr her, nun sieht man auch das der Charakter sich ansonsten "frei" bewegen kann Ich denke man könnte noch viel an der Kamera basteln, aktuell sieht die Verfolgung des Charakters sehr "steif" aus (vielleicht auch nur ein Smooth-Follow-Setting an deiner aktuellen Kamera) und dadurch sieht es so aus als ob die Geometrie sich unter dem Charakter dreht. Ansonsten muss man sich halt überlegen wie man dem Zuschauer über die Kamera das Bewegen des Charakters über die Oberflächen noch besser vermittelt.
  14. Schaut nice aus, aber nun musst du auch springen, sonst gibt es ja keinen Gravitationseffekt Zudem kannst du ja mal den Unity Character aus den alten Unity-Standard-Assets nehmen, damit du auch eine Laufanimation hast, den Rest kann man ja einfach über Board werfen. Übrigens die alten Unity Standard-Assets kann man sich noch über die Downloadseite holen (oder im Store aber die Version schien mir älter): https://unity3d.com/de/get-unity/download/archive Dann auf Unity 2018 und ganz nach unten zur Version "Unity 2018.1.9" (hab ich heute auch mal gemacht)
×
×
  • Create New...