forum d'entraide Sketchup Artlantis Archicad et bien d'autres
Bonjour sunny

Bonjour et bienvenue sur biblio3d, forum destiné à l'entraide concernant plus particulièrement les logiciels

SKETCHUP - ARTLANTIS - ARCHICAD - PIRANESI
Basketball

Attention : concernant les nouveaux venus, l'inscription est obligatoire pour accéder à la totalité du forum. Après inscription, veuillez vous présenter dans la section adéquate. Nous serons ravis de vous souhaiter la bienvenue dans la communauté ! sourire
Galerie


 [ CINEMA4D ] Script PYTHON (RayCollider) Empty
addthis
Derniers sujets
» [ FORUM ] Nouveaux pouces
par youyou40 Aujourd'hui à 18:01

» [SKETCHUP composants dynamiques]Tutos pour la création de composants dynamiques
par tenrev Aujourd'hui à 17:54

» [ TWINMOTION ] La synchronisation avec SketchUP?
par Dav_id Aujourd'hui à 9:22

» [ SKETCHUP généralité ] Modification d'échelle qui part en cahuète
par tenrev Aujourd'hui à 8:21

» [ ARCHICAD-GENERALITES ] - Escalier triple quart tournant
par Coulou Hier à 17:06

» [ ARCHICAD ] Jonction mur rideau
par Coulou Hier à 16:26

» [ AUTRES LOGICIELS ] Fusion 360
par Pilou Hier à 11:34

» [ ARCHICAD ] Gérer la résolution de courbure d'une coque ou forme
par Coulou Mar 30 Juin 2020 - 17:37

» [ SKETCHUP généralité ] Soucis graphique
par Ancelord Mar 30 Juin 2020 - 11:21

» [PLUG IN SKETCHUP] SketchUp to Blender 2.8x (Blender 2.80/2.81/2.82/2.82a/2.83) - Importing Tutorial
par Dav_id Lun 29 Juin 2020 - 19:19

» [ TWINMOTION ] Nouveau site de ressources
par tenrev Lun 29 Juin 2020 - 18:15

» [ PRESENTATION ]
par Dav_id Lun 29 Juin 2020 - 12:15

» [AUTRES LOGICIELS] MagicaVoxel!
par Pilou Lun 29 Juin 2020 - 11:44

» [ AUTRES LOGICIELS ] Moteur de Rendu CAD RAYS pour Nurbs, CAD etc free
par Pilou Dim 28 Juin 2020 - 19:31

» [ SKETCHUP généralité ] Type fichier pour import vers SU make 2017
par youyou40 Dim 28 Juin 2020 - 14:32

» [ SKETCHUP plugins ] plugin Floor Generator
par rascal Sam 27 Juin 2020 - 23:11

» [ WIP ]Mon petit labo...by ogi
par ogi Sam 27 Juin 2020 - 10:14

» [ AUTRES LOGICIELS ] Le petit lapin Blanc!
par Pilou Ven 26 Juin 2020 - 21:05

» [ WIP ] Vieilles pierres ...
par REGIS Ven 26 Juin 2020 - 16:57

» [ TWINMOTION ]SYNCHRO-TWINMOTION ET ARCHICAD 23-Textures
par Markus-83 Ven 26 Juin 2020 - 11:34

» [AUTRES LOGICIELS] Moi3D beta 4.0 - 64 bits Mac / PC 22 Janvier 2020
par Pilou Jeu 25 Juin 2020 - 16:00

» [ TWINMOTION ] Image d'entrée présentation
par billel Jeu 25 Juin 2020 - 12:26

» [ AUTRES LOGICIELS ] Fusion 360 en français!
par ogi Jeu 25 Juin 2020 - 10:18

» [ ARCHICAD ] Cotations de niveau personnalisées
par Farkas Jeu 25 Juin 2020 - 10:08

» [ PRESENTATION ] Pascal24
par Coulou Jeu 25 Juin 2020 - 9:15

biblio3d
biblio3d sur facebook
biblio3d sur Linkedin
pinterest
upload



Uploader ici vos fichiers
à partager sur le forum

livre doh Sketchup

[ CINEMA4D ] Script PYTHON (RayCollider)

Aller en bas

 [ CINEMA4D ] Script PYTHON (RayCollider) Empty [ CINEMA4D ] Script PYTHON (RayCollider)

Message par YPY le Mar 22 Jan 2019 - 14:51

Cela ne sert à rien, mais cela produit un méli-mélo de "fibre" autour d'un objet.
Ici un simple titre, YPY (sur un texte MoGraph).

CI-DESSOUS, le Script qu'il faudra copier/coller dans une Expression Python elle-même située à hauteur d'un objet de votre scène :
Script Python:
import c4d
from c4d import utils
import math

def GetCurrentState(o):
   obj = utils.SendModelingCommand(
           command = c4d.MCOMMAND_CURRENTSTATETOOBJECT,
           list = [o],
           mode=c4d.MODELINGCOMMANDMODE_ALL,
           bc=c4d.BaseContainer(),
           doc = doc)
   return  utils.SendModelingCommand(
           command = c4d.MCOMMAND_JOIN,
           list = obj,
           mode=c4d.MODELINGCOMMANDMODE_ALL,
           bc=c4d.BaseContainer(),
           doc = doc)

def main():
   
   update = op[c4d.ID_USERDATA,4]
   if update:
               
       target = op[c4d.ID_USERDATA,2]
       max_seg = op[c4d.ID_USERDATA,3]
       
       if target != None:
           obj = op.GetObject()
           target_poly = GetCurrentState(target)[0]
           
           objM = obj.GetMg()
           targetM = target.GetMg() * target.GetUpMg()

           
           toTarget = objM * targetM.__invert__()
           toObj = targetM * objM.__invert__()
               
           rc = utils.GeRayCollider()
           rc.Init(target_poly)
           
           points = [c4d.Vector(0, 0, 0)]
   
           start = points[0] * toTarget
           direction = c4d.Vector(0, 0, 1) * toTarget - start
           
#            c4d.StatusSetSpin()
           
           for i in xrange(1, max_seg+1):
               if not rc.Intersect(start + direction.GetNormalized() * 0.001, direction, 100000):
                   break
               
               ray_result = rc.GetNearestIntersection()
               pos = ray_result["hitpos"]
               start = pos
               points.append(pos * toObj)
               n = ray_result["f_normal"].GetNormalized()
               refl = utils.ReflectRay(direction, n)        
               direction = refl
                 
           obj.ResizeObject(len(points))
           obj.SetAllPoints(points)
           obj.Message(c4d.MSG_UPDATE)
#            c4d.StatusClear()

Au final cela donne ceci =>
 [ CINEMA4D ] Script PYTHON (RayCollider) Ypy-pi10

 [ CINEMA4D ] Script PYTHON (RayCollider) Ypy-ra10

FICHIER de RÉFÉRENCE CINEMA4D ICI =>
https://www.biblio3d.fr/upload/download.php?id=23&token=3cvCGV61tlhaTz76ltAwp2ff5kF7atpB
clindoeil

***********************
 [ CINEMA4D ] Script PYTHON (RayCollider) Emily-10
 [ CINEMA4D ] Script PYTHON (RayCollider) Man_me10
 [ CINEMA4D ] Script PYTHON (RayCollider) Fakebo10
***********************

-------------------------------------------------------------------------------------------------------------------------
"Honnis soit qui manigance !" @L@ "Mieux pétard que jamais !" "Oui, les Gardiens de la Paix, au lieu de la garder, ils feraient mieux de nous la foutre..!" (Coluche) content
YPY
YPY
Moulin à parole
Moulin à parole

Masculin Taureau
Humeur : Dans les Nuages et au-delà !
Date d'inscription : 28/09/2018
Nombre de messages : 569
Points : 1073
Age : 100
Localisation : Alpes de Haute Provence (04)
Emploi : FreeLance

https://www.biblio3d.com/t11783-presentation-je-me-presente-ypy

Revenir en haut Aller en bas

 [ CINEMA4D ] Script PYTHON (RayCollider) Empty Re: [ CINEMA4D ] Script PYTHON (RayCollider)

Message par tenrev le Mar 22 Jan 2019 - 15:26

super , bravo l'artiste bravo bravo

tu aimes bien les fibres en meli-melo rigole

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage rigole

 [ CINEMA4D ] Script PYTHON (RayCollider) 575088biblio3d

1 PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift
1 vieux PC portable Dell sous Linux Ubuntu 18     ______      1 vieux pc portable HP sous chromebook 
8 Raspberry pi (3 raspi zero, 3 raspi 3b, 1raspi 4b 1 go de ram, 1 raspi 4b 4 go de ram ) avec Kodi - Raspian - Android - Retropie - Runeaudio - volumio  et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  rigole
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 16317
Points : 26983
Age : 57
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

 [ CINEMA4D ] Script PYTHON (RayCollider) Empty Re: [ CINEMA4D ] Script PYTHON (RayCollider)

Message par ogi le Mar 22 Jan 2019 - 15:39

@YPY a écrit:Cela ne sert à rien, mais cela produit un méli-mélo de "fibre" autour d'un objet.

Tu dis ca sert a rien....mais non ! toutes ces options cumulées, peuvent pour moi (par exemple) me servir de base d'objet de distribution pour une lierre avec ivy generator par exemple clindoeil Yop, keep ze good feeling PastoMan clindoeil

-------------------------------------------------------------------------------------------------------------------------
L'imagination est plus importante que le savoir
la religion... pour les moutons...
HP Z6 bi-Xeon 4114/64ram/1080ti
HP Z620 bi-Xeon E5-2620/32ram/1080
DELL T5500 bi-Xeon E5-5530/24ram/quadro3800
ogi
ogi
Administrateurs
Administrateurs

Masculin Sagittaire
Humeur : Je suis Charlot
Date d'inscription : 26/01/2009
Nombre de messages : 6264
Points : 10315
Age : 46
Localisation : Grenoble
Emploi : graphisme, depannage

Revenir en haut Aller en bas

 [ CINEMA4D ] Script PYTHON (RayCollider) Empty Re: [ CINEMA4D ] Script PYTHON (RayCollider)

Message par YPY le Mer 23 Jan 2019 - 8:20

@tenrev a écrit:super , bravo l'artiste..
tu aimes bien les fibres en meli-melo rigole
Merci... les fibres c'est bon pour le transit  content

@ogi a écrit:[Tu dis ca sert a rien....mais non ! toutes ces options cumulées, peuvent pour moi (par exemple) me servir de base d'objet de distribution pour une lierre avec ivy generator par exemple clindoeil
Yop, keep ze good feeling PastoMan clindoeil
J'imagine que ce script peut être dévié vers différentes nécessités, c'est ça qui est bon !
Yep Yep Ogi, je Keep je Keep, Fender for Ever clindoeil

-------------------------------------------------------------------------------------------------------------------------
"Honnis soit qui manigance !" @L@ "Mieux pétard que jamais !" "Oui, les Gardiens de la Paix, au lieu de la garder, ils feraient mieux de nous la foutre..!" (Coluche) content
YPY
YPY
Moulin à parole
Moulin à parole

Masculin Taureau
Humeur : Dans les Nuages et au-delà !
Date d'inscription : 28/09/2018
Nombre de messages : 569
Points : 1073
Age : 100
Localisation : Alpes de Haute Provence (04)
Emploi : FreeLance

https://www.biblio3d.com/t11783-presentation-je-me-presente-ypy

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum