Özel Karakterler

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

NPC'lerden bir yelkenli tekne animasyonlu bir kumaşa kadar her şeyi oluşturmak için özel malzemeleri ithal edebilirsiniz. Avatar İçe aktarıcı'nın (şimdi 3D İçe aktarıcı olarak) özel ayarlarını kullandık biz, gizemli kara delik yaratıkları ve arkadaşlık, bilinçsiz ifade edilmiş servis droidleri gib

Aşağıdaki bölümler, kaldırma ve yüzey görünümü, PBR (yüzey görünümü) ve VFX'i kullanmayı nasıl kullandığımızı gösterir. Biz, "Canavar" olarak adlandırdığımız en karmaşık karakterlerden birini oluşturmak için parçaların yeterince kat

Creature Banner

Yükleniyor

Yaratığımızı oluştururken, karakteri nötr bir pozada modellemeyi en iyi bulduk, çünkü bu poz bu sivri direkler için en iyi uyumludur. Eğer tenikleri zaten kıvrımlı hale getirdiyseniz, tenikleri diğer yönlere yatıştırmak için animasyonladıysanız, bunun sonucunda kasılma olurdu. Aşağıd

Neutral bir pozisyondan, eklemleri ekonomik olarak ekledik, hareketin en çok ihtiyaç duyduğu alanlara odaklanarak. Daha az eklem olsun, daha iyi, çünkü karakterinizi deri çekerken onları yönetmeniz gerekecek ve animasyonlarınızı kontrol etmeniz daha az olacaktır. Önceki ekrimlerde, Yaratık merkezde ç

Diğer ortaklıkların çoğu tentacle ve mandible'lerin yönündedir. Tentacle'lerin, tüm hareketlerinin üstünde yaratmak için birçok görünüm istedikleri için, çubukların merkez kuvveti kıymetliydi, böylece tüm çubuklar için yarat

Creature Front, Maya

Karakter meshesinin Studio'a doğru ithal edilmesi için şu kılavuzların yararlı olduğunu bulduk:

  • Bireysel ortaklar ve kemiklerin benzersiz isimleri olmalıdır.
  • Meshes aynı isme sahip olamazlar.
  • Önce birleştirme/bağlama için hiçbir dönüşüm olmamalıdır; yani, dönüşümler 0 olmalıdır ve ölçeğin 1 olmalıdır.
  • Mesh normalleri dışarıda olmalıdır (modeller içeride görünmez).
  • İskeletlerin herhangi bir ölçek faktörü olması gerekmez; tüm bağlar [1, 1, 1] olmalıdır.

Deri

Yaratığın kafatasını tamamladığımızda, bir sonraki adım giderek daha fazla malzeme üzerinde çalışmaktı. DCC uygulamanızın farklı ilk kafatası ayarlarıyla tanıdığınız birincil kafatası ayarını yapmak, şeyi kolay

Kötü Kızartma
Düzleştirmeyi Önleyin

En iyi sonuçlar için deri üretiminde kullanılan şu kılavuzları bulduk:

  • Kızartma etkileri (modellerin hareket ettirildiğinde bir kısmını etkilediği anlamına geliyor) 4 kızartma etkisi olmalıdır.
  • Ortak ve kumaş isimleri, her biri diğerine ve her biri diğerine eşsiz olmalıdır.
  • Studio'ya ithal etmek istediğiniz herhangi bir ortak, modelinin görünümünde biraz etkiye sahip olmalıdır, aksi takdirde motor onu ithal etmez. Mümkün olduğunda, modelinizi orijinal veya "bağlantı" pozundaki pozisinde şapkalayın.

Mesh'i Studio'a İçe aktarma

Kendi karakterlerinizi Studio'a ithal etmek, sürecin en heyecan verici yönlerinden biri, çünkü inşa ettiğiniz deneyimde yaratımlarınızı görme şansınız var!

Mesh'i Studio'a ithal etmek için:

  1. DCC uygulamasından karakteri ihraç et ve takip edilenemin ol:

    • Tüm normal, ölçek ve isimler doğrudur.
    • Karakterin tüm ortak ve kemik hiyerarşisi ve tüm kaynakları vardır.
    • Meshes her bir meshes'in altında 10,000 üzerinde çizgi sayılır.
    • Meshes toplam boyutu herhangi bir ekseninde 2000'den fazla değildir.
    • Model spesifikasyonları için Mesh Requirements bir liste görün.
    Creature in DCC Tool
  2. In the 3D Importer , import the custom .fbx or .obj file.

    Creature Imported Into Studio

Yaratığı Parlatmak

Yaratığın modeli stabil olduğunda ve Studio'da daha fazla acil ithal gerektirmezse, Yüzey Görünümü objelerini, ışıkları ve görsel efektleri bir araya getirdik. Bunu yaptık, modelin kalitesinden emin olmak için, bir kısmını yerleştirmeye ve düzenlemeye başlamadan önce.

Glowing Creature Example

Yaratığın karanlık olmasını istedik ve odak noktalarının gözler ve "grabby" tentaclesi olmasını sağlayın. Yüksek kontrast artırır eğilimlidir, bu yüzden birkaç güçlüsünü garanti ettiğinden emin olmak için erken bir şekilde gözleri ayrırdı

Creature Eyes in Studio

Neon malzeme asıl ışığı emittirmez, bu yüzden bazı testlerden sonra, bir parçayı ekledik test etmek için yerleştirmeyi ve ışığın yönünü kontrol etmek için. Bu, ışığın gözleri parlatmak ve ayrıca kendi kaynağını ışıltmak için yönlendirilmesini sağladı.

Point Light in Studio

Görüntü parlaklığını SpotLights eklediğini fark edin.

Creature Light Example

Ayrıca, yaratığın tentiküllerinin bazı parçalarını emmesini istedik, böylece hareket ettiğinde duman izi bırakır. Çünkü tentiküller çok uzun, ParticleEmitter tüm tentiküle içine eklemek, parçaların tüm tentülden yerine uç kısmından em

Particle Example

VFX'i Karakteri Takip Etme

Kaçır animasyonları yenilenmediğinde, özellikle VFX, SFX ve ışıkların tüm VFX'i doğru şekilde takip edildiğinden emin olmak için karakterin meshesi güncellenmez. Bu nedenle, VFX, SFX ve ışıkların tüm VFX'i doğru şekilde takip edildiğinden emin olmak için bir yöntem gerekiyordu. Bu, VFX kontrolörü scriptini olu

  1. Aşağıdaki LocalScript ı StarterPlayerStarterPlayerScripts içine yerleştirdik. Bu, aslında VFX güncelleme işlevini çalıştırır.

    Yerel Kod

    -- PreSimulation'ı yapmak için mevcut yerel bir senaryoya bu kısayol ekleyin
    -- bağlantılar
    local RunService = game:GetService("RunService")
    local vfx = require(workspace.VfxUpdateModule)
    RunService.PreSimulation:Connect(vfx.updateVfx)
    Modül Kodu

    -- Bu modül animasyonlara bağlantılar eklediğinden, onlar güncellenir
    -- Animasyon oynar. Mevcut sınırlar için bir çalışma çıkartmasıdır
    -- ile birlikte ve kemikler ve her zaman gerekli olmayacaktır.
    --
    Önceki:
    -- Dahil edilmek için, modellerin "AnimatedVfxModel" etiketine ve bir klasöre ihtiyacı vardır
    -- animasyonile senkronize etmek istediğiniz tüm parçalar. Her bir parçanın
    -- “AttachedBoneName” adında bir özellik,
    -- bağlantı yapmak istediğin kemik. Parçalar da zaten onların
    -- istediğin kemik ile ilgili doğru pozisyonları belirtir.
    --
    -- Kullanmak:
    -- Bir YerelScript bunu gerektirmelidir, sonra bağla
    -- VFXUpdateModule.updateVfx'i RunService.PreSimulation etkinliğine kadar güncelle.
    local VfxUpdateModule = {}
    local CollectionService = game:GetService("CollectionService")
    -- YÜKSELTME - bu her müşteride bir kez çalışmalıdır.
    -- Etiketle tüm modelleri topla
    local vfxModels = CollectionService:GetTagged("AnimatedVfxModel")
    local vfxTable = {} -- tüm parçaları ve ofsetleri depolayacağız
    -- Tüm vfx parçalarını ve ofseti tutacak her bir modeline bir tablosu atayın
    for _, model in vfxModels do
    vfxTable[model] = {}
    local vfxParts = model:FindFirstChild("VFX"):GetChildren() -- Find theVFX folder
    -- Kemayi özellik aracılığıyla bulun ve her bir parçası için ofseti hesaplayın.
    for _,part in vfxParts do
    local name = part:GetAttribute("AttachedBoneName")
    local bone = model:FindFirstChild(name, true)
    if bone then
    local offset = (bone.TransformedWorldCFrame:inverse() * part.CFrame)
    vfxTable[model][part] = {bone, offset}
    else
    warn("Vfx part refers to bone that could not be found.")
    end
    end
    end
    print(vfxTable)
    -- Güncelleme - Bu, her klienin RunService.PreSimulation'ına bağlanmalıdır.
    -- Tüm modelleri geçtikten sonra, kemik şekillendiriciyle eşleştirmek için modeldeki tüm parçaları güncelle.
    function VfxUpdateModule.updateVfx()
    for model, vfxParts in vfxTable do
    for part, bone in vfxParts do
    part.CFrame = bone[1].TransformedWorldCFrame * bone[2]
    end
    end
    end
    return VfxUpdateModule
  2. Bir oyun etkinliğinde güncellenmesi için herhangi bir nesneyi AnimasyonluVFXModel ile etiketlemek için bir ModuleScript oluşturduk.

  3. Gerekli model gruplarını AnimasyonluVFXModel kullanarak etiketledik, GörüntüGörüntü 2>Görüntü2> 5>Görüntü5> 8>Görüntü8> 1>Görüntü1> 4>Görüntü4> 7>Görüntü 7> 0>Görüntü</

    VFX In Studio Example
  4. Son olarak, animasyon etmek istediğimiz parçaya bir AttachedBoneName özelliği ekledik ve istediğimiz ortakların isimlerini doğru ekledik.

Yaratığınızı Düzeltme

Ardından, PBR (Fiziksel Olarak İşlenmiş Rendering) dokularını ayarladık. Bu güçlü bitmeler, yaratığın küçük çizikleri ve kusurlarının çok fazla olduğunu gibi görünmesi için çeşitli yüzey ve yüzey çeşitliliklerine sahiptir. Bu görsel etki, yaratığın yakınındaki oyuncuya görünümünü satark

Creature Texturing Comparison

Yüzey görünümü haritasını nasıl oluşturduğumuzu gösteren grafik:

  1. Bu karakter için tüm doku haritası "bir sayfada"ydı. Bu, yaratığı daha verimli hale getirdi ve daha az doku haritasına veya SurfaceAppearance nesnelerine ilgilenmemiz gerektiğini k意味着.

  2. Parıltıya ihtiyaç duyan veya kendi başına aydınlanmaya ihtiyaç duyan alanlar, örneğin "grabby tentacles" gibi, biz de SurfaceAppearance ile onlarla karıştırmak için transparansı kullandık.

    Illumination Example

    Yüzey görünümü haritası oluştururken bu yönergelere uymak için faydalı olduğunu bulduk:

    • Haritalarınız 1024×1024'ten daha büyük olmamasına emin olun.
    • Yeşil kanalınız uygulamaya bağlı olarak yanılabilir.

Yaratığı Animasyon

Animasyon çok kişiseldir ve bir kişilik stiline sahiptir. Seçenekler, hareket yakala, el "anahtarı" animasyonunu DCC uygulamanızda veya Studio'nun güçlü Animasyon Editor'ını kullanarak içerir.

Daha önce de belirttiğimiz gibi, yeterli bağlarımızın olduğundan emin olmak istedik, aynı zamanda yeterli sayıda eklem ve yeterli sayıda limb var, böylece yaratık animasyonu doğal ve "bir katmanlı" görüyoruz - kolunuzu dışarı atınca, her eklem tepki veriyor ve vücudunuzun her kısmı hareket et

Bu tekniği kullanarak yaratığın bedeninin hareketiyle tepki verdiği gibi hissetmek için onun animasyonunu oluşturmak için kullandık:

Creature Animation Example

animasyoniçin dış bir DCC uygulaması kullanıyorsanız, aşağıdaki rehber çalışıyor:

  • Çerçevelerin en az 30 FPS olmasını ayarla.
  • Animasyonlarınızı uyguladığınız karakterle oluşturun.
  • Animasyon verilerinizi ayrı bir .fbx dosyası olarak ihraç edin.

Stüdyo dışındaki karakteri Animasyon .fbx dosyasını ithal etmek için Animasyon Editörü'nü kullanmak zorundaydık. Editor, birleşikleri veya motorları olan herhangi bir avatarı seçmenizi sağlar ve onları zaman çizgisi üzerinden sürüş yapmak için noktalar aracılığıyla sürüş eder.

Bir animasyonu ithal etmek için:

  1. Animasyon Editörünü seçin Animasyon Editörü'nü seçin.

    Animation Editor In Studio
  2. Roblox'ta animasyon yapmak istediğin kuşanılmış karakteri seç. Karakterin DCC uygulamanızın dışındaki kuşanılmış karakter olmalıdır.

  3. Editör pencerenin sol üst kısmındaki düğmeye tıklayın, FBX Animasyonundan İçe aktar'ı seçin ve çıkartılan .fbx animasyon dosyasını bulun.

    Animation Import Example 1 Animation Import Example 2
  4. Animasyonunuzu tamamladığınızda, animasyon ID'sini keşfetmek için onu ihraç edebilirsiniz. Örneğin, Script ile ithraç edilen karakterinizin model grubuna bir Class.Script ekleyebilir ve animasyonu çalıştırmak için aşağıdaki kodu kullanabilirsiniz:

    Animation Script Example

    local animationId = "YOUR_ANIMATION_ID"
    local char = script.Parent
    local animController = char:FindFirstChildWhichIsA("Humanoid") or char:FindFirstChildOfClass("AnimationController")
    local animation = Instance.new("Animation")
    animation.AnimationId = "rbxassetid://" .. tostring(animationId)
    local animTrack = animController:LoadAnimation(animation)
    animTrack:Play(0, 1, 1)

Final Sonuçları

Renkleri, parlaklıkları ve birkaç parçacık efekti ardından, pencerelerin önünde daha güçlü bir hale efekti vermek için burada sonuç alındı!

Final Creature Rendering