PDA

Voir la version complète : Résolu Distance égale entre clones



Sir Gong
08/05/2014, 10h14
Salut,

J'ai un cloneur contenant un objet + un effecteur simple qui permet de varier son échelle.
Il me faut un espace égal entre les clones et non pas entre les axes des clones.

11906

Je suis tombé sur ce sujet d'Aurety sur CG Society (http://forums.cgsociety.org/showthread.php?f=47&t=1012765&page=1&pp=15) et des solutions Coffee et Xpresso sont proposées, mais qui fonctionnent avec des objets de taille différente contenues dans un cloneur, alors qu'ici il n'y a qu'un objet.

Qui pourrait m'indiquer la marche à suivre ?

Le fichier (R15) (http://sirgong.free.fr/divers/fc4d/Clone_et_distance.c4d.zip)

sansalvador
08/05/2014, 10h37
je n'ai pas accès au fichier , cela m'amène sur la page d'identification , c'est normal ?
moi qui voulais aider un p'tit jeune :biggrin:

Sir Gong
08/05/2014, 10h44
Damned.

J'ai modifié le lien vers le fichier. :kiss:

sansalvador
08/05/2014, 11h07
pas facile ton histoire , mettre la même distance entre chaque clone de taille différente...
effectivement , peut être par Xpresso , mais je suis une quiche , ou bien un module qui ferait ça , avis aux programmeurs , ce serait en tout cas très intéressant comme plug .

leBigYO
08/05/2014, 11h27
En gros, il te faudrait le répartiteur de l'outil alignement d'illustrator afin de répartir en tenant compte des points ou faces ou arêtes les plus proches entre 2 objets (ou clones dans ton cas) , c'est bien ça ? :huh:

Sir Gong
08/05/2014, 11h32
C'est ça, tu as bien compris.

Philippe casu
08/05/2014, 11h53
et avec le plugin de Majoul que tu nous as fait gentiment passer il y a quelque temps ça ne le fait pas !!!??

miroof
08/05/2014, 11h57
Coucou, je testerais cela
"Here are a couple of COFFEE Effectors for evenly spacing two clones of different sizes. One is for Linear clones and the other is for clones on a spline in Object Mode."

http://forums.cgsociety.org/showthread.php?t=839130

Le lien est au post #9.
j' ai pas pu tester, j ai loupé mes 5 tentatives de connexion :)

GL
PS: je pense pas que c'est procédurale

Edit: ça marche pas pour ton cas

Sir Gong
08/05/2014, 12h29
et avec le plugin de Majoul que tu nous as fait gentiment passer il y a quelque temps ça ne le fait pas !!!??Heu, non, là on a des clones dans Mograph qui sont répartis paramétriquement sur une spline.
Ça aurait marché pour des objets placés linéairement sur un plan orthogonal.
(Mais je ne vous aurais pas dérangé pour ça) :icon_wink:


Coucou, je testerais cela
"Here are a couple of COFFEE Effectors for evenly spacing two clones of different sizes. One is for Linear clones and the other is for clones on a spline in Object Mode."

http://forums.cgsociety.org/showthread.php?t=839130
Merci Miroof, mais ces deux Coffee sont ceux dont je parle dans mon 1er post. Ils fonctionnent pour des objets différents de taille différente contenus dans un cloneur, mais pas dans mon cas de figure. (un seul objet avec effecteur simple pour modifier la taille).

César Vonc
08/05/2014, 13h44
Mmm, c'est en effet pas simple !

J'ai cependant concocté un simple effecteur Python qui devrait t'aider dans ton cas précis, Sir Gong, un effecteur qui dispose les clones de façon linéaire espacés selon leur facteur d'échelle :



import c4d
from c4d.modules import mograph as mo

def main():
md = mo.GeGetMoData(op)
if md==None: return False

cnt = md.GetCount()
marr = md.GetArray(c4d.MODATA_MATRIX)
fall = md.GetFalloffs()
inte = op[c4d.ID_MG_BASEEFFECTOR_STRENGTH]

clo = gen.GetChildren()
if not clo : return False
taille = clo[0].GetRad()

decpos = gen[c4d.MG_LINEAR_OBJECT_POSITION] * 0.5
posa = c4d.Vector()
echa = 0.0

taille = taille.__rxor__(decpos.GetNormalized())

for i in xrange(cnt) :
ech = abs(marr[i].v1.GetLength())
pos = (ech + echa) * taille + decpos
posa += pos
marr[i].off = posa * fall[i] * inte
echa = ech

md.SetArray(c4d.MODATA_MATRIX, marr, True)
return True



Bon, ça marche qu'en mode linéaire mais avec une enveloppe spline ça devrait faire l'affaire ?

Sir Gong
08/05/2014, 14h19
Super César, merci beaucoup.
J'ai essayé en ajoutant un effecteur spline mais ça n'a pas fonctionné.
Et en effet, avec une enveloppe c'est nickel.
T'es un chef :thumbup1:


11909

pasto
12/05/2014, 23h16
Salut Gong,

Sinon tu as un plugin japonais gratuit (désormais) qui se nomme clone generator qui dispose de cette option et qui est utilisable avec Mograph dans la R14.
Dans la R15 c'est très instable.

Sir Gong
13/05/2014, 09h10
Salut camarade,
j'ai utilisé la soluce de César, mais je veux bien voir ce plug, si jamais t'as un lien. (Désolé, pas trouvé avec Google).

diego1968
13/05/2014, 11h07
>>Ici<< (http://coffeestock.lk6.co/Blog/?page_id=401)
A+:icon_love:

Sir Gong
13/05/2014, 11h28
Merci Diego ;)

tabou
13/05/2014, 11h29
Il y a aussi cette excellente astuce de Yader, qui utilise les guides de hair pour répartir uniformément des clones :thumbup1:

https://vimeo.com/76431206 (https://vimeo.com/76431206)

Sir Gong
13/05/2014, 11h49
Ah oui, pas mal aussi, merci, bien que plus compliqué à mettre en œuvre par rapport à mon besoin ponctuel.
(clones sur spline en linéaire)