---
title: Y Sort Implementation
category: product
entity_type: skill
price: ₺369
canonical: https://forgehouse.ai/tr/skiller/y-sort-implementation/
lang: tr
hreflang_alt: https://forgehouse.ai/skills/y-sort-implementation/
last_updated: 2026-06-20
---

# Y Sort Implementation

> Implement Y-axis depth sorting in Unity 6 2D isometric scenes Custom Axis (0,1,0)…

Unity 6 2D izometrik sahnelerde 'kim önde, kim arkada' sorununa deterministik bir çözüm: bir karakterin ağacın üstünde render edilmesi, duvara geçmesi veya bir NPC'nin tepeye 'uçması' gibi derinlik sıralama regresyonlarının yaklaşık %80'inin kök nedeni. Custom Axis (0,1,0) desenini, tabanda pivot kuralını ve runtime tie-break stratejisini standardize eder; böylece sprite'lar asla titremez ve her sahne aynı render sırasında yüklenir.

## Ne için kullanılır
- Yeni bir karakter veya prop eklerken pivot ve sıralamayı doğrulamak
- 'Karakter ağacın üstünde görünüyor' hatalarını teşhis etmek
- Cinemachine takip kamerası altında titrek render'ı düzeltmek
- Sahne yeniden düzenlemesi sonrası doğru z-order'ı kurtarmak
- Animator durumları arasında pivot kaymasını normalleştirmek
- Editör zamanında Transparency Sort Mode dayatmak

## Faydalar
- Deterministik tie-break formülü, aynı Y'deki iki sprite'ın asla titrememesini ve render sırasının her sahne yüklemesinde aynı olmasını sağlar
- Editör zamanı pivot dayatması, kaymayı saatlerce runtime hata ayıklamasından sonra değil içe aktarımda yakalar
- Pixel-snap disiplini, Cinemachine takibi altında daldırmayı bozan alt-piksel titremesini ortadan kaldırır
- sortingOrder için tek kaynak doğruluğu, batching'i bozulmadan tutar ve draw call'ları düşük tutar

## Ne içerir
- Editör yükünde değişmez doğrulayıcıyla Custom Axis (0,1,0) kurulumu
- AssetPostprocessor ile dayatılan tabanda pivot (0.5, 0) kuralı
- İstisnai durumlar (havada uçan nesneler) için Liskov uyumlu sözleşmeli CustomSortPoint bileşeni
- instanceId yedekli deterministik YSortFormula.Calculate tek kaynak tie-break
- Cinemachine takibi altında render'ı sabitlemek için PixelSnap bileşeni
- Runtime değişmez izleyici ve regresyon test sahnesiyle tam doğrulama listesi

## Kimler için
Derinlik sıralamasının deterministik, titremesiz ve daldırma korumalı olmasını gereken, 2.5D izometrik oyunlar kuran Unity 6 geliştiricileri.

## Nasıl çalışır
Skill'in 'kim önde render edilir' sorusunu deterministik hale getirmek için koştuğu kurulum ve zorlama döngüsü; izometrik render hatalarının yaklaşık yüzde 80'inin kök nedeni budur. Kara kutu yok, yaptığı iş tam olarak bu:
1. Projeyi Graphics Settings ve URP 2D Renderer Data'da Custom Axis (0, 1, 0) sıralamaya geçirir: Unity her SpriteRenderer'ı Y konumuna göre sıralar, düşük Y önde görünür ve oyuncunun gerçek dünya sezgisiyle örtüşür. Editor validator'ı, ayarlardan biri Default'a kayarsa açılışta fail-fast hata verir.
2. Pivot tabanda değişmezini zorlar: her sprite pivot'u taban orta (0.5, 0) olmak zorundadır. YSortPivotValidator AssetPostprocessor bunu import anında otomatik ayarlar ve pivot'u kaymış asset'i gürültülü şekilde reddeder; gövde ortasından pivot, karakteri ayaklarından değil belinden sıralatır.
3. Tüm sortingOrder yazımlarını tek doğruluk kaynağı formülden geçirir: floor(y * -100) artı tieBreakBias artı 8 bite maskelenmiş instanceId. Aynı Y'deki iki sprite asla titremez çünkü eşitlik bozma deterministiktir, asla rastgele değildir.
4. İstisnaları CustomSortPoint component'iyle kapatır: drone gibi uçan nesneler sahte taban offset'i alır ama aynı formül sözleşmesine uyar; anlamsal bias dilimleri (oyuncu +10, NPC 0, prop -10) aynı Y değerinde kimin kazanacağına karar verir.
5. Y-sort'u Pixel Perfect render ile eşler: PixelSnap component'i, Cinemachine kamerayı taşıdıktan sonra LateUpdate içinde konumları PPU ızgarasına yuvarlar ve takip edilen karakteri titreten alt piksel oynamasını yok eder.
6. Uçtan uca doğrular: 3 karakter, 3 ağaç ve bir duvarlı test sahnesinde aşağıdan yukarı yürüyüş doğru sıralanmak zorundadır, dev build'de çalışan runtime monitör pivot ihlallerini canlı sayar ve grep ile sortingOrder'ın yalnızca formülden ve component'ten yazıldığı, başka hiçbir yerden yazılmadığı teyit edilir.

## Sık sorulanlar
### Karakterlerim bazen önünde olmaları gereken ağaçların arkasında çiziliyor, bu tam onu mu çözüyor?
Evet, hedef sorun tam bu. Custom Axis (0,1,0) şeffaflık sıralamasını, tabanda pivot (0.5, 0) kuralını ve deterministik tie-break'i standardize eder; bunlar birlikte Unity 6 izometrik sahnelerdeki 'karakter ağacın üstünde' ve duvardan geçme türü derinlik sıralama regresyonlarını giderir.

### Tie-break formülüne neden gerek var, Unity zaten Y'ye göre sıralamıyor mu?
İki sprite aynı Y'yi paylaştığında Unity'nin aralarındaki sırası tanımsızdır; her karede yer değiştirip titreyebilirler. instanceId yedekli tek kaynak YSortFormula.Calculate bu sırayı kareler ve sahne yüklemeleri boyunca deterministik yapar; editör zamanı pivot dayatması kaymayı runtime'a ulaşmadan yakalar.

### 3D veya izometrik olmayan tepeden bakışlı oyunumda da sıralamayı çözer mi?
Hayır. Kapsamı, sprite tabanlı şeffaflık sıralaması kullanan Unity 6 2D izometrik sahnelerdir. 3D derinlik tamponları veya sprite'ları Y eksenine göre sıralamayan türler desenin dışında kalır; bileşenler ve doğrulayıcılar 2D izometrik kurulumu varsayar.

## Fiyat
₺369, tek seferlik, abonelik yok. KDV dahil.

İlgili rehber: [Unity ile yapay zekâ oyun geliştirme akışı](https://forgehouse.ai/tr/rehberler/yapay-zeka-unity/)
