Bonjour a tous,
en attendant d'avoir les sous pour passer a la R11 et a VRay,
j'avais besoin de pouvoir gerer l'affichage d'un grand nombre d'objets dans une meme scene a la maniere des Proxy de VRay
voila un bidouillage maison en Xpresso gerant les objets poly et les instances Mograph :
http://www.gyom.net/FC4D/DepthCamObject.zip (120 ko)
c'est pour l'instant gere en sphere d'effet ... mais si quelqu'un a les ressources intellectuelles pour faire une version 2 avec un secteur angulaire parametrable comme VRay, ce sera encore plus efficace !
... mais ca je ne sais pas faire :coup: j'ai pas fait de math depuis trop longtemps :cry2:
bref ... si ca peut aider en l'etat quelqu'un d'autre que moi, ce sera deja pô mal
a suivre ...
... je me reponds a moi-meme
donc a l'usage en calcul, c'est tres efficace car cela me permet de passer de 15 minutes de rendu a 4 minutes par image !
(avec necessite de faire un second calcul 'INVERT' pour avoir les objets qui ont ete masque lors de la premiere passe, mais du coup, sans effet gourmand (AO) et donc bien plus rapide)
mais du coup, si quelqu'un pouvait me dire si une version 'angulaire' orientee par la camera (et non circulaire centre sur la camera) est compliquee a ecrire ... et peut-etre me donner des indices sur le type d'operations a ecrire :roll:
parce que ca me permettrai meme de pouvoir ouvrir la scene sur des machines avec moins de RAM (?)
et dans le meme genre de pensees :
je ne sais pas trop ou chercher les reponses aux questions suivantes :
comment C4D gere le chargement en RAM des elements d'une scene ?
- un objet qui n'est pas dans le champ de vision de la camera ? a priori oui ... au moins pour savoir s'il doit le calculer ou pas !
- un objet qui est masque pour l'editeur et le rendu est-il neanmoins charge lors du calcul ???
- une instance desactivee ? a priori non
- une Xref desactivee ? a priori non
bref ... cela commence a compter serieusement pour mon projet en cours : plus de 2 millions de polygones et necessite d'avoir une machine de plus de 10 Go de RAM pour lancer le calcul :?
a suivre ...
j'ai pas eu le temps de regarder mais j'y jetterais un oeuil très intéressé quand j'aurais quelques minutes
Merci valkaari
ça c'est sympa ... J'espère ne pas avoir été trop bordélique dans mes nodes
a suivre ...
Ah, j'avais pas vu. Y'a des maths ? :bounce:Envoyé par Gyom
J'ai pas encore compris ce que c'est. Je télécharge et je regarde ça aussi. :odile:
SMC fan.
J'y vois un peu plus clair.Envoyé par Gyom
Non, rien de difficile je pense pour une version angulaire. Par contre je ne sais pas si ça apporte quelque chose ?
A partir du moment où les objets existent et ne sont pas dans le champ de la caméra. :?:
Pour l'idée de la chose.
Il faut récupérer l'orientation de la caméra (c'est la global matrice par exemple dans Xpresso).
Puis la direction objet-caméra. Les positions de l'objet et de la caméra donnent ça facilement.
Enfin on compare l'angle "de visée" de la caméra et la direction précédente.
(Par un produit scalaire par exemple, disponible dans C4D)
On peut alors savoir si l'objet est vu par la caméra ou non, en comparant avec l'angle du field of view.
Ou définir ses propres angles (verticaux et horizontaux) pour exclure l'objet.
Je ne maîtrise pas assez Xpresso par contre pour te dire si tout est faisable par Xpresso.
Mais avec un noeud coffee éventuellement dans l'Xpresso ça ne devrait pas poser de problème.
SMC fan.
bonjour Jean-Laurent
... et merci d'avoir pris le temps de regarder :poucehaut:
entre temps j'ai fait une petite video pour montrer ce que c'est :
http://gallery.me.com/gyom3d#100030/...&bgcolor=black
[desole pour le son, j'ai un micro pourri .. et pour la taille : je ne voulais pas imposer un gros streaming ...]
quand tu me parles de produit scalaire ... ca me rapelle des trucs de ma vieille TC
mais je ne suis pas sur de m'en sortir en Xpresso :?
... et surtout en combien de temps :evil:
Coffee ... pas encore mis les pieds dedans
mais c'est clairement la piste que je devrais suivre ... quand j'aurai du temps (hors prod)
ce serait un bon exercice pour que je m'y colle !
mais la question principale pour finir,
c'est effectivement de savoir si les objets hors champs influent sur le temps de calcul :?: :?:
... ils influent sur la RAM necessaire a charger la scene, ca c'est sur :
quand j'active mon Cloner avec quelques milliers d'arbres dans la scene, C4D me plante direct au nez de temps en temps
par contre, depuis que j'ai colle mon Xpresso a ma scene, il affiche les arbres 'filtres' bien plus vite et ne plante plus :
cela joue donc sur la RAM
bref ...
a l'ocaz je m'y recolle mais je vais faire avec cette version pour boucler mon projet :wink:
a suivre ...
C4D le fait tout seul.Envoyé par Gyom
Sinon, si tu as un vecteur (x,y,z) et un autre (x',y',z') le produit scalaire c'est tout simplement xx'+yy'+zz'
Il vaut 0 si les vecteurs sont perpendiculaire et est maximal si ils sont parallèles.
Si quelqu'un nous répond qu'effectivement ça vaut le coup, ou si tu en as vraiment besoin, je peux te faire un noeud coffee que tu intégreras dans ton Xpresso.
Ce noeud peut par exemple sortir 1 si l'objet est visible par la caméra et 0 dans le cas contraire. Ou autre chose de ton choix.
SMC fan.
si tu as des effets globaux (reflexion, refraction, GI meme si de manière moins perceptible pour un oeil non entrainé, ...), tout influe, meme ce que tu ne vois pas directement.
Le rendu, c'est juste de l'intégration numérique sur un espââââââce de dimension infinie...trivial quoi
Jean-Laurent, c'est sympa de proposer
mais je ne veux en aucun cas te faire perdre de temps !
Et il faut que je comprenne pour l'utiliser
si tu me dis que c'est simple ... Je trouverai !
Tarlack,
oui fatalement ....
Pour résumer :
au niveau du rendu
- seuls les objets désactives pour le rendu,
via le point rouge ou via le layer
ne sont pas pris en compte
- pour les instances mograph elles doivent être désactivées
pour le chargement RAM
(qui est la phase la plus longue dans la décomposition de
mon temps de calcul par image)
les instances desactivees ne seront pas prises en compte
mais les objets et/ou layer masques ... Je ne sais pas
mais le fait qu'ils ne soient pas dans le champ de la camera
ne change rien.
a suivre ...
Terrible ton petit Xpresso!
Peut être en passant par un objet ayant la forme du cône de la caméra, uniquement les objets contenu dans le volume serait actifs.
Je ne sais pas comment faire ça en xpresso :mrgreen:
Salut Loriel, cool que cela t'amuse
et oui, j'y ai pense a faire comme ca ... c'est moins 'propre' que de raisonner par secteur angulaire 'pur' depuis l'axe camera,
mais je ne sais pas encore le faire ... et je n'ai pas le temps de plancher dessus en ce moment :-/
en l'etat, ca m'a permis de calculer mes images ... c'etait le principal !
par contre, il n'est absolument pas optimise pour etre deplace dans un nouveau document :
si tu veux t'en servir, il faut que 'importe/merge' mon fichier dans ta scene (et non copier-coller d'un doc a l'autre) afin de conserver les liens expresso avec la camera test
et dans un second temps tu drag&drop ta camera dans le champ de lien de l'expresso (et tu n'effaces pas la camera test qui ne sert plus a rien ... sauf a conserver la nature des nodes dans l'expresso... mais tu peux la masquer pour ne pas qu'elle t'embete dans ta scene)
il y a aussi un autre aspect dont il faut se mefier :
il se base sur le centre de l'objet pour savoir ou il se place et donc s'il doit le masquer ou non,
mais dans ma scene j'ai des objets dont le centre est tres loin de la geometrie ... du coup, ca merdoit
... il faudrait que le script fasse le calcul sur la geometrie reelle ... mais la encore, ce sera pour plus tard
a suivre ...
re bonjour !
alors dans la serie 'tricote avec les pieds' voici la V2 de mon Xpresso
... toujours pas capte les secteurs angulaires ... les vecteurs je n'y arrive pas
http://www.gyom.net/FC4D/DepthCamObjectV2.zip (130 Ko)
par contre,
c'est une version 'un peu' optimisee :
moins clean que la precedente dans le sens ou les objets Poly et les instances Mograph ne sont plus gerees sur la meme sphere
mais bien plus efficace car en decentrant le bouzin : on ne gere plus les instances qui sont derriere la camera !
(pour les objets Poly je n'ai pas trouve d'astuce a deux francs)
bon ... un jour une bonne ame aura peut-etre envie de faire du propre avec ca ... p'tet meme que je m'y collerai en Python (bicolore de rocher) pourquoi pas ! ... sauf si ca sert vraiment a rien, mais :
en attendant, je vais passer de 5 jours de calcul (estime) a ... je vous dirai quand j'aurai lance la bete !
a suivre ...
bon ... j'ai pas gagne grand chose en temps de calcul, mais la je suis en mode 'Invert' ... du coup il y a du monde devant :-/
mais au moins, je ne charge que du 'qui-sert' et pas de 'qui-se-cache-dans-mon-dos-pour-rien'
quand je serai grand je saurai programmer ... et je ferai un truc a plusieurs niveaux de profondeur meme !
allez ... j'y retourne ...
a suivre ...
salut Gyom
je me suis penché un peu sur ton problême et j'ai fais ça :
render clamped (4.5mo)
ça marche bien mais pas avec des clones de mograph .. là je sais pas trop comment faire .. il voit le cloner par ex mais pas ses copies virtuelles.. :cry:
mais bon si ça peut t'aider je t'envoie le fichier déja.
edit : j'ai cherché si il y avait un sdk pour mograph , mais il n'y a que 2 malheureux paragraphes dans le Help ... vive le coffee :art:
:odile:
wow, bonjour Clemz ! .. et merci :bounce:
d'apres ce que je vois tu prends a la volee un null de reference que tu balance dans le Link et le code gere les objets qui sont dans ce null tout seul ?
c'est chouette !
mon 'truc' fonctionne plutot bien avec les Mograph donc oui, ca m'interresse car du coup ca devient complementaire
en tous les cas c'est de ca dont je reve
car pour les objets poly dans ma scene, les rendus en cours rament a fond ...
gyom(at)gyom.net :wink:
Gaaz : J'ai édité ton adresse ... histoire que tu évites les spams ... :wink:
a suivre ...
On est pas loin d'un truc qui peut vite devenir indispensable pour les rendus lourds!!
:poucehaut: :poucehaut:
Je suis de prêt.