Skip to content

Instantly share code, notes, and snippets.

View cgezgez's full-sized avatar

Caner cgezgez

View GitHub Profile
@cgezgez
cgezgez / MonoBehaviourSingleton.cs
Created October 21, 2021 23:23 — forked from mstevenson/MonoBehaviourSingleton.cs
Generic Singleton classes for Unity. Use MonoBehaviourSingletonPersistent for any singleton that must survive a level load.
using UnityEngine;
using System.Collections;
public class MonoBehaviourSingleton<T> : MonoBehaviour
where T : Component
{
private static T _instance;
public static T Instance {
get {
if (_instance == null) {
@cgezgez
cgezgez / BetterWaitForSeconds.cs
Created October 18, 2020 20:23 — forked from yasirkula/BetterWaitForSeconds.cs
WaitForSeconds manager that reuses instances to avoid GC in Unity
using System.Collections.Generic;
using UnityEngine;
public static class BetterWaitForSeconds
{
private class WaitForSeconds : CustomYieldInstruction
{
private float waitUntil;
public override bool keepWaiting
{
@cgezgez
cgezgez / Quaternion vs Euler Angles in Unity [TR].md
Created October 18, 2020 09:32 — forked from sem1h/Quaternion vs Euler Angles in Unity [TR].md
Quaternion vs Euler Angles in Unity (Turkish)

Unity'de 3D çalışırken kafa kurcalayan konulardan biri Quaternion'ların ne işe yaradığı ve neden bazı yerlerde rotasyon değeri olarak Euler Angle değil de Quaternion kullanıldığıdır.

3 Boyutlu rotasyon belirtmek için kullanılan Euler Açısı, bir 3x3 rotasyon matrisi ile ifade edilebiliyor. Örnek:

Euler Açısı

İdeal bir sistemde her bir rotasyon matrisinin, yalnızca tek açıya isabet etmesini isteriz. Sorun şu ki bu matrisler, her zaman için tek açıya tekabül etmeyebiliyor.