Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11
Page Suivante
Auteur Sujet :

▲ topic Maxscript ▲

n°920817
bNji
Posté le 08-02-2007 à 15:17:24  profilanswer
 

Reprise du message précédent :
Justement c'est ca mon probleme, quelle commande utiliser :) Je vais matter du cote de render alors merki

mood
Publicité
Posté le 08-02-2007 à 15:17:24  profilanswer
 

n°920819
darth21
Modérateur
¡ uʍop ǝpısdn
Posté le 08-02-2007 à 15:23:27  profilanswer
 

d'autant que je me souvienne c'est 'render' et ensuite tu peux mettre les options de caméra, dimensions de rendu, ficheir de sortie, frames, ...


Message édité par darth21 le 08-02-2007 à 15:23:31

---------------
TZR un jour…  |  gamertag: cropNcut
n°920858
bNji
Posté le 08-02-2007 à 16:59:04  profilanswer
 

Tu sais ou je pourrai trouver la syntaxe exacte pour la commande render ?

n°920860
darth21
Modérateur
¡ uʍop ǝpısdn
Posté le 08-02-2007 à 17:00:07  profilanswer
 

extrait de l'aide maxscript:

 


render

 

 [ camera: <camera_node> ]

 

Defaults to active viewport.

 

 [ frame: <number> | #current ]

 

Defaults to #current.

 

 [ framerange: <interval> | #active ]

 

 [ fromframe: <time> ]

 

 [ toframe: <time> ]

 

 [ nthframe: <time> ]

 

Defaults to unsupplied, and the frame value controls which frames to render.

 

Since 3ds max 5, the parameters frame, fromframe and toframe have been changed to accept time values instead of numbers. Setting them to float values will allow for sub-frame rendering!

 

 [ outputwidth: <number> ]

 

Defaults to current render width.

 

 [ outputheight: <number> ]

 

Defaults to current render height.

 

 [ outputSize: <point2> ]

 

An alternative way to specify the output size of the rendered image. The point2 value is in the form: [width,height]

 

 [ pixelaspect: <number> ]

 

Defaults to 1.0.

 

 [ renderhiddenobjects: <boolean> ]

 

Defaults to current renderer Render Hidden Objects state.

 

 [ rendSimplifyAreaLights: <boolean> ]

 

NEW in 3ds max 6: Lets the renderer simplify area lights by rendering them as point lights when appropriate.

 

 [ superblack: <boolean> ]

 

Defaults to current renderer Superblack state.

 

 [ force2sided: <boolean> ]

 

Defaults to current renderer Force 2 Sided state.

 

 [ renderatmosphericeffects: <boolean> ]

 

Defaults to current renderer Render Atmospheric Effects state.

 

 [ renderfields: <boolean> ]

 

Defaults to current renderer Render Fields state.

 

 [ fieldorder: #odd | #even ]

 

Defaults to current renderer preferences Field Order state.

 

 [ outputfile: <string> ]

 

The frame number is appended to the filename if the file image type is a single image type (.bmp, .jpg, .tga, etc.), and a frame range is being rendered. Defaults to rendering to just the virtual frame buffer.

 

 [ vfb: <boolean> ]

 

Defaults to current renderer Show VFB state.

 

 [ netrender: <boolean> ]

 

Defaults to current renderer Net Render state.

 

 [ renderer: #draft | #production]

 

Allows the selection of draft or production renderer. By default, the currently selected renderer is used.

 

 [ renderType: #normal | #region | #regionCrop | #blowup | #selection | #regionselected | #cropselected ]

 

 [ region: #(left,top,right,bottom) ]

 

Provides control over the type of rendering, corresponding to the Render Type menu in the 3ds max toolbar. If #region, #regionCrop or #blowUp is selected, the region: parameter may be used to override the currently set regions for the active viewport, specified as pixel coordinates relative to the top-left corner in the bitmap (VFB). The region argument is ignored for all other render types. The region argument can be a Box2 value.

 

If the rendertype is #blowup, and a region is specified, region rectangle must have the same aspect as the render output size aspect. The top, bottom, and left component values are taken from the region argument, but the width is re-calculated to force the proper aspect.

 

Note that #region, #regionCrop and #blowUp can only be selected for an active viewport rendering. An error will be reported if they are specified for a camera rendering. Defaults to #normal.

 

Here is a full list of the supported types, their aliases and the UI types they correspond to:

 

#view, #normal - correspond to View
#selection, #selected - correspond to Selected
#region - corresponds to Region
#regionCrop, #crop - correspond to Crop
#blowUp - corresponds to Blowup
#regionselected - corresponds to Region Selected
#cropselected - corresponds to Crop Selected

 

Note: Render type #boxselected, which corresponds to Box Selected, is currently not supported.

 

 [ to: <bitmap> ]

 

Specifies an existing bitmap to render into. The render() function takes image size and other parameter settings from the existing bitmap. If not supplied, a new bitmap is created and returned by the render() function.

 

 [ channels: <array_of_channel_names> ]

 

Specifies which g-buffer channels should be created during the rendering. For example:

 

bm = render camera:$cam2 channels:#(#zDepth, #coverage, #objectID)

 

causes $cam2 to be rendered into a new bitmap that will contain z-depth, pixel coverage and object g-buffer ID channels. The channels: argument must always be an array of channels identifiers, chosen from the following:

 

#zDepth

 

#matID

 

#objectID

 

#UVCoords

 

#normal

 

#unClamped

 

#coverage

 

#node

 

#mask

 

#shaderColor

 

#shaderTransparency

 

#velocity

 

#weight

 

Defaults to no g-buffer channels.

 

 [ aperture: <float> ]

 

Defaults to current renderer Aperture Width value.

 

 [ ditherTrueColor: <boolean> ]

 

Defaults to current rendering preferences Dither True Color state.

 

 [ ditherPaletted: <boolean> ]

 

Defaults to current rendering preferences Dither Paletted state.

 

 [ videocolorcheck: <boolean> ]

 

Defaults to current renderer Video Color Check state.

 

 [ renderPAL: <boolean> ]

 

Defaults to current rendering preferences Video Color Check NTSC/PAL state. If true, and video color checking is enabled, PAL video color checking is performed.

 

 [ superBlackThreshold: <integer> ]

 

Defaults to current rendering preferences Super Black Threshold value.

 

 [ maxPixelSize: <float> ]

 


  [ useRadiosity: <boolean> ]

 


  [ ComputeRadiosity: <boolean> ]

 


These properties are available in the Render Scene dialog, and are also accessible through the RadiosityPreferences interface.

 

The render parameter values are now pushed and popped by the render() method to restore the system's initial values.

 

All correspond to items in the 3ds max Render Scene setup dialogs in 3ds max.

 

[ cancelled: <&var> ]

 

If the render is cancelled, the variable var will contain true, otherwise it will contain false.

 

For example:

 

bm = render cancelled:&wasCancelled

 

if (not wasCancelled) do ....

 

The following are also available in 3ds max if the standard scanline renderer is being used:

 

 [ antiAliasing: <boolean> ]

 

Defaults to current renderer Anti-Aliasing state.

 

 [ antiAliasFilterSize: <float> ]

 

Defaults to current renderer Anti-Aliasing Filter Size value.

 

 [ antiAliasFilter: <filter> ]

 

Defaults to current renderer Anti-Aliasing filter.

 

 [ enablePixelSampler: <boolean> ]

 

Defaults to the current renderer Global SuperSampling state. This state is true if Disable all Samplers is checked, otherwise false.

 

 [ mapping: <boolean> ]

 

Defaults to current renderer Mapping state.

 

 [ shadows: <boolean> ]

 

Defaults to current renderer Shadows state.

 

 [ autoReflect: <boolean> ]

 

Defaults to current renderer Auto-Reflect/Refract and Mirrors state.

 

 [ forceWireframe: <boolean> ]

 

Defaults to current renderer Force Wireframe state.

 

 [ wireThickness: <float> ]

 

Defaults to 1.0.

 

 [ filterMaps: <boolean> ]

 

Defaults to current renderer Anti-Aliasing Filter Maps state.

 

 [ objectMotionBlur: <boolean> ]

 

Defaults to current renderer Object Motion Blur Apply state.

 

 [ objectBlurDuration: <float> ]

 

Defaults to 0.5.

 

 [ objectBlurSamples: <integer> ]

 

Defaults to 10.

 

 [ objectBlurSubdivisions: <integer> ]

 

Defaults to 10.

 

 [ imageMotionBlur: <boolean> ]

 

Defaults to current renderer Image Motion Blur Apply state.

 

 [ imageBlurDuration: <float> ]

 

Defaults to 0.5.

 

 [ autoReflectLevels: <integer> ]

 

Defaults to 1.

 

Note that since 3ds max 5, the render() method passes any keyword arguments on to the renderer class instance, so any renderer parameter block or FPS interface property can be set via the keyword argument. This behavior replaces the hardcoded keyword arguments documented in the above topic. The default scanline renderer FPS interface properties were named to maintain consistency with existing scripts.

 

NEW in 3ds max 6: Quiet Mode Options:

 

[ quiet: <bool> ]

 

If true, suppress participating dialogs.

 

 [ missingExtFilesAction: <actions> ]

 

Actions to take on Missing External Files, where <actions> is: #logmsg, #logToFile, #abort, and/or an integer, or an array of one or more of those items.

 

 [ missingExtFilesList: &variable ]

 

If #logmsg is specified as action, variable will be filled in with array of the missing external file names.

 

 [ missingUVWAction: <actions> ]

 

Actions to take on Missing UVWs, where <actions> is: #logmsg, #logToFile, #abort, and/or an integer, or an array of one or more of those items.

 

 [ missingUVWList: &variable ]

 

If #logmsg is specified as action, variable will be filled in with array of strings containing the missing map channel and node name.

 

See Quiet Mode for details.

 


You can invoke the renderer and have it do one or more of four things with the rendered output:

 

Display it in a virtual frame buffer (the default), controlled with the vfb: parameter.

 

Store the rendering in an image file by supplying an outputfile: parameter. The type of image file to be created is determined from the file suffix you specify.

 

Return the result as a MAXScript Bitmap value that you can perform Bitmap operations on (see the Bitmap Values topic).

 

Store the rendering in an existing MAXScript Bitmap value by supplying the to: parameter. Supplying this parameter causes settings such as height, width, aspect, gamma, file name, etc. to be taken from the supplied bitmap.

 

Note: The render() function is interruptible mid-frame using the ESC key.

 

Examples:

 

render camera:$cam01 outputwidth:320 outputheight:240

 

for c in cameras do render c outputFile:(c.name + ".bmp" ) vfb:off

 

rollout1.image.bitmap = render camera:$cam01 ...

  

bon courage :D


Message édité par darth21 le 08-02-2007 à 17:00:22

---------------
TZR un jour…  |  gamertag: cropNcut
n°920863
bNji
Posté le 08-02-2007 à 17:02:13  profilanswer
 

Heureusement que c'est juste un extrait :D

n°920865
darth21
Modérateur
¡ uʍop ǝpısdn
Posté le 08-02-2007 à 17:02:50  profilanswer
 

"copier/coller" serait effectivement plus approprié [:ddr555]


Message édité par darth21 le 08-02-2007 à 17:02:58

---------------
TZR un jour…  |  gamertag: cropNcut
n°924991
crayon29
mine de rien...
Posté le 20-02-2007 à 23:44:29  profilanswer
 

:hello: , double post avec le topic academique car je pense que mon problème trouvera plutot réponse ici
 
Je recherche  un moyen de connaitre la vitesse instantanée d'un objet en km/h.
Voici mon cas :
-J'ai un objet (un dummy dans mon cas) qui suis une courbe (cv curve nurbs) à l'aide d'une path constraint.
-Je fais varier la vitesse de l'objet dans le video post en modifiant sa courbe (bezier float)
-j'aimerais pouvoir visualiser la vitesse de mon objet afin de l'ajuster en modifiant la courbe.  
 
Je n'ai pas de connaissances maxscript pour le moment donc ça s'annonce tendu :D .
J'aimerais dans un premier temps savoir si ce que je veux est réalisable.
Voila comment je vois le truc:
Pour connaitre la vitesse à la keyframe "a" de l'objet , il faudrait connaitre la distance parcourue sur la courbe entre a-1 et a, ça je vois pas du tout comment faire (si c'est faisable). Connaitre la distance linéaire est approximatif mais plus facile et suffisant dans mon cas, il suffit d'utiliser pythagore:
a: keyframe actuelle
b: keyframe précédente
D: distance parcourue
D= √[(xa-xb)²+(ya-yb)²]
Vu que je travaille en mètres, il faut ensuite le multiplier par le nombre d'images par heure (25i/seconde = 90000 i/heure par exemple) pour avoir la vitesse en m/h, puis diviser par 1000 pour avoir la vitesse en km/h.
Donc au final: Vitesse= √[(xa-xb)²+(ya-yb)²] * 90
 
Le script doit donc faire les choses suivantes:
1-détecter la position x et y de l'objet selectionné à la frame actuelle (xa;ya)
2-détecter la position x et y de l'objet selectionné à la frame précédente (xb;yb)
3-déterminer la distance parcourue à l'aide de l'opération D= √[(xa-xb)²+(ya-yb)²]  
4-détecter le nombre d'images/secondes configuré dans l'onglet time config  
5-multiplier D par le nb d'images/sec puis par 3600 pour avoir la vitesse en km/h
6-ici ça doit se corser :sweat: : afficher dans une boite de dialogue la valeur mesurée et la mettre à jour en temps réél lorsqu'on modifie la trajectoire de l'objet ou sa courbe de vitesse dans le video post.
 
Y a t-il un ou plusieurs points listés qui ne sont pas possibles avec maxscript?
Le point 6 ne doit pas etre facile à réaliser non?
 
Voila, merci à ceux qui pourront m'aider :jap:


---------------
www.crayon29.com (incompatible IE) -- Liverpowen a écrit: Moi quand je suis bourré, je suis gay  :o
n°966870
fluty
totalement disjonctée
Posté le 17-07-2007 à 19:01:06  profilanswer
 

Alors voilà, y'en a marre des animateurs qui passe leur temps à desactivé les turbosmooth de certains objets dans les scènes et qui nous oblige à relancer maintes et maintes fois les rendu parce qu'on a oublié d'en réactiver un. Donc bon, depuis le temps que je dit qu'il faut que je me mette à maxscript, voilà une bonne opportunité de s'y mettre. Seulement pour le moment, ça ne fonctionne pas des masses :(  
Je viens donc chercher un peu d'aide.
 
Vous l'aurez donc deviné, j'ai essayé de faire un script qui selectionne tous les objets de la scène et qui active/desactive les turbosmooth, en fonction de leur état.
 
Seulement j'ai deux soucis:
 
Le premier si tous mes objets ont des turbosmooth (activé ou non) la fonction "desactvie turbosmooth" fonctionne très bien, alors que la fonction "active turbosmooth" inverse les turbosmooth (si les turbosmooth sont activés elle les désactive et vice versa), et j'arrive pas à comprendre pourquoi  :??:  
Surement un truc tout bête, mais je sèche  :sweat:  
 
Mon deuxième soucis est que si j'ai dans ma scène un objet qui n'a pas de modifier turbosmooth alors mon script plante, seulement je n'arrive pas à trouver la fonction qui me permettrait de tester si les objets on oui ou non un modifier turbosmooth d'appliqué. Quelqu'un aurait-il une idée ?
 
Voici mon code :

Code :
  1. rollout Rollo " TurboSmooth " width:162 height:77
  2. (
  3. button btn_turbOn "Active TurboSmooth" pos:[15,13] width:126 height:23
  4. button btn_turbOff "Desactive TurboSmooth" pos:[15,42] width:126 height:23
  5. on btn_turbOn pressed do
  6. (
  7. select $*
  8. for i in selection do
  9.  (
  10.  if (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  11.                    then (i.modifiers["Turbosmooth"].enabled) = i.modifiers["Turbosmooth"].enabled)
  12.  )
  13. )
  14. on btn_turbOff pressed do
  15. (
  16. select $*
  17. for i in selection do
  18.  (
  19.  if (i.modifiers["Turbosmooth"].enabled) = not(i.modifiers["Turbosmooth"].enabled)
  20.                    then (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  21.  )
  22. )
  23. )
  24. roll1= newRolloutFloater "Ceco - (c)2007" 172 119
  25. addRollout Rollo Roll1


 
Pour mon premier problème, je pense que ça viens de la ligne 12 et qu'au niveau du then, il faudrait pouvoir mettre la negation du premier i.modifiers["Turbosmooth"].enabled mais je n'y arrive pas  [:airforceone]  
il veut pas du "not" en premier argument et ne connait apparemment pas "disabled", donc je vois pas trop :(  
 
Merci d'avance pour votre aide  :D


Message édité par fluty le 17-07-2007 à 19:02:45

---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°966913
darth21
Modérateur
¡ uʍop ǝpısdn
Posté le 17-07-2007 à 22:51:06  profilanswer
 

sinon tu peux squizer le problème en utilisant un try ... catch
style

Code :
  1. for i in selection do
  2. (
  3. try (i.modifiers["Turbosmooth"].enabled = 1)
  4. catch ()
  5. )


les objets qui auront le turbosmooth seront activés, les autres renverront une erreur et passeront au catch - qui ne fera rien - et ca passera normalement à l'objet suivant.


Message édité par darth21 le 17-07-2007 à 22:51:56

---------------
TZR un jour…  |  gamertag: cropNcut
n°966964
fluty
totalement disjonctée
Posté le 18-07-2007 à 10:10:03  profilanswer
 

j'y avais pas pensé au try ...catch
Je vais essayer ça de suite, merci  :jap:


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
mood
Publicité
Posté le 18-07-2007 à 10:10:03  profilanswer
 

n°966965
Bulgrozz
Avec les règles à l'Aquitaine
Posté le 18-07-2007 à 10:10:41  profilanswer
 

Le développeur de mon ancienne boite m'avait fait ce script pour changer le nb d'itérations des MeshSmooths au rendu, ça doit pouvoir s'adapter pour le Turbosmooth :
 

Code :
  1. rollout  ChgMeshsmoothRollout "Changer le Nb d'iterations" width:210
  2. (
  3. spinner IterSpn "Nb d'iterations:" range:[0,2,1] type:#integer
  4. Button ApplyBtn "Changer l'iteration de rendu" width:190 height:24
  5. on ApplyBtn pressed do
  6. (
  7.  if (not theHold.Holding()) then (theHold.Begin())
  8.  for i in $* do
  9.  (
  10.   -- Find if meshsmooth exists in modifier stack
  11.   -- Switch modifier on or off depending on actual status
  12.   for m in i.modifiers where classof m == MeshSmooth  do
  13.   (
  14.    m.renderIterations = IterSpn.value
  15.    m.useRenderIterations = true
  16.    m.update  = 0
  17.   )
  18.  )
  19.  if (theHold.Holding()) then (theHold.Accept "MirrorCopy" )
  20. )
  21. )
  22. createDialog ChgMeshsmoothRollout

n°966976
fluty
totalement disjonctée
Posté le 18-07-2007 à 11:18:27  profilanswer
 

Bon bah grâce au try... catch de Darth et au classof du Script de Bulgrozz, j'ai enfin réussi à faire le mien  [:alandon]  
Un grand merci à vous deux pour votre aide  :jap:  
 
Je vous le met à disposition si jamais ça interresse quelqu'un  ;)  
 

Code :
  1. rollout Rollo " TurboSmooth " width:162 height:81
  2. (
  3. button btn_turbOn "TurboSmooth On" pos:[15,13] width:126 height:23
  4. button btn_turbOff "TurboSmooth Off" pos:[15,42] width:126 height:23
  5. on btn_turbOn pressed do
  6. (
  7. select $*
  8. for i in selection do
  9.  (
  10.  try (i.modifiers["Turbosmooth"].enabled = 1)
  11.  catch()
  12.  for m in i.modifiers where classof m == TurboSmooth  do
  13.   (
  14.   if (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  15.                            then (i.modifiers["Turbosmooth"].enabled = i.modifiers["Turbosmooth"].enabled)
  16.   )
  17.  )
  18.  deselect $*
  19. )
  20. on btn_turbOff pressed do
  21. (
  22. select $*
  23. for i in selection do
  24.  (
  25.  for m in i.modifiers where classof m == TurboSmooth  do
  26.   (
  27.   if (i.modifiers["Turbosmooth"].enabled) = not(i.modifiers["Turbosmooth"].enabled)
  28.                            then (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  29.   )
  30.  )
  31.  deselect $*
  32. )
  33. )
  34. rollout Rollu " MeshSmooth " width:162 height:81
  35. (
  36. button btn_MeshOn "MeshSmooth On" pos:[15,13] width:126 height:23
  37. button btn_MeshOff "MeshSmooth Off" pos:[15,42] width:126 height:23
  38. on btn_MeshOn pressed do
  39. (
  40. select $*
  41. for i in selection do
  42.  (
  43.  try (i.modifiers["MeshSmooth"].enabled = 1)
  44.  catch()
  45.  for m in i.modifiers where classof m == MeshSmooth  do
  46.   (
  47.   if (i.modifiers["MeshSmooth"].enabled = not(i.modifiers["MeshSmooth"].enabled))
  48.                            then (i.modifiers["MeshSmooth"].enabled = i.modifiers["MeshSmooth"].enabled)
  49.   )
  50.  )
  51.  deselect $*
  52. )
  53. on btn_MeshOff pressed do
  54. (
  55. select $*
  56. for i in selection do
  57.  (
  58.  for m in i.modifiers where classof m == MeshSmooth  do
  59.   (
  60.   if (i.modifiers["MeshSmooth"].enabled) = not(i.modifiers["MeshSmooth"].enabled)
  61.                            then (i.modifiers["MeshSmooth"].enabled = not(i.modifiers["MeshSmooth"].enabled))
  62.   )
  63.  )
  64.  deselect $*
  65. )
  66. )
  67. roll1= newRolloutFloater "Ceco - (c)2007" 172 119
  68. addRollout Rollo Roll1
  69. addRollout Rollu Roll1


Je sais ça doit être codé comme un cochon, mais bon c'est mon premier script alors c'est normal  :D


Message édité par fluty le 18-07-2007 à 12:33:47

---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°966996
Bulgrozz
Avec les règles à l'Aquitaine
Posté le 18-07-2007 à 12:24:00  profilanswer
 

Je pense qu'il faudrait ajouter la désélection des éléments une fois l'opération achevée ;)  
Perso j'aurais mis qu'un seul bouton pour le Meshsmooth et le Turbosmooth (enfin 1 pour ON et 1 pour OFF)
Et sinon t'as essayé le coup du "Off in Viewport" ?

n°967003
fluty
totalement disjonctée
Posté le 18-07-2007 à 12:35:27  profilanswer
 

Bulgrozz a écrit :

Je pense qu'il faudrait ajouter la désélection des éléments une fois l'opération achevée ;)  
Perso j'aurais mis qu'un seul bouton pour le Meshsmooth et le Turbosmooth (enfin 1 pour ON et 1 pour OFF)
Et sinon t'as essayé le coup du "Off in Viewport" ?


Effectivement, pas bête, je vais corrigé ça de ce pas  ;)  (C'est corrigé et édité)
1 bouton pour le meshsmooth et le turbosmooth ? Ce sont deux modifiers différents, je suis donc obligée de faire des boutons différents pour l'un et l'autre
Et, effectivement j'ai l'impression que le "off in viewport" revient à peu près au même que d'éteindre les loupiottes, mais bon va changer les habitudes de quelqu'un, spa facile  :D


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°967018
Bulgrozz
Avec les règles à l'Aquitaine
Posté le 18-07-2007 à 12:50:32  profilanswer
 

Ben et comme ça :
 

Code :
  1. rollout Rollo " Smooth " width:162 height:81
  2. (
  3. button btn_smoothOn "On" pos:[15,13] width:126 height:23
  4. button btn_smoothOff "Off" pos:[15,42] width:126 height:23
  5. on btn_smoothOn pressed do
  6. (
  7. select $*
  8. for i in selection do
  9.  (
  10.  try (i.modifiers["Turbosmooth"].enabled = 1)
  11.  catch()
  12.  for m in i.modifiers where classof m == TurboSmooth  do
  13.   (
  14.   if (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  15.                            then (i.modifiers["Turbosmooth"].enabled = i.modifiers["Turbosmooth"].enabled)
  16.   )
  17.  )
  18. select $*
  19. for i in selection do
  20.  (
  21.  try (i.modifiers["MeshSmooth"].enabled = 1)
  22.  catch()
  23.  for m in i.modifiers where classof m == MeshSmooth  do
  24.   (
  25.   if (i.modifiers["MeshSmooth"].enabled = not(i.modifiers["MeshSmooth"].enabled))
  26.                            then (i.modifiers["MeshSmooth"].enabled = i.modifiers["MeshSmooth"].enabled)
  27.   )
  28.  )
  29.             deselect $*
  30. )
  31. on btn_smoothOff pressed do
  32. (
  33. select $*
  34. for i in selection do
  35.  (
  36.  for m in i.modifiers where classof m == TurboSmooth  do
  37.   (
  38.   if (i.modifiers["Turbosmooth"].enabled) = not(i.modifiers["Turbosmooth"].enabled)
  39.                            then (i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
  40.   )
  41.  )
  42. select $*
  43. for i in selection do
  44.  (
  45.  for m in i.modifiers where classof m == MeshSmooth  do
  46.   (
  47.   if (i.modifiers["MeshSmooth"].enabled) = not(i.modifiers["MeshSmooth"].enabled)
  48.                            then (i.modifiers["MeshSmooth"].enabled = not(i.modifiers["MeshSmooth"].enabled))
  49.   )
  50.  )
  51. deselect $*
  52. )
  53. )
  54. roll1= newRolloutFloater "Ceco - (c)2007" 172 119
  55. addRollout Rollo Roll1


non ?


Message édité par Bulgrozz le 18-07-2007 à 12:54:19
n°967038
fluty
totalement disjonctée
Posté le 18-07-2007 à 13:01:08  profilanswer
 

Ah vi  :D  
 
J'ai un peu mal à réflechir aujourd'hui  :whistle:


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°967041
justelebla​nc
Posté le 18-07-2007 à 13:05:13  profilanswer
 

et...ça sert à quoi ?

n°967042
Bulgrozz
Avec les règles à l'Aquitaine
Posté le 18-07-2007 à 13:06:27  profilanswer
 

On peut pas tout voir du 1er coup, c'est tout l'intérêt d'en parler autour de soir :)  
Du coup, vu qu'il reste plus que 2 boutons, je vais les intégrer directement dans ma toolbar de scripts plutôt que de passer par un rollout.

n°967043
fluty
totalement disjonctée
Posté le 18-07-2007 à 13:06:45  profilanswer
 

a desactiver/reactiver les meshsmooth et turbosmooth de tous les objets en même temps


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°967046
justelebla​nc
Posté le 18-07-2007 à 13:12:06  profilanswer
 

fluty a écrit :

a desactiver/reactiver les meshsmooth et turbosmooth de tous les objets en même temps


ah mais c'est génial ça !!
ça m'énerve à chaque fois d'arriver à la fin d'un rendu et de me rendre compte que j'en ai oublié  :fou:

Message cité 1 fois
Message édité par justeleblanc le 18-07-2007 à 13:12:26
n°967047
fluty
totalement disjonctée
Posté le 18-07-2007 à 13:14:00  profilanswer
 

justeleblanc a écrit :


ah mais c'est génial ça !!
ça m'énerve à chaque fois d'arriver à la fin d'un rendu et de me rendre compte que j'en ai oublié  :fou:


tout pareil, d'ou l'idée de faire ce script, plus besoin de vérifier à la main et plus d'oubli :love:  


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°967049
justelebla​nc
Posté le 18-07-2007 à 13:15:27  profilanswer
 

fluty a écrit :


tout pareil, d'ou l'idée de faire ce script, plus besoin de vérifier à la main et plus d'oubli :love:  


merci pour le script  :jap:

n°967052
fluty
totalement disjonctée
Posté le 18-07-2007 à 13:17:19  profilanswer
 

justeleblanc a écrit :


merci pour le script  :jap:


de rien  :)  


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°968134
darth21
Modérateur
¡ uʍop ǝpısdn
Posté le 22-07-2007 à 23:53:15  profilanswer
 

quitte à peaufiner le truc, plutôt qu'un 'deselect $', tu peux enregistrer la selection d'avant script, avec un truc style

 

bidule = getCurrentSelection()

 

avant l'éxecution du script proprement dit, et

 

select bidule

 

à la place du deselect $ à la fin. Ca paye pas de mine, ca coute pas cher et ca peut être pratique quand même.

Message cité 1 fois
Message édité par darth21 le 22-07-2007 à 23:53:29

---------------
TZR un jour…  |  gamertag: cropNcut
n°968195
Bulgrozz
Avec les règles à l'Aquitaine
Posté le 23-07-2007 à 10:39:03  profilanswer
 

Joli ! [:huit]

n°968196
fluty
totalement disjonctée
Posté le 23-07-2007 à 10:52:07  profilanswer
 

darth21 a écrit :

quitte à peaufiner le truc, plutôt qu'un 'deselect $', tu peux enregistrer la selection d'avant script, avec un truc style  
 
bidule = getCurrentSelection()
 
avant l'éxecution du script proprement dit, et
 
select bidule
 
à la place du deselect $ à la fin. Ca paye pas de mine, ca coute pas cher et ca peut être pratique quand même.


yep, je vais essayer  :)  


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°969084
killerspir​it
lol
Posté le 27-07-2007 à 16:09:41  profilanswer
 

Salut a tous, j'aurais besoin de votre aide:
J'ai telecharger le maxscript "bullet-time" maia il ne fonctionne pas correctement (j'ai 3ds max 8)

n°969112
Terminapor
I'll see you rise.
Posté le 27-07-2007 à 17:08:17  profilanswer
 

killerspirit a écrit :

Salut a tous, j'aurais besoin de votre aide:
J'ai telecharger le maxscript "bullet-time" maia il ne fonctionne pas correctement (j'ai 3ds max 8)


c'est con hein ? :/


---------------
Perhaps you don't deserve to breathe
n°969124
killerspir​it
lol
Posté le 27-07-2007 à 17:40:09  profilanswer
 

j'ai trouvé un bon tuto pour l'effet lol  
http://www.veda3d.com/edu/bulletti [...] ettime.htm

n°974141
pistuleman
Tu te laisses poustache ?
Posté le 30-08-2007 à 17:11:26  profilanswer
 

bonjour tout le monde,
je suis sous 3dsmax et je cherche à placer un objet à la même position qu'un autre (c'est pour positionner des arbres). Je n'ai pas trouver d'opérateur sous 3Ds qui puisse le faire, c'est pourquoi je me tourne vers vous. J'ai regardé dans les tutoriaux de maxscript mais je n'ai rien trouvé et tous les exemples du fichier de référence me semblent bien compliqués par rapport à ce que je demande.  
 
Merci à ceux qui voudront bien m'aider à programmer ce petit bout de code.
 
 


---------------
Ryzen 1600X | 32Go DDR4 | RTX 2070S
n°974144
fluty
totalement disjonctée
Posté le 30-08-2007 à 17:25:10  profilanswer
 

Tu veux juste aligner un objet sur un autre objet c'est bien ça ?
Dans ce cas, Max peut très bien te le faire, il a un bouton "align" qui aligne les objets entre eux.
 
Sinon à programmer ça ne doit pas être bien compliquer... enfin je crois  :D


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°974147
pistuleman
Tu te laisses poustache ?
Posté le 30-08-2007 à 17:38:01  profilanswer
 

en faite c'est un peu plus compliqué, j'ai déjà des tronc d'arbres positionner comme il faut (un peu plus de 6000...) et je voudrais que l'objet contenant les feuilles se duplique sur chaque troncs.
 
C'est fesable sans maxscript ?


---------------
Ryzen 1600X | 32Go DDR4 | RTX 2070S
n°974148
fluty
totalement disjonctée
Posté le 30-08-2007 à 17:43:41  profilanswer
 

Tu ne veux donc pas seulement aligner, tu veux aussi dupliquer.
Effectivement dans ce cas là, soit faut faire du maxscript, soit faut le faire à la mano  [:airforceone]  
 
Pourquoi ne pas avoir fais les feuilles avant de positionner tes troncs, ça t'aurait éviter ce problème  :D


---------------
"J'aime ceux qui ne savent pas trop pourquoi ils aiment... c'est qu'alors ils aiment vraiment !!"
n°974153
pistuleman
Tu te laisses poustache ?
Posté le 30-08-2007 à 17:49:10  profilanswer
 

et bien j'ai fait des xrefs pour mes arbres pour pouvoir les modifier plus tard mais quand je veux le modifier 3dsmax me dit qu'il ne trouve plus l'objet en question...  :sweat:  
Donc je cherchais une alternative à ça en me servant des troncs déjà placé, je bidouille quoi  :D  
 
En tout cas merci pour ton aide, va falloir que je me penche sur le maxscript maintenant.  :jap:  


---------------
Ryzen 1600X | 32Go DDR4 | RTX 2070S
n°984313
strepsil
Posté le 06-11-2007 à 10:00:43  profilanswer
 

tite remontée de topic :)
 
Je cherche un script pour "coller" des splines aleatoirement le long d'un mesh.. un peu comme les system de branche..mais sans les feuilles :)

n°1159381
Terminapor
I'll see you rise.
Posté le 18-07-2013 à 03:22:19  profilanswer
 

Coucou [:simchevelu]

 

Je sors ma grande pelle de fossoyeur à 3h du mat, mais comprenez c'est pour la bonne cause :o

 

Je cherche à faire un truc tout simple en MaxScript, en gros j'ai un tool qui est activé par un bouton, et je voudrais pouvoir récupérer l'objet sur la souris lors du 'onMousePoint click ', j'ai pas mal cherché mais j'ai vraiment rien trouvé de bien concluant..

 

J'aimerais que ça soit dans un tool parce qu'il faut pouvoir répéter le processus de sélection jusqu'à ce qu'on presse le bouton droit de la souris, si c'est vraiment pas possible je pourrais faire une fonction avec un PickObject dans une boucle while (true) et un vieux break quand il faut, mais je trouve ça très caca. :o

 

Merci à vous !

 

Edit : Je viens de me rendre compte que c'est juste un gros topic de recensement de scripts, mais j'espère que ça a sa place ici.. :D


Message édité par Terminapor le 18-07-2013 à 03:23:08

---------------
Perhaps you don't deserve to breathe
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
3DSmax : mon premier maxscript3DSMAX : maxscript??? export vrml, selection...
Plus de sujets relatifs à : ▲ topic Maxscript ▲


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR