Animasyon

Animasyon

romantik_hayat

Arkadaşlar resimdeki tekerin animasyonunu yapmak istiyorum. Şöyleki üçgen etrafındaki şerit şeklindeki lastik kendince dönecek. Köşelerdeki dişlilerde tabiki onunla birlikte dönecek. Sonrasında gerekirse önüne çıkan engelde dönme duracak ve teker komple takla atacak. Ayrıntılı bir şekilde yardım ederseniz çok sevinirim.[img]http://www.tr3d.com/dosyalar/42054qFz9.jpg[/img]

2009-11-28 18:00:40

Cvp

kırklar

aklıma gelen tank paletiyle ilgili forumda ve nette arayın aynı olmasa bile çok yakın birbirine kolay gelsin

2009-11-28 18:31:12

tşk

romantik_hayat

Kamil hoca aradım tank paletinide buldum. Yanlız ingilizce bir kaynaktı ve istediğimi yapamadım.Ama kesinlikle tank paleti benim işimi görür. Ayrıntılı bir ders bulsak yeter diye düşünüyorum. İlgin için çok sağol

2009-11-28 23:18:39

Cvp

Key_maker

Harun ,

Ben olsam , Bu lastiğin , herhangi bir yerini keser ( 1 mm lik incecik bir kesik , görünmeyecek bir yerde mesela lastik üzerinde diş çıkıntısının dibi ) ,

sonra , ( lastiğin üzerinde yürüyecegi path ) yani lastiğin orta ekseni = kenarları yuvarlatılmış kapalı üçgen çizerdim.

Sonra geometriye path constraint ataması yapardım , Aynı yöntem ile , bisiklet zinciri yapmıştım geçmişte , sadece dişli hareketi ile lastik dönüşünü senkron yapmak biraz uğraştırabilir , ama oluyor

Kolay gelsin

2009-11-28 23:42:13

Cvp

romantik_hayat

Devrim ; Varsayalım bir yol üzerinde o parçacıkları hareket ettirdim. Dişlilerde kendi eksenlerinde dönecek, tamam bundada bir problem yok. Ama bu teker aynı zamanda takla atarakta dönecek ve de ilerleyecek bu sefer sıkıntı olmayacak mı? Benim düşüncem çevredeki lastik nasıl bir hareket olursa olsun dişlilerden ayrılmamalı, o dişlileri kendine bir sınır olarak görmeli ve kendine tain edilen eksende dönmeye devam etmeli. Yanlız yaklaşımın çok güzel, ben düşünmemiştim çok sağol...

2009-11-29 00:35:58

Cvp

Erkan

kardeş işin çokzor bak ben burada konuyla ilgili bişeyler yazmıştım
[url]http://www.tr3d.com/index.php?f=1&oku=48128&id=forum[/url]

bu yöntemi çözebilirsen yaparsın

2009-11-29 00:44:16

Cvp

Key_maker

Harun ,

Tekerleğin takla atması söz konusu ise, yapılmış olan Path için
de dönme hareketi verilebilir ve anime edilebilir , yani , eğer path dönerse takla şeklinde , path üzerinde hareket eden objeler de dönecektir ,

Ayrıca , Erkan ın link i gayet açıklayıcı bilgiler içeriyor ve bu iş için çok yardımcı olabilir ,

Tekrar kolay gelsin ,

Erkan ;

Bu arada , atelye de açmış olduğum proje konum için yanıtını şimdi farkettim , sanırım cevapsız bırakmışım , kusura bakma

Yazdıkların çok doğru ve tamamen dikkate alınacak ,

Çok teşekkür ederim gerçekten

2009-11-29 03:12:08

Cvp

Erkan

[quote=51894] Yazan: romantik_hayat

Kamil hoca aradım tank paletinide buldum. Yanlız ingilizce bir kaynaktı ve istediğimi yapamadım.Ama kesinlikle tank paleti benim işimi görür. Ayrıntılı bir ders bulsak yeter diye düşünüyorum. İlgin için çok sağol[/quote]



ben buradaki tank muhabbetini görmemiştim

onada bir ara bişeyler yazmıştım
yapımı oldukça zor!!!

[quote=50130] Yazan: Erkan

hasan bu koda küçük bir arayüz yazabilirmisin?
kod içerisinde altını çizdiğim bölümleri kontrol edecek ve kodu çalıştıracak bir arayüz.

(
[u]baklaSayisi[/u] = 50
for i=0 to baklaSayisi do
(
b=Box [u]length[/u]:5 [u]width[/u]:30 height:((curveLength dolar 1)/baklaSayisi) name:("Bakla"+i as string)
b.pos.controller = Path_Constraint ()
b.pos.controller.path = dolar
b.pos.controller.percent = (i as float*100/baklaSayisi)
)
for l=1 to baklaSayisi-1 do
(
(execute ("dolarBakla"+l as string)).lookat = (execute ("dolarBakla"+(l+1) as string))
(execute ("dolarBakla"+(l+1) as string)).transform.controller.flip = true
)
dolarBakla0.lookat=dolarBakla1
dolarBakla1.transform.controller.flip = true
for obj in dolarBakla* do
(
convertToMesh obj
newMesh = meshop.detachFaces obj #{1..obj.numfaces} delete:true asMesh:true
update obj
emesh = Editable_mesh()
emesh.mesh = newMesh
update emesh
emesh.transform = obj .transform
emesh.name=("obj"+obj.name)
)
delete dolarBakla*
delete dolarobjBakla0
for i=1 to dolarobjBakla*.count-1 do
(
hng=Hinge name:("rctBakla"+i as string)
obj=(execute("dolarobjBakla"+i as string))
hng.childBody = obj
hng.hasParentBody = on
hng.ParentBody = (execute ("dolarobjBakla"+(i+1) as string))
hng.parentTransform = (matrix3 obj.transform.row3 obj.transform.row2 obj.transform.row1 hng.parentTransform.row4)
hng.alignToParentSpace()
)
hng=Hinge name:("rctBakla"+i as string)
obj=(execute ("dolarobjBakla"+(dolarobjBakla*.count) as string))
hng.childBody = obj
hng.hasParentBody = on
hng.ParentBody = dolarobjBakla1
hng.parentTransform = (matrix3 obj.transform.row3 obj.transform.row2 obj.transform.row1 hng.parentTransform.row4)
hng.alignToParentSpace()
)


kenan işte istediğin kodlar
reactorde zincir yapan kod.

tank paleti şeklinde bir spline çiz
çizdiğin spline´yı seç ve kodu çalıştır.
kodu çalıştırmak için notdefterine yapıştır kaydet
uzantısını .ms olarak değiştir. ve dosyayı maxin üzerine sürükle bırak. çalışır.

oluşan paletin içine silindirler çiz onları carwhell´le gövdeye bağla
zincirin paletten çıkmaması için paletten daha büyük kutular çiz ve zincirin iki yanına yasla.
kutuları gövdeye fracture kullanarak bağla velocity değerini çok yüksek ver yoksa bağladığın kutular kopar.

son olarak bu kutuların collosionlarını sadece zincirle çarpışacak şekilde ayarla. yani kutular zincir dışında herşeyin içinden geçecek. ve kutuların sürtünme katsayılarını 0 (sıfır) yap.

buda tankı sürmek için yazdığım kod

rollout palet "PALET" width:162 height:85
(
spinner spn1 "" pos:[15,21] width:65 height:16 range:[-100,100,0]
spinner spn2 "" pos:[93,20] width:65 height:16 range:[-100,100,0]
spinner spn3 "" pos:[15,50] width:65 height:16 range:[0,1000,300]
spinner spn4 "" pos:[93,50] width:65 height:16 range:[0,1000,300]

on spn1 changed val do

(
dolarCarWheel01.velocity = spn1.value
dolarCarWheel02.velocity = spn1.value
dolarCarWheel03.velocity = spn1.value
dolarCarWheel04.velocity = spn1.value
dolarCarWheel05.velocity = spn1.value
)
on spn2 changed val do
(
dolarCarWheel06.velocity = spn2.value
dolarCarWheel07.velocity = spn2.value
dolarCarWheel08.velocity = spn2.value
dolarCarWheel09.velocity = spn2.value
dolarCarWheel10.velocity = spn2.value
)
on spn3 changed val do
(
dolarCarWheel01.gain = spn3.value
dolarCarWheel02.gain = spn3.value
dolarCarWheel03.gain = spn3.value
dolarCarWheel04.gain = spn3.value
dolarCarWheel05.gain = spn3.value
)
on spn4 changed val do
(
dolarCarWheel06.gain = spn4.value
dolarCarWheel07.gain = spn4.value
dolarCarWheel08.gain = spn4.value
dolarCarWheel09.gain = spn4.value
dolarCarWheel10.gain = spn4.value
)
)
createdialog palet


bu kodun sürdüğü tankta burda
[url]http://www.4dizayn.com.tr/anim/cop/tank.zip[/url]
bu dosyayı aç
kodu çalıştırmak için notdefterine yapıştır kaydet
uzantısını .ms olarak değiştir. ve dosyayı maxin üzerine sürükle bırak. çalışır.

çıkan arayüzde sağ taraftaki değerler sağ paleti soldakiler sol paleti kontrol ereder

üstteki değerler hızı
alttaki değerler çekişi ayarlar
hız=0
çekiş>1000 yaparsan fren olur.

aslında uğraşılsa buradaki gibi tank yapan bir script yazıla bilir.
[url]http://www.tr3d.com/index.php?id=galeri&r=2857[/url]

haydi kolay gelsin.[/quote]

yukarıda anlattığım tank işte bu
[url]http://www.4dizayn.com.tr/anim/cop/tank.avi[/url]
[url]http://www.4dizayn.com.tr/anim/cop/tankkirik.avi[/url]

bana göre elde edebileceğin en gerçekçi sonuç bu tek sorun dişerin kayma yapması.

kolay gelsin

2009-11-29 15:03:05

Cvp

Erkan

[quote=51901] Yazan: Key_maker

Erkan ;
Bu arada , atelye de açmış olduğum proje konum için yanıtını şimdi farkettim , sanırım cevapsız bırakmışım , kusura bakma
Yazdıkların çok doğru ve tamamen dikkate alınacak ,
Çok teşekkür ederim gerçekten[/quote]

umarım bi işeyarar.
ben bornova´dayım sen nerdesin devrim?
bak buda benim yazdığım scriptin son hali yapay zeka ekledim.
nasıl?
[url]http://www.tr3d.com/galeri-2857[/url]
[quote=51200] Yazan: Erkan

teşekkür ederim reyali beğenmene sevindim
ben de burdaki diğer insanların sadece renderlerini paylaştığı
renderledikleri max dosyalarını paylaşmadıkları gibi
sadece bu videoyu ve videoda sürdüğüm arabanın çalışma mantığını paylaştım
o yüzden bu script sadece benim kendim kullanmak için yazdım indirebileceğin bir yer yok üzgünüm.

buda scriptin yeni versiyonu çok bomba oldu bu seferki
[img]http://www.tr3d.com/dosyalar/RkHSHpT6O.jpg[/img]

[url]http://www.4dizayn.com.tr/anim/cop/zekiaraba01.avi[/url]

yukarıdaki likteki videoda kırmızı arabayı ben sürüyorum mavi arabayı script sürüyor
mavi araba benim arabanın arkasına linklediğim dummyi çizdiğim yol üzerinden takib ediyor takip sırasında yol opsiyonel bir seçenek istemezsen kullanmıyorsun.

önek buradaki arabalar sadece birbirini takip ediyor
[url]http://www.4dizayn.com.tr/anim/zekiaraba.avi[/url]

ben virajda yavaşlamadan dönsem bile script virajda yavaşlıyor
hızının yarısı kadar metre takip mesafesinide koruyor bu sayede ben çok sert fren yapsamda o bana çarpmadan tam zamanında durabiliyor araç hızlandıkça vites değiştiriyor......
işte sen araba kullanırken yaptıklarını yapıyor kısacası.[/quote]

2009-11-29 15:14:39

Cvp

romantik_hayat

Devrim ve Erkan ; ben bu işin içinden çıkamayacağım galiba. Rica etsem basamak basamak yapabilirmisiniz. isterseniz çizimin .max dosyasını göndereyim gerçi modellemesi uzun zaman almıyor...

2009-11-29 18:36:07