3ds Max : Maxscript Döngü sorusu...
Arkadaşlar iyi çalışmalar hepinize.
Script yazımı ile ilgili bir noktada takıldım yardımcı olursanız sevinirim.
Örneğin bir box a ait olan bütün yüzeyleri ayrı ayrı detach etmek istiyorum. Bunun ile ilgili for döngüsünü tam olarak oluşturamadım.
Yapmış olduğum kısım aşağıda yer alan koddur.
for i = 1 to 4 by 1 do
(
polyop.setfaceselection $ #{(i)}
$.EditablePoly.detachToElement #Face keepOriginal:off
subobjectLevel = 0
)
ama i = 1 den 4 e dediğim zaman yüzeyler detach oluyor fakat tek bir poly olarak kalıyor fakat ben her bir yüzeyin farklı nesneler olmasını istiyorum. Yardımcı olabilirseniz sevinirim.
- Offline
Merhaba
Nasıl yapılabilir diye düşünürken, olaya kendimi kaptırmışım biraz.
Sonunda aşağıdaki kod ortaya çıktı.Umarım istediğiniz gibi olmuştur. :)
Benim denemelerimde sorunsuz çalışıyor.
for i = 1 to 4 by 1 do
(
yüzeysayisi = polyOp.getNumFaces $
j=yüzeysayisi-1
yeniisim="nesne"
polyOp.detachFaces $ #(j) delete:true asNode:true name:yeniisim
)
- Offline
- Erkek
Arkın teşekkür ederim script çalışıyor. Fakat yüzey sayısı ne kadar fazla ise ona göre for döngüsünde yer alan 4 yerine yüzey sayısının 1 eksiğini yazmak gerekiyor. Bunun yerine yüzey sayısını otomatik olarak bulup 4 yerine yazabileceğimiz bir bölümü nasıl yapabiliriz?
- Offline
Nasıl yazılır bilmiyorum ama mantığı, objedeki yüzeyleri saayn bir döngü ve bu döngüyü isimlendirren bir dögü yazıp bu ismi 4 yerine yazmak olacaktır.
örnek veriyorum :
Count face = # face
gibi bir satır, script için bir yüzey sayıcı aracılığı ile yüzeylerin sayısı belirlenip isimlendirilebilir.
Buradaki örnek tam olarak sriptin yazılışı değil, sadece mantığını anlatmak için.
- Offline
- Erkek
çözümü buldum teşekkür ederim. Takıldığım zamanlarda yine rahatsız ederim sizleri arkadaşlar. Teşekkür ederim yardımlarınız için.
- Offline
Çözümü Buldun Naşş ne kadar ayıp anlatsanaaaaaaa....
- Offline
- Erkek
dongu = polyOp.getNumFaces $
k=dongu-1
bu kodu for döngüsünün üzerine kopyaladım ve değiştirdim bir kısmını...
- Offline