
(english version scroll down/click here)
Nevádno jsem dokončil mechické rameno pro můj absolutorní film Figure Spacing. Než jsem jej dokončil, narazil jsem na pár problémů, o které bych se teď chtěl podělit. Snad vám pomůžou a nebudete se s podobným projektem trápit :)
Testovací model
Každý, kdo mě trochu zná, pravděpodobně ví, že jsem posedlý děláním testů/zkušebních objektů. Podle návrhu je jasné, že se v tomto případě nejdedná o nejdetailnější mechanické rameno, ale pojďme si na chvíli představit, že je. Než abych rovnou skočil do modelace a strávil tím celý den, vytvořil jsem si rychlou “atrapu” z několika kostiček a válců. Pomocí hierarchie jsem dal dohromady “rig” a hned jsem přišel na první problém!
Rameno nedosáhlo, kam jsem chtěl! Včem mi to pomohlo? Kdybych strávil celý den modelováním a rigováním, nakonci zjistím, že je špadný design! Takhle jsem si to během pěti minut vyzkoušel a rychle přišel na všechny problémy
Písty
Nastavení takových pístů je celkem jednoduchá záležitost. O všechno se postará Constraint tag (v character menu). Pro úplně základní nastavení stačí zaškrtnout “Aim” Constraint. Zvolíte si target, zaškrtnete “Maintain original” offset a to samé provedete u druhé části pístu. Předpokládá se, že jedna část pístu se bude pohybovat. To se dá vyřešit buďto dobrou strukturou objektů nebo za pomoci “PSR” Constraint. Opět podobné nastavení – zvolíte si, co a kde chcete upevnit, boom, hotovo!
poznámka: pro správnou rotaci je nutné mít upravenou “axis” objektů
Ovládání ramene
Rameno by šlo ovládat jen pomocí null objektů nebo pomocí křivek (což jsem také nejprve udělal). Funguje to dobře, ale není lepší mít pěkný panel se všemi kontrolery u sebe? Je!
1. vytvoříme si Null objekt (napr. CTRL) – v Attributes záložka “User Data” – Manage User Data >>> vytvoříme nový kontroler “Add Data” a pojmenujeme si ho > zvolíme si “interface”, tvar našeho controleru > “unit” - pokud chceme ovládat například rotaci objektu, zvolíme “degree” > je dobré si nastavit min a max, aby táhlo nebylo zbytečně moc velké
2. přidáme XPresso Nullu CTRL – Cinema 4D tags – XPresso – dovnitř přetáhneme CTRL, rotační objekt a přidáme Range Mapper (pravým tlačítkem – New Node – Xpresson – Calculate – Range Mapper)
V okénku CTRL červený čtvereček > User Data > náš vytvořený kontroler > propojíme s Range Mapper > ten propojíme s rotačním objektem (např – Coordinates – Rotation – Rotation B)
Klikneme si na Range Mapper a v Attribute panelu si nastavime, co chceme počítat > takže např. Input Degree, Output Degree a vše z 0 do 360 stupnu.
A máme hotovo – v záložce User Data v CTRL si můžeme animovat naší rotaci. Kdo chce táhlo ve viewportu, stačí si jej přetáhnout a se zmáčklém Ctrl na klávesnici pozicovat (doporučuji poté zapnout v kontextovém meny > Show – always)
Hadičky
Doufám, že vytvoření křivek a jejich potáhnutí Sweep Objektem není pro nikoho problém (případně viz zde).
Abychom nám při animaci hadičky pěkně drželi na našem objektu použijeme “Hair Constrain tag” > Opět velmi jednoduché > přetáhneme do targetu cílový objekt, vybereme si vertex křivky a dáme “set”. To samé u druhého konce hadičky. Křivce přiřadíme “Hair Dynamics tag” > pohrajeme si v properties s nastavením a boom, máme hotovo!
Jste šťastní, že máte hotovo, vytvoříte si animaci ramene a chcete si to spustit. Jestli vám hadičky při animaci nestíhají svůj cíl, nezoufejte. Problém má jednoduché řešení. Cinema počítá všechno ve struktuře od shora dolů. Stačí když hadičky přesunete po animovaný objekt.
A to je vše. Doufám, že vám to v něčem pomůže.
________________________________________________________________________________
I have recently finished mechanical arm for my graduation film Figure Spacing. I have come across some problems during making it and I would like to share with you guys how I managed to solve them. I hope this will help you with your future projects.
Test model / prototype
I am a maniac for porotopys. Everytime I do something I need to do a lot of tests. If you have a look on the concept, you can see its not very complex but just for now lets pretend it is. Before I jumpem into modeling, I made a prototype out of boxes and tubes. With a little help from hiearchy tree I made a simple rig and right away I have found a problem!
The arm coudnt reach important places! Why it helped me? I could have spent whole day modeling and rigging and after all this I would found that there are problems in the concept! But this prototype helped me save a lot of time!
Pistons
Setup of pistons is actualy quite easy. Cinstraint tag (character menu) takes care of everything. The very basic is “Aim” Constraint. You just choose your target, set “Maintain Original” offset and your are good to go. If you wanna stick one part of the piston to some tube of something, you can do it by hierarchy or by using “PSR” Constraint. Again, simple set up – target, boom, done!
note: for right rotaion you must corrent “axis” of the object
Custom controls
You can control the arm just with null objects or with curves (witch I also did). It works fine but isnt better a good Control Panel? Oh Yes!
1. create Null objekt (CTRL) – Attributes panel > “User Data” – Manage User Data >>>
create new “Add Data” and name it > choose “interface”, style of controler > “unit” if wee cant to control for example rotation, choose “degree” > its good to set min and max degrees
2. now we will add XPresso to Null CTRL - Cinema 4D tags – XPresso – click and drag CTRL, rotation objekt and add Range Mapper (right click – New Node – Xpresson – Calculate – Range Mapper)
window CTRL red square > User Data > our new controler > connect to range mapper > connect to our rotaion object (Coordinates – Rotation – Rotation B)
Click on the Range Mapper and in the Attribute panel set what ever you desire. We want to control rotation > Input Degree, Output Degree and set to 0 – 360
And Its done – in the CTRL User Data panel you will find your controler. If you want the controler in the viewport, just click and drag it (plus its good to use Always visibles in the context menu > Show – always)
Hose
Create a curve and sweep it.
To stick it to your object, we will use “Hair Constrain tag” > again, very simply > drag you target to “target”, select vertex and hit “set”. The same on the other side. Add “Hair Dynamics tag” to spline > Have some fun with the setting and its done!
We are happy that its done. It may be but I have come across this situation. I animated my arm and the hoses couldnt catch up with the mesh. Solution for this is just move you hoses under the animated object in the hierarchy.
And thats all. I hope some of this is usefull for you and I helped you save some time in the future.




