AnimationCurve és Gradient
Layer-ek
‣
Scene Menedzsment
using UnityEditor.SceneManagement; // Ezt a névteret be kell tölteni
SceneManager.LoadScene("NameOfScene"); // Build Settings-ben fel kell venni a listábausing UnityEditor.SceneManagement; // Ezt a névteret be kell tölteni
SceneManager.LoadScene("NameOfScene"); // Build Settings-ben fel kell venni a listába[SerializeField] AnimationCurve animCurve; // Szabadon álltható görbe
[SerializeField] Gradiens gradient; // Szabadon álltható színgradiaens
void Method()
{
float t = 12.6f; // Hol olvassuk ki az szám értéket?
float value = animCurve.Evaluate(t); // Mi a függvény értéke az adott pozíción
t = 0.5f; // Hol olvassuk ki az szín értékek? (0-1)
Color color = gradient.Evaluate(t); // Mi a színérték értéke az adott pozíción
}using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
// Ez segít a Layermaszk lekérdezésben:
public static class LayerMaskExtensions
{
// Bit-Maszkolás
public static bool Contains(this LayerMask mask, int layer)
{
return (mask.value & (1 << layer)) > 0;
}
}
// Ez egy Attribútum a Layer rajzoláshoz inspector ablakon
public class LayerAttribute : PropertyAttribute { }
#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(LayerAttribute))]
public class LayerAttributeDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
if (property.propertyType != SerializedPropertyType.Integer)
{
if (!_checked) Warning(property);
EditorGUI.PropertyField(position, property, label);
return;
}
property.intValue = EditorGUI.LayerField(position, label, property.intValue);
}
bool _checked;
void Warning(SerializedProperty property)
{
Debug.LogWarning(string.Format("Property <color=brown>{0}</color> in object <color=brown>{1}</color> is of wrong type. Expected: Int",
property.name, property.serializedObject.targetObject));
_checked = true;
}
}
#endifpublic class TestMonoBehaviour : MonoBehaviour
{
[Serialize, Layer] int layer; // ⚠️ Kell hozzá a fenti kód ⚠️
[SerializeField] LayerMask layerMask;
void Start()
{
int myLayer = gameObject.layer; // GameObject Layer-ének lekérdezése
// ⚠️ Kell hozzá a fenti kód: ⚠️
if(layerMask.Contains(layer)) // LayerMask tartalmazza-e a Layert-ét
Debug.Log("Layer is in Layer Mask");
}
}[SerializeField] Animator animator; // Animációs állapotgépet tartalmazó komponens
void Method()
{
// Animációs állapotgépben lévő paraméterek állítása:
animator.SetFloat("Speed", 0.5f); // "Speed" nevű paramétert állítása 0.5-re.
animator.SetInteger("Weapon", 21); // "Weapon" nevű paramétert állítása 2-re.
animator.SetBool("Damaged", true); // "Damaged" nevű paramétert állítása true-re.
animator.SetTrigger("Attack"); // "Attack" nevű trigger-t aktiválása.
}