İçeriğe geç
TREN
Atlıhan Harita

LCC for Unity Kullanım Kılavuzu · Özellik Geliştirme Kılavuzu

Editor Modu Geliştirme Kılavuzu

Bölüm 15.16 / 17Kılavuz sürümü v2.3.0Türkçe

LCC Unity SDK, sahnelerin Editor içinde görüntülenmesini destekler. Yani LCC modeli, edit modunda Unity'deki diğer GameObject'ler gibi taşınabilir, döndürülebilir ve ölçeklenebilir. Play moduna girmek için Play düğmesine tıklamadan 3DGS sahnesini Scene penceresinde gerçek zamanlı olarak görüntüleyebilir ve ayarlayabilirsiniz.

Samples sahnesini kullanırken sahne görüntülemeyi kod gerektirmeyen işlemlerle tamamlayabilirsiniz; özel betik kullanırken aynı sonuca kod işlemleriyle ulaşabilirsiniz.

Not:

LCC Unity SDK hem tam hem de parçalı görüntüleme modunu destekler. Tam görüntüleme modunda Scene görünümü modelin tamamını eksiksiz görüntüleyebilir. Parçalı görüntüleme modunda ise Scene Camera ile Game Camera'nın konumları ve yönleri aynı olmadığından model Scene penceresinde tam görünmeyebilir. Bu durumda Scene Camera ile Game Camera'yı senkronize etmeniz gerekir.

Kod Gerektirmeyen İşlemler

SDK Samples sahnesini kullanırken veri dosyası yolu (File Path) doğru girilmişse Unity, başlangıçtan sonra sahneyi Editor içinde otomatik olarak görüntüler (aşağıya bakın).

Sahneyi Editor içinde otomatik olarak görüntüleme

File Path doğru girildikten sonra Unity, başlangıçta sahneyi Editor içinde otomatik olarak görüntüler

Sahneyi Değiştirme

Görüntülenen sahneyi değiştirmeniz gerektiğinde şu adımları izleyin:

  1. Hierarchy penceresinde LCCRenderer GameObject'ini seçin.
  2. Inspector penceresinde File Path alanına yeni sahnenin veri yolunu doğru şekilde girin.
  3. LCCRenderer (Script) bileşeninin sağındaki üç noktaya (⋮) tıklayın ve açılan menüden Render seçeneğini seçin (aşağıya bakın).
Yeni bir sahne görüntülemek için LCCRenderer bileşen menüsünde Render seçeneğine tıklayın

LCCRenderer (Script) bileşeninin sağındaki üç nokta menüsünde Render seçeneğine tıklayın

Not:

Mevcut sahne verisini kaldırmak ve yeni sahne verisini yüklemek biraz zaman aldığından, Render seçeneğine tıkladıktan sonra lütfen kısa süre bekleyin; yeni sahne yüklenecektir.

Sahne Görüntülemeyi Durdurma

Sahneyi artık Editor içinde görüntülemeniz gerekmiyorsa görüntülemeyi durdurmak için şu adımları izleyin:

  1. Hierarchy penceresinde LCCRenderer GameObject'ini seçin.
  2. Inspector penceresinde File Path alanına veri yolunu doğru şekilde girin.
  3. LCCRenderer (Script) bileşeninin sağındaki üç noktaya (⋮) tıklayın ve açılan menüden unRender seçeneğini seçin (aşağıya bakın). Bu işlem, geçerli sahne görüntülemeyi durdurur.
Görüntülemeyi durdurmak için LCCRenderer bileşen menüsünde unRender seçeneğine tıklayın

LCCRenderer (Script) bileşeninin sağındaki üç nokta menüsünde unRender seçeneğine tıklayın

Play Moduna Girme

Unity'de Play düğmesine tıklayarak normal Play moduna girdiğinizde sahne, çalışma zamanı durumunda yeniden görüntülenir. SDK dahili olarak çoklu iş parçacığı mekanizması kullandığından Play moduna girmek, edit moddaki görüntüleme iş parçacığını zorla sonlandırır. Bu durum Console içinde bir hata mesajı olarak görünür.

Bu hatayı tamamen yok sayabilirsiniz; olumsuz bir etkisi yoktur ve sonraki normal çalışmayı etkilemez.

Bu hatayı gerçekten görmek istemiyorsanız Play düğmesine tıklamadan önce yukarıdaki Sahne Görüntülemeyi Durdurma (unRender) adımını uygulayın, ardından Play düğmesine tıklayarak çalışma zamanı durumuna girin.

Kod İşlemleri

Sahneyi görüntülemek için özel bir betik kullanıyorsanız betiğin Editor içinde çalışması için özel görüntüleme sınıfınızdan önce [ExecuteInEditMode] özniteliğini eklemeniz yeterlidir. Böylece sahne edit modunda görüntülenir. Diğer işlem mantığı için Samples içindeki LCCRenderer.cs betiğine bakın.

using LCCCore;
using UnityEngine;

[ExecuteInEditMode]
public class MyLCCRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    private LCCCore.Renderer m_renderer;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        m_manager.SwitchRenderPass(ActiveRenderMode.SingleRender);
        // Enable editor mode
        m_manager.SetEditorMode(true);

        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

    private void onProgress(float _progress)
    {
        Debug.Log($"[MyLCCRenderer] file load progress: {_progress:P1}");
    }

    private void onComplete()
    {
        Debug.Log($"[MyLCCRenderer] file loaded");
    }
}

Not:

  • [ExecuteInEditMode] özniteliği, Start ve Update gibi yaşam döngüsü yöntemlerinin Play modu dışında da Editor içinde çağrılmasını sağlar; Editor modunda görüntülemenin anahtarı budur.
  • Editor modu yalnızca PC/Mac platformlarında desteklenir.
  • Tam görüntüleme iş akışı (platform kurulumu, görüntüleme modu, veri yükleme) için Samples içindeki LCCRenderer.cs betiğine bakın.

Scene ve Game Pencereleri Arasında Kameraları Senkronize Etme

SDK ile birlikte gelen Samples, Scene penceresindeki kamera işlemlerini Game penceresine aktaran SceneGameCameraSync betiğini içerir. Böylece çalışma zamanı görüntüsünü önizlerken Editor içinde görünümü yönetebilirsiniz. Kullanım adımları:

  1. Samples içindeki SceneGameCameraSync betiğini sahnedeki kamera (Camera) GameObject'ine ekleyin.
  2. Kamera işlem betiğini devre dışı bırakın (varsayılan olarak CameraOperate).
  3. Play moduna girmek için Play düğmesine tıklayın.

Bu aşamada Scene penceresinde kamerayı hareket ettirdiğinizde Game penceresindeki kamera da buna göre senkronize olur.

SceneGameCameraSync betiğini kamera nesnesine ekleyin

SceneGameCameraSync betiğini kamera nesnesine ekleyin ve CameraOperate betiğini devre dışı bırakın

Not:

Kamera senkronizasyonu yalnızca Scene penceresindeki kameranın Game penceresine aktarılmasını destekler; Game penceresindeki kamera işlemlerinin Scene penceresine aktarılmasını desteklemez.

Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804