Siųsti atsiliepimą
El. paštas
Slaptažodis
Pamiršote slaptažodį?
Registruotis

Prisijungę vartotojai

Offline

VRay scripting

Forumai3DRendersV-RayVRay scripting
«12»

Friend
Žinutės: 933
Miestas: Vilnius
Prisijungė: 2003-11-25
Geg 9, 2007
paulius3d sako:
Sveiki, gal kas patartu kaip reikia pasirasyti kazkokius tai skriptukus vray'ui. Turiu omeny 1.5 CR3 versijoje as niekaip neprieinu prie vray.properties
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
VRay RC3 metodai:

.imageSampler_type : integer
.filter_on : boolean
.filter_kernel : maxObject
.filter_size : float
.filter_paramA : float
.filter_paramB : float
.filter_paramC : float
.fixedRate_subdivs : integer
.fixedRate_rand : boolean
.twoLevel_baseSubdivs : integer
.twoLevel_fineSubdivs : integer
.twoLevel_showSamples : boolean
.twoLevel_useQMCSamplerThresh : boolean
.twoLevel_threshold : float
.adaptiveSubdivision_minRate : integer
.adaptiveSubdivision_maxRate : integer
.adaptiveSubdivision_threshold : float
.adaptiveSubdivision_rand : boolean
.adaptiveSubdivision_showSamples : boolean
.imageSampler_outline : boolean
.imageSampler_mtlID : boolean
.imageSampler_normal : boolean
.imageSamper_normal_threshold : float
.imageSampler_zvalue : boolean
.imageSampler_zvalue_threshold : float
.gi_on : boolean
.gi_refractCaustics : boolean
.gi_reflectCaustics : boolean
.gi_primary_type : integer
.gi_primary_multiplier : float
.gi_secondary_type : integer
.gi_secondary_multiplier : float
.gi_saturation : float
.gi_contrast : float
.gi_contrast_base : float
.gi_saveMapsPerFrame : boolean
.gi_irradmap_minRate : integer
.gi_irradmap_maxRate : integer
.gi_irradmap_subdivs : integer
.gi_irradmap_interpSamples : integer
.gi_irradmap_colorThreshold : float
.gi_irradmap_normalThreshold : float
.gi_irradmap_distThreshold : float
.gi_irradmap_showSamples : boolean
.gi_irradmap_showCalcPhase : boolean
.gi_irradmap_showDirectLight : boolean
.gi_irradmap_preset : integer
.adv_irradmap_interpolationType : integer
.adv_irradmap_mode : integer
.adv_irradmap_dontDelete : boolean
.adv_irradmap_loadFileName : filename
.adv_irradmap_saveFileName : filename
.adv_irradmap_calcInterpSamples : integer
.adv_irradmap_useCurrentPassSamples : boolean
.adv_irradmap_autoSave : boolean
.adv_irradmap_autoSaveFileName : filename
.adv_irradmap_switchToSavedMap : boolean
.adv_irradmap_randomize : boolean
.adv_irradmap_lookupType : integer
.adv_irradmap_checkSampleVisibility : boolean
.adv_irradmap_limitSearchRange : boolean
.gi_irradmap_blurGI : float
.gi_irradmap_detail_on (irradmap_detail_on) : boolean
.gi_irradmap_detail_radius (irradmap_detail_radius) : float
.gi_irradmap_detail_subdivsMult (irradmap_detail_subdivsMult) : float
.gi_irradmap_detail_scale (irradmap_detail_scale) : integer
.caustics_on : boolean
.caustics_searchDist : worldUnits
.caustics_maxPhotons : integer
.caustics_multiplier : float
.caustics_mode : integer
.caustics_dontDelete : boolean
.caustics_loadFileName : filename
.caustics_saveFileName : filename
.casutics_autoSave : boolean
.caustics_autoSaveFileName : filename
.caustics_switchToSavedMap : boolean
.caustics_maxDensity (caustics_maxDens) : worldUnits
.caustics_showCalcPhase : boolean
.environment_gi_on : boolean
.environment_gi_color : RGB color
.environment_gi_color_multiplier : float
.environment_gi_map : texturemap
.environment_gi_map_on : boolean
.environment_rr_on : boolean
.environment_rr_color : RGB color
.environment_rr_color_multiplier : float
.environment_rr_map : texturemap
.environment_rr_map_on : boolean
.environment_refract_on : boolean
.environment_refract_color : RGB color
.environment_refract_color_multiplier : float
.environment_refract_map : texturemap
.environment_refract_map_on : boolean
.gbuffer_channelMask : integer
.colorMapping_type : integer
.colorMapping_darkMult : float
.colorMapping_brightMult : float
.colorMapping_gamma : float
.colorMapping_affectBackground : boolean
.colorMapping_clampOutput : boolean
.colorMapping_subpixel : boolean
.camera_type : integer
.camera_overrideFOV : boolean
.camera_fov : float
.camera_cyl_height : float
.camera_fish_autoDistance : boolean
.camera_fish_distance : float
.camera_fish_curve : float
.dof_on : boolean
.dof_distance : worldUnits
.dof_getFromCamera : boolean
.dof_shutter : worldUnits
.dof_subdivs : integer
.dof_bias : float
.dof_sides_on : boolean
.dof_sides_num : integer
.dof_sides_rotation : angle
.dof_anisotropy : float
.moblur_on : boolean
.moblur_duration : float
.moblur_intervalCenter : float
.moblur_geomSamples : integer
.moblur_prepassSamples : integer
.moblur_qmc_minSamples : integer
.moblur_geometryParticles : boolean
.moblur_bias : float
.system_distributedRender : boolean
.system_raycaster_maxLevels : integer
.system_raycaster_minLeafSize : worldUnits
.system_raycaster_faceLevelCoeff : float
.system_raycaster_memLimit : integer
.system_instancedObjects : integer
.system_region_x : integer
.system_region_y : integer
.system_region_meaning : integer
.system_region_sequence : integer
.system_region_sequence_reverse : integer
.system_previousRender : integer
.system_region_lockSize : boolean
.system_frameStamp_on : boolean
.system_frameStamp_string : string
.system_frameStamp_fullWidth : boolean
.system_frameStamp_justify : integer
.system_workInCameraSpace : boolean
.system_checkForMissingFiles : boolean
.system_optimizedAtmospherics : boolean
.system_lowThreadPriority : boolean
.system_vrayLog_show : boolean
.system_vrayLog_level : integer
.system_vrayLog_file : filename
.system_vrayLog_ccToDebugger : boolean
.system_numThreads : integer
.qmc_timeDependent (qmc_lockToPixels) : boolean
.qmc_importanceSampling : float
.qmc_earlyTermination_amount : float
.qmc_earlyTermination_threshold : float
.qmc_earlyTermination_minSamples : integer
.qmc_subdivs_mult : float
.qmc_pathSampler_type : integer
.photonMap_bounces : integer
.photonMap_searchDist : worldUnits
.photonMap_autoDist : boolean
.photonMap_maxPhotons : integer
.photonMap_convert : boolean
.photonMap_interpSamples : integer
.photonMap_multiplier : float
.photonMap_convexHullEstimate : boolean
.photonMap_storeDirectLight : boolean
.photonMap_retraceCorners : float
.photonMap_retraceBounces : integer
.photonMap_maxDensity : worldUnits
.photonMap_mode : integer
.photonMap_loadFileName : filename
.photonMap_saveFileName : filename
.photonMap_dontDelete : boolean
.photonMap_autoSave : boolean
.photonMap_autoSaveFileName : filename
.photonMap_switchToSavedMap : boolean
.photonMap_showCalcPhase : boolean
.options_displacement : boolean
.options_lights : boolean
.options_hiddenLights : boolean
.options_shadows : boolean
.options_defaultLights : boolean
.options_reflectionRefraction : boolean
.options_limitDepth : boolean
.options_maxDepth : integer
.options_maps : boolean
.options_filterMaps : boolean
.options_transpMaxLevels : integer
.options_transpCutoff : float
.options_dontRenderImage : boolean
.options_overrideMtl_on : boolean
.options_overrideMtl_mtl : material
.options_showGIOnly : boolean
.options_ray_bias : float
.options_glossyEffects : boolean
.output_on : boolean
.output_width : integer
.output_height : integer
.output_aspect : float
.output_fileOnly : boolean
.output_saveFile : boolean
.output_fileName : string
.output_saveRawFile : boolean
.output_rawFileName : string
.output_useram : boolean
.output_genrpeview : boolean
.output_splitgbuffer : boolean
.output_splitfilename : string
.output_splitbitmap : bitmap
.output_getsetsfrommax : boolean
.output_splitRGB : boolean
.output_splitAlpha : boolean
.displacement_overrideMax : boolean
.displacement_edgeLength : float
.displacement_viewDependent : boolean
.displacement_maxSubdivs : integer
.displacement_tightBounds : boolean
.displacement_amount : float
.displacement_relative : boolean
.qmcgi_subdivs : integer
.qmcgi_depth : integer
.lightcache_subdivs : integer
.lightcache_sampleSize : float
.lightcache_filter_type : integer
.lightcache_filter_size : float
.lightcache_bounces : integer
.lightcache_showCalcPhase : integer
.lightcache_storeDirectLight : integer
.lightcache_scale : integer
.lightcache_mode : integer
.lightcache_loadFileName : filename
.lightcache_saveFileName : filename
.lightcache_interpSamples : integer
.lightcache_prefilter_on : boolean
.lightcache_prefilter_samples : integer
.lightcache_dontDelete : boolean
.lightcache_autoSave : boolean
.lightcache_autoSaveFileName : filename
.lightcache_switchToSavedMap : boolean
.lightcache_useForGlossyRays : boolean
.lightcache_numPasses : integer
.lightcache_adaptiveTracing : boolean
.lightcache_adaptiveTracing_dirsOnly (lightcahe_adaptiveTracing_dirsOnly) : boolean
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Beje, jei nori prieiti prie VRay metodų, helpe yra kiek pasenes aprašymas ir jis neveiks. Įjunk VRay kaip einamąjį renderį ir maxscript listeneryje nurodyk:

showproperties renderers.current

Tokiu būdu gali gauti ir kitų renderio variklių medotus.
0 Taškai

Friend
Žinutės: 933
Miestas: Vilnius
Prisijungė: 2003-11-25
Geg 9, 2007
paulius3d sako:
Tikrai veikia. Dekui tau neispasakomas... 😉 Dar vienas dalykas, o ar neina skripto pagalba parasyti kad max'as pasirinktu ta vray renderi? (gal yra koks vray'jaus trumpinys ("vr", "vray"), nes kitaip nei "renderers.current" man neina i ji kreiptis)
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
renderers.current = vray()
Metodu nurodoma, kad einamuoju renderiu skirti VRay. Pvz., naudojant mygtuką button_set:

on button_set pressed do
(
renderers.current = vray()
)

Paspaudus mygtuką, bus nurodomas renderis VRay. Žinoma, metodą galima kviesti ir kitais būdais, ar kitaip panaudoti 🙂
0 Taškai

Friend
Žinutės: 933
Miestas: Vilnius
Prisijungė: 2003-11-25
Geg 9, 2007
paulius3d sako:
veikia - dekui dar kart... 🙂
0 Taškai

Žinutės: 702
Miestas: Kaunas
Prisijungė: 2004-05-28
Geg 9, 2007
Dzonis sako:
Siger - burtininkas, raso runomis! 🙂 .
Turincioje pasirodyti knygoje bus kas nors apie skriptus?
Nes nieko nezinau apie juos...

--

Maksimoj neperku.
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Knygoje - taip. Bus šiek tiek scriptinimo ir scriptų pavyzdžių su paaiškinimais. O pati knyga šiek tiek sustojo dėl naujos VRay versijos. Atsiras naujų funkcijų (apie kurias kolkas ššš...) ir nesinori po to iškart leisti kito leidimo. taip pat papildau išsamiau apie apšvietimą.
0 Taškai

Žinutės: 582
Miestas: Klaipeda
Prisijungė: 2004-05-26
Geg 9, 2007
mcminda sako:
man taippat labai padejo siger komandos maxscripte... Tureciau dar viena klausima siger'iui 🙂 Gal jau kaip sakant bus "ispizdejimas", kad patys nepasiieskom, bet manau kad daug kam tai nauja tema, o siger jau su tai susidures 🙂 Kokia komanda galima "pasimergint (merge)" faila is tam tikros vietos. Na jei neaiskiai paklausiau, tai tarkime turiu savo baldu archyva ir susikurus skriptuka butu galima konkretu faila "mergint" pasirinkus is meniu... tai labai padetu mano darbe... Is anksto aciu 😉
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Iš esmės tai ne itin sudėtingas scriptas (ne komanda 🙂 ), tačiau ar jis turi prasmę, kai gana patogi ir standartinė max'o funkcija ir lengvai pasiekiama? Tiesiog reikia pasinaudoti skaitymo iš failo (load) ir merge metodais.
Va, paprastas pavyzdys iš maxscript referenco:
p=[1000,1000,1000]
for i = 1 to 5 do box pos:(random p -p) -- create some boxes
savemaxfile "mergetest.max" -- save to file 
for obj in objects do obj.name = "_"+obj.name -- rename the boxes
objects.pos += [0,-1000,0] -- move them off to the side
fobj_names = getmaxfileobjectnames "mergetest.max" -- get the object names from the file
deleteitem fobj_names 3 -- delete the third name from the array
mergemaxfile "mergetest.max" fobj_names #select -- merge in the objects and select them
selection.count -- should be 4
objects.count -- should be 9

Primygtinai rekomenduoju naudotis MaxScript manualu. labai aiškus ir išsamus. Iš esmės visą scriptavimą ir mokiaus iš jo.

Blyn, į kodą irgi meta šypsenėles, zaraza 😀 . Ten turi būti dvitaškis ir atsidarantys skliaustai.
0 Taškai

Žinutės: 582
Miestas: Klaipeda
Prisijungė: 2004-05-26
Geg 9, 2007
mcminda sako:
na supranti kai baldu belekiek ir dar belekaip isvadinti failai visi, tai manau gal geriau butu turet scriptuka su koknreciu baldo pavadinimu ir baldo kodu... Nes jau dabar tai sumaistis... Man patinka tai, kad nereikia pervadinet *.max failu, o scripto irankiu juostoje jam galima suteikt norima pavadinima. As isivaizduoju, kad teks padirbet nemazai, kol kiekviena konkretu balda rasiu konkreciame faile, bet tai cia jau mano problema, kad is anksto nepagalvojau pries saugodamas juos (juk pervadinant nusimusa teksturos, image'ai ir panasiai, nebent as klystu). Prisipazinsiu, kad apie scriptu rasyma esu beveik neskaites, todel tikrai pasinaudosiu tavo patarimu ir panagrinesiu manual'a, kai rasiu laiko 🙂 Tikiuos sis scriptukas pades... Aciu 😉
P.S. del tos sypseneles tai supratau, kas ten 😀
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Ne, failą pervadinus keliai (path) "nenusimuša". Net jei failą perkeli į kitą vietą. Pačio failo vidinėje struktūroje yra saugoma absoliutaus kelio informacija.
O ar ne paprasčiau tvarkingai susisteminti (geriausia iškart 🙂 ) failus atskiruose kataloguose?
Bet kuriuo atveju, dirbt kokia nors 3D programa ir nesimokyti jos scriptavimo (ar tai MaxScript, ar tai Mel, ar tai JScript, Python, VBScript...) - nedovanotinas aplaidumas 🙂 taigi, tik pirmyn!
0 Taškai

Žinutės: 582
Miestas: Klaipeda
Prisijungė: 2004-05-26
Geg 9, 2007
mcminda sako:
Na nelabai suprantu kur tu randi dar laiko mokytis to, kadangi isivaizduoju kad uzimtas zmogus esi... Nezinau kodel man taip, bet ir taip vos speju suktis su klientu projektais, kad laiko tikrai nelieka programavimui... Na bet to laiko tikrai reikes rasti, nes tai is tiesu pravercia 🙂
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Labai mažai miegu, deja 🙂 Neretai ir po kelias paras visai be miego. Nors, kai labai užsimanau, randu laiko ir kokiai pramogėlei 😀 Pvz., moterys, sportas, žūklė, nardymas, vienas kitas šlakelis šnapso ar alaus 😀 Viskas įmanoma, svarbu tik noras.
Štai ir pastaruoju metu intensyviai mokausi Visual C++.
0 Taškai

Žinutės: 582
Miestas: Klaipeda
Prisijungė: 2004-05-26
Geg 9, 2007
mcminda sako:
na miegu ir as negaliu pasigirt 🙂 Na bet alui ir mergickom tai laiko randui visa laika 😀
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 9, 2007
Siger sako:
Vadinasi rasi laiko ir pasimokyti 🙂 Viena kita mergička mažiau ir štai jau laiko niša 😀
0 Taškai

Žinutės: 582
Miestas: Klaipeda
Prisijungė: 2004-05-26
Geg 9, 2007
mcminda sako:
Stengsiuos 😉
0 Taškai

Friend
Žinutės: 933
Miestas: Vilnius
Prisijungė: 2003-11-25
Geg 11, 2007
paulius3d sako:
Gal dar galetumet kas patarti kaip "suskriptinti" vraySun targeta (kad nustatyti jo pozicija)...
0 Taškai

Žinutės: 366
Prisijungė: 2005-12-04
Geg 11, 2007
Siger sako:
Pozicija nurodoma transformacijos matrica. Va, paprastas pavyzdukas, kuriuo sukuriama VRaySun:

sun01 = VraySun name: "Sun01" transform : (matrix3 [0,1,0] [0,0,1] [1,0,0] [100,-100,1000]) target : (Targetobject transform: (matrix3 [1,0,0] [0,1,0] [0,0,1] [-3,20,50]))

Galima, aišku, naudoti ir move metodą, bet taip tvarkingesnis kodas 🙂 Na, ir toliau skiri kitus atributus (jei jie bus skirtingi, nei difoltiniai) kinatmąjam (šiuo atveju) sun01.
0 Taškai

Friend
Žinutės: 933
Miestas: Vilnius
Prisijungė: 2003-11-25
Geg 11, 2007
paulius3d sako:
deja, bet man sitas skriptas targeto nesukuria 🙁
p.s. ir tokio properties kaip "target" vraysun irgi lyg ir neturi... 🙁
0 Taškai
«12»
Jums reikės prisijungti, jei norite rašyti atsakymą.