Max'te Durumlar: "Bul ve Değiştir" İşlevi Var mı ve Nerede Bulunur
3ds Max'te doğrudan evrensel bir "Bul ve Değiştir" penceresi yoktur: Bunun yerine, aynı olanakları sunan seçim araçları, sahne gezginleri ve betikler (MAXScript) kullanılır — isimlerin, malzemelerin ve parametrelerin toplu olarak aranması ve değiştirilmesi. Aşağıda, sahneye zarar verme riski olmadan belirli öğelerin nerede bulunacağı ve nasıl değiştirileceğine ilişkin kısa bir kılavuz yer almaktadır.
Benzer Olanakların Nerede Aranacağı
- Select by Name (Edit → Select By Name) — İsim maskesine göre nesneleri hızlıca bulma, ardından manuel olarak veya bir betik aracılığıyla yeniden adlandırma.
- Scene Explorer / Layer Manager — Seçili nesneler üzerinde filtreleme ve toplu işlemler (katman değiştirme, görünürlük, değiştirici atama).
- Material Editor (Compact veya Slate) ve Material/Map Navigator — Malzemeleri isme göre arama ve başka malzemelerle değiştirme.
- Asset Tracking — Harici dosyaları (dokular) bulma, gerekirse yolları yeniden atama.
- MAXScript / Python — Her türlü değişikliğin otomasyonu (isimler, kullanıcı özellikleri, malzemeler, parametreler).
İsimlerde tek seferlik düzenleme yapmak için şu yöntem uygundur: Select by Name → maskeye göre seç → seçili nesneler listesinde F2'ye basarak ismi şablona göre değiştirin veya toplu yeniden adlandırma için bir betik kullanın.
Nasıl Değiştirilir — Belirli Senaryolar ve Örnekler
- Bir nesne grubunun ismindeki bir kısmı değiştirme
- Nesneleri Select by Name ile seçin.
- MAXScript'i çalıştırın: selection üzerinden geçerek alt dizgeleri değiştirecektir.
"Box" → "Desk" değiştirmesi için basit bir MAXScript örneği:
for o in selection where matchPattern o.name pattern:"*Box*"
(
newName = substituteString o.name "Box" "Desk"
try (o.name = newName) catch()
)
- Malzemeyi isme göre değiştirme
- Scene Explorer veya Material Editor'da malzemeyi isme göre bulun.
- Material Editor'da istenen malzemeyi nesnelere sürükleyin veya toplu yeniden atama için bir betik kullanın.
Örnek: Tüm nesnelerde A malzemesini B malzemesiyle değiştirme:
oldM = meditMaterials[1] -- veya getMaterialByName "OldMat"
newM = meditMaterials[2] -- veya getMaterialByName "NewMat"
for obj in objects where obj.material == oldM do obj.material = newM
- Kullanıcı özelliklerinde toplu değişiklik (User Properties / Custom Attributes)
- Özellikle "durumları" veya etiketleri güncellemek gerektiğinde, nesnelerdeki özellikleri okumak ve yazmak için MAXScript aracılığıyla.
Tablo: Görev İçin Ne Kullanılmalı
| Görev | Araç |
|---|---|
| İsmine göre nesne arama/seçme | Select by Name, Scene Explorer |
| İsimlerde toplu değiştirme | MAXScript (yeniden adlandırıcı betikler) |
| Malzeme değiştirme | Material Editor, betikler |
| Dokuların/varlıkların yeniden atanması | Asset Tracking |
| Durumların/etiketlerin değiştirilmesi | Custom Attributes + MAXScript |
Toplu değişikliklerden önce her zaman sahnenin yedek kopyasını (.max) kaydedin — betikler çok sayıda nesneyi etkileyebilir.
Sık Yapılan Hatalar
- Select by Name'de hatalı maskeler — fazla nesne seçilir.
- Selection kontrolü olmadan betik çalıştırma — değişiklikler tüm sahneye uygulanır.
- Bağlantıları kontrol etmeden malzemeleri manuel olarak değiştirme — malzeme örnekleri kaybolur.
- Toplu işlemlerden önce yedek alınmaması.
SSS
- Hazır bir "Find & Replace" eklentisine ihtiyaç var mı? — Üçüncü taraf betikler ve eklentiler mevcuttur, ancak çoğu zaman birkaç basit MAXScript fonksiyonu yeterlidir.
- Değişiklikler geri alınabilir mi? — Sadece yedek kopyadan veya Undo varsa (derinliği sınırlıdır).
- Maya/Blender'da böyle bir işlev var mı? — Diğer 3D paketlerinde yaklaşım benzerdir: arama araçları + betikler/eklentiler.
Gerekirse, belirli bir görev için hazır betik setini (MAXScript üzerinde) gönderebilirim: şablona göre toplu yeniden adlandırma, isme göre malzeme değiştirme veya kullanıcı durumlarının güncellenmesi.