Sei sulla pagina 1di 37

RealFlow3DStudioMaxPlugin

Features,ImprovementsandTutorials
This document describes the improvements made to the RealFlow 3D Studio Max plugin. The main areas that have been improved are workflow and performance. The code has been rewritten from scratchbutcarehasbeentakentopreservefullcompatibilitywithpreviousversions.Attheendofthis documentyoucanfindtutorialsexplainingvariousaspectsoftheworkflowandnewobjectsintroduced bytheplugin.

Installer
Thenewpluginhasaninstallerwizardsothatusersarenolongerrequiredtomanuallycopyfilesinto the3DStudioMaxdirectory.Theinstallerautodetectswhich3DStudioMaxversionsareinstalledand where.Allversionsof3DStudioMaxfromversion7.0aresupported,withboth32bitand64bitbuilds whereapplicable.

Figure1:Thewizardautodetects3DStudioMaxversionsandinstallationlocations.

ToolbarandMenus
Thefunctionalityofthepluginisconvenientlyshowninafloating/dockabletoolbarandamenu.

Figure2:RealFlowtoolbar.

Thefunctionsofthebuttons,fromlefttoright: ExporttoSD:Exportsthesceneusingthesettingsstoredinsidethescene.Ifthisisthefirsttime thesceneisbeingexported,orthesettingshavebeenlostforanyreason,thebuttonwillbring upthesettingsdialog. ExportSDSettings:AllowstheusertoadjusttheSDexportsettings. Import from SD: This can be used to import an SD file into 3D Studio Max. No settings are needed. ExportPFlowEmitters:CanbeusedtoexportoneormorePFlowemittersasasequenceofBIN files.Itusesthelastsettingsstoredinthesceneifavailableorbringsupanoptionsdialog,just liketheSDexporter. ExportPFlowSettings:DisplaystheoptionsdialogfortheBINparticleexporter. Load RealFlow Mesh: Creates a mesh object inside 3dsMax and loads its geometry from a sequenceofBINmeshfiles.

TheImport/ExportoftheSDandMeshfilescanalsobedoneusing3dsMaxFile>Import/File >Exportoptions.

Figure3:RealFlowSDImport/Exportusing3dsMaxsFileI/Omechanism.

UserscanconfiguretheirowntoolbarbyusingtheCustomizeUserInterfacedialog.

Figure4:RealFlowtoolbaractionsareuserconfigurable.

SDfilesupport
ThissectionwilldiscusstheusageoftheSDcomponentofthepluginandthewaysinwhichithasbeen improvedforthisversion.

SoftBodyobjects
Softbodyobjectsarenowsupportedin3DStudioMax.PleasenotethatRFSoftBodyobjectcannotbe createdmanuallybyusers.ThepluginwillcreateRFSoftBodynodeswhenimportinganSDfilethat containssoftbodyobjectswhicharenotpresentinthecurrentscene.Iftheyarealreadypresentinthe scene,thepluginwillassignthempositioningdata(translation,rotation,scaling)andwillonlychange theSDlinkfiletheypointtoandtheSDobjectnametheyarelinkedto.RFSoftBodyobjectswillusefile offsets for each frame and will load geometry from disk when the current frame changes, ensuring optimalmemoryusage. AsoftbodyobjectislinkedtotheoriginalSDfilethroughtwoproperties:SDfilenameandSDobject name(seefigure5).ChangingthenameoftheobjectorthepathtotheSDfileisnotrecommendedbut canbeusede.g.whentheSDfilehasbeenmovedtoadifferentdirectory.Nodeswithabrokenlink(bad filepathorobjectname)willshowupasasimplecubeintheviewport. A soft body object can be used as a normal 3D Studio Max object, which means it can be instanced, copiedorreferencedandusedincombinationwithdifferentobjectorworldspacemodifiers.

Figure5:Softbodyobjectproperties.

MAXScriptsupport
TheSDfunctionalityisalsoincludedinMAXScript.ThecommandtoimportSDfilesis: rfImportSD file:path_to_file Whenusingthecommandtoexportscenes,theexportsettingscaneitherbetakenfromthescene,or explicitlyspecified.Tousethesettingsstoredinsidethescene,executethefollowingcommand: rfExportSD output:path_to_file Tospecifytheoptionsexplicitly,youcanaddoneormoreofthefollowingarguments: deformation:YES/NO turns on perframe geometry export on the exported objects. The defaultisAutodetect. camera:name toselectwhichcameratouse.Thedefaultistousetheactivecamera(ifany). entireScene:YES/NO exportstheentiresceneorjusttheselectedobjects.Thedefaultis toexporteverything. firstFrame:numberspecifiesthefirstframetoexport.Thedefaultisfirstframefromthe activetimesegment. lastFrame:number specifiesthelastframetoexport.Thedefaultisthelastframefromthe activetimesegment.

RealFlowspecificobjectattributes
A RealFlow tab is added in the Object Properties dialog for the currently selected objects. RealFlow softbodyobjects,cameras,lightsandparticlesystemwillhavetheoptionsdisabledsincetheyarenot supported.Thetabcontainsattributeswhichcontrolhowtheexportertreatstheobject: Export deformation: this can be used as an objectlevel override for the deformation mode whichisspecifiedintheexportoptions.

Figure6:RealFlowspecificobjectattributes.

Theseattributesaredynamicallyaddedtotheobjectonlywhentheyaresettoanondefaultvalue.

Progressreporting
Boththeimportandexportprocessesreportprogressinthemain3DStudioMaxprogressbar,inthe statusline.TheusercancancelatanytimebypressingtheESCkey.Pleasenotethatabortinganimport beforeanyframeshavebeenreadwillleavealltheimportedobjectsattheorigin.

Figure7:RealFlowSDExportprogressbar.

Miscellaneousimprovements
Largefilesupport:thepluginuses64bitoffsetsforfileoperations,sotherearenorestrictions onthesizeoftheSDfiles. UVWmapping:thepluginwillcorrectlyimportandexporttexturecoordinatesnow.

RealFlowParticlesin3DStudioMax
ThissectioncoversthepartofthepluginwhichhandlessequencesofparticleBINfiles.

RealFlowStandardFlowusingtheParticleFlowSystem
Three RealFlow operators have been implemented for the Particle Flow system so that particles simulatedinRFcanbemanipulatedusingthefullpowerofPFlowinMax. A Standard flow implies having only 5 operators defined within the PFlow System: RealFlowFileBirth, RealFlowFileUpdate, RealFlowDeathTest, Shape and Display. Figure 8 shows the Standard Flow when usingRealFlowasanemitter.ThisflowcanbecreatedmanuallybytheuserbyplacingaPF_Sourcenode inthesceneandreplacingthedefaultBirthoperatorwithaninstanceofRealFlowFileBirth.Toupdate the particle positions, place the RealFlowFileUpdate operator in the event container. The RealFlowDeathTestoperatorisneededtogetridofparticlesmarkeddeadbytheRealFlowFileUpdate operator.

Figure8:AStandardflow.

RealFlowFileBirthoperator
TheRealFlowFileBirthoperatoractsasthedefaultBirthoperator.ItfeedstheentirePFlowsystemwith particles.

Figure9:RealFlowfilebirthoperatorsettings.

ThesettingsfortheRealFlowFileBirthoperatorare: RealFlow .BIN file sequence: will open a dialog box allowing the user to select a file from a sequence of files containing simulated particle behavior. After the file has been selected, the prefixfortheemitteriscalculatedbasedontheformatandpaddingsizespecifiedbytheuserin theFilenameoptionsgroup. Format:has4predefinedfileformatsthatmatchRealFlowsFilenameOptions.

Figure10:Fileformatoptions.

PaddingSize:thenumberofdigitsusedtorepresenttheframe.Theframenumberwillreplace #fromtheselectedfilenameformatwhenthefinalfilenameiscalculated. Prefix:replacesthenamepartinthenameformatspecification. Emit Start: specifies the initial frame in which the RealFlowFileBirth emitter should start emittingparticles. Emit Stop: specifies the frame in which the RealFlowFileBirth operator should stop emitting particles. Please note that if the particles have speed in the .BIN sequence files, particles will continuetomoveaftertheemitterstopsemittingnewparticles. Offset:specifiesthefirstframeofthe.BINfilesequencewhichwillbeusedbytheemitter.

InheritemitterTM:allparticlepositionswillinherittheemitterspositionandorientationinthe scene.Inthisway,youcankeepparticlesundertheirownemitter. Note:AtricktomovetheparticleswhenwemovingthePFlowiconistoapplyapositionicon operatorandturnoff.NowwecanmovetheparticlewhenwearemovingthePFlowicon.

RealFlowFileUpdateoperator
The RealFlow File Update operator updates position, speed and other information about custom channelsforallparticlesgeneratedbytheRealFlowFileBirthoperator. Itsanoptionaloperator,meaningthatifyouareroutingparticlestoanothercontainer(event)andyou dontneedtokeeptheparticleinformation(position,speedetc)synchronizedwithRealFlowfiles,you donthavetouseaRealFlowFileUpdateoperatorinthatcontainer.SimplyDisplayorDeletethemasin figure11below.

Figure11:Workflowwhenroutedparticlesaredeleted.

Figure12:Workflowwhenroutedparticlesareupdated.

When routing RealFlow particle information to another PFlow container (event), if you want to keep particle information synchronized with the RealFlow files, you need to place another RealFlow File Updateoperatorinthatcontainer.(Seefigure12) TheRealFlowFileUpdateoperatoralsoactslikeagarbagecollectorforeveryPFloweventcontaineritis placedin.ItsroleistocheckfordeadparticlesbycomparingitscurrentparticleIDswiththeparticleIDs storedinthecurrentRealFlow.BINframefile.Ifitfindsanydeadparticles,itwillmarkandsendthemto

aRealFlowDeathTestoperatorinordertoberoutedtoanothercontainerevent.Fromtheretheycan bedeletedfromPFlowifnecessary. RealFlowChannels:MAXScriptPFlowoperatorscanaccessparticleattributeswhicharecomputedby RealFlowlikeviscosity,densityetc.

Figure13:RealFlowFileUpdateoperatorsettings.

These attributes are shown in the custom data channels available in PFlow particle containers. The customdatachannelscanstorelessdatathanRealFlowproduces,sousersmustselectwhichparticle attributestheywanttouse.Eachattributewilluseupacertainnumberofvalueslotsoftheavailable space,asfollows: Force,Vorticity,Normals,UVW:3slotseach IsolationTime,Viscosity,Density,Pressure,Mass,Temperature:1sloteach

Theselectedchannelswillbedistributedoverthe16availablevalueslotsinthisorder: Thefirst12valuesgototheparticleMatrixchannel. Thenext3valuesgototheparticleVectorchannel. ThelastvaluegoestotheparticleFloatchannel.

TheNeighborcountattribute,ifselected,ismadeavailablethroughtheparticleIntegerchannel. PleaseconsulttheMAXScriptdocumentationforfurtherdetailsonhowParticleFlowisintegratedwith MAXScript. ThefollowingparticleattributesareavailablethroughstandardPFlowdatachannels: PositiondatacanbereadthroughtheparticlePositionchannel.

VelocityisavailableasparticleSpeed. TheRealFlowparticleIDisinparticleID.

Please note that the position you get from the particlePosition channel does not exactly match the position in the BIN file. You will need to perform some adjustments on this value in order for the rendered position to match the position from the BIN file, which is what matters. Also, the velocity channelinPFlowisexpressedinmeterspertimetick,notmeterspersecondasintheBINfile.Inorder tocomputetheoriginalvaluesyoucanapplythefollowingformulas(MAXScriptcode):
realVelocity = particleSpeed * ticksPerFrame * frameRate renderPosition = particlePosition + particleSpeed * ticksPerFrame / 2.0

ThenamesticksPerFrameandframeRatearebuiltinMAXScriptvariables.

RealFlowDeathTestoperator
TheRealFlowDeathTestsimplygetsallparticlesmarkeddeadbytheRealFlowFileUpdateoperatorand routesthemtoanothereventtobedeletedfromPFlow.ItsveryimportanttoplaceitunderaRealFlow FileUpdateoperatorsincetheorderofoperatorevaluationinPFlowistopbottom.

Motionblurforparticles
ParticlesimportedusingtheRealFlowFileBirthoperatorsupportmotionblurwhentheyarerendered.

RealFlowFileBirthoperatorandMAXScript
ThefollowingattributesareexportedtoMAXScript: Format Path Prefix Padding InheritEmitterTM EmitStart EmitStop Offset

Alsoallabovementionedparametersareanimatable.(Figure14) MAXScriptIdsfortheFormatparameterare: Name#.ext:0 Name.ext.#:1 Name#.ext:2 Name_#.ext:3

RealFlowFileUpdateoperatorandMAXScript
ThefollowingattributesareexportedtoMAXScript: Channels

Theparameterisanimatable.(Figure14) MAXScriptIdsfortheChannelsparameterare: Force:1 Vorticity:2 Normals:4 UVW:8 IsolationTime:16 Viscosity:32 Density:64 Pressure:128 Mass:256 Temperature:512 Neighborsnumber:1024

IdsforChannelsparametercanbecombinedwithbitwiseORfromMAXScript.

Figure14:RealFlowFileBirthandRealFlowFileUpdateoperatorhaveanimatableparameters.

ExportingParticleFlowsystemsto.BINparticlefiles
ParticleFlowsystemscanbeexportedto.BINparticlefilesbysimplypressingthe toolbarbutton.If its the first attempt to export PFlow emitters from the current scene, the following dialog will open askingfortheappropriatesettings.

Figure15:RealFlowFileBirthandRealFlowFileUpdateoperatorhaveanimatableparameters.

Afterthesceneisexported,thespecifiedsettingswillbesavedinthecurrentscenefile.Thatmeansthat toolbarbutton,thepluginwillautomaticallyperformtheexportusing ifyouexportagainusingthe thesettingsalreadysavedinthescene. toolbar Ifyouneedtoexportusingothersettings,youcanopenthesettingsdialogbypressingthe buttonorbyusingtheRealFlow>ExportPFlowparticleSettingsmenu.Afteryoumakethechanges,you canexportwiththenewsettingsbypressingtheExportbutton.

Performance
The main drawback of the 3D Studio Max PFlow system is that it cant be used in a non history dependent manner. That means every frame depends on the last one. When you move back in time using the slider, PFlow will automatically evaluate the operators for ALL the frames between frame 1 and the current frame. This is not needed for RealFlow, but it cannot be disabled and therefore searchingbackwardsusingthetimesliderisslow. ToworkaroundthisproblemusethesettingsintheQuantityMultipliersectionoftheinterface.These values control the percentage of the particles which are read from the BIN files. A lower setting will resultinpoorervisualqualitybutbetterperformancebecausethesystemhastoloadanddisplayfewer particles.Thereareseparatesettingsforviewportdisplayandrendering.

Oldparticleimporter
TheNLParticles2emitter,namednowParticleLoader,isstillavailableintheUI.Wehavekeptthis alternative method available because its performance is better than the PFlow approach (due to the reasonsexplainedabove).

LoadingparticleswithParticleLoader
ThissectioncoversthepartofthepluginwhichhandlessequencesofparticleBINfilesusingtheParticle Loaderobject. TheParticleLoaderobjectcanbefoundintheGeometrysubtaboftheCreatetabunderRealFlow comboselection.

Figure16:ParticleLoaderobject.

ThefollowingaretheParticleLoaderproperties:

Figure17:ParticleLoaderobjectproperties.

ThesettingsfortheParticleLoaderobjectare: IconSize:Iconsizeinviewport EmitterHidden:Show/Hidetheparticleemitterintheviewport DisplayEvery:WilldisplayeveryXparticlesintheviewport RenderEvery:WillrendereveryXparticlesintheviewport SelectFileSequence:WillopenaFileOpendialogfortheusertoselecta.BINfilesequence Path:Willshowthepathtothecurrentloaded.BINsequence Prefix:Willshowthenameoftheloaded.BINfile Locklastframe:Locksthelastframeofloadedsequence Invertsequence:The.BINsequenceisreadinaninverseorder Offset:Indicatestheframefromwhichtheanimationwillstart

RealFlowMeshesin3DStudioMax
ThissectioncoversthepartofthepluginwhichhandlessequencesofRealFlowBINmeshfiles.

LoadingRealFlowmeshesusingMeshLoaderobject
SequencesofBINmeshfilescanbeloadedusingtheMeshLoaderobject.TheMeshLoaderobjectcanbe toolbarbutton,File>Importmenu,RealFlow>CreateBinMeshobjectmenuor createdusingthe fromthe3dsMaxCreatetab. WhencreatingtheMeshLoaderfromtheRealFlowtoolbar/menu,aFileOpendialogwillopenaskingfor the.BINmeshfilesequence.Afterthefilesequenceisselected,aMeshLoaderobjectwillbecreatedand placedatthecenterofthescene(0,0,0). Thedefaultviewportrepresentationforthe MeshLoaderobject isacube. Wheneverthereisanerror loadingthe.BINfilesequence,orthereisnosequenceloaded,thisdefaultrepresentationwillbeused.

MeshLoaderobjectproperties
ThefollowingaretheMeshLoaderproperties.

Figure18:MeshLoaderobjectproperties.

ThesettingsfortheMeshLoaderobjectare: BINMeshsequence:willopenadialogboxallowingtheusertoselectafilefromasequenceof .BINmeshfiles.Afterthefilehasbeenselected,theprefixfortheemitteriscalculatedbasedon theformatandpaddingsizespecifiedbytheuserintheFilenameoptionsgroup. Format:has4predefinedfileformatsthatmatchRealFlowsFilenameOptions.

Figure19:Fileformatoptions.

PaddingSize:thenumberofdigitsusedtorepresenttheframe.Theframenumberwillreplace #fromtheselectedfilenameformatwhenthefinalfilenameiscalculated. Prefix:replacesthenamepartinthenameformatspecification. Start:specifiestheinitialframeinwhichtheMeshLoaderobjectshouldstartloadingthemesh sequence. Offset:specifiesthefirstframeofthe.BINfilesequencewhichwillbeusedbytheMeshLoader object. Strength:ThisvalueisusedwhenMotionBluristurnedONandactsasamultiplierforthemesh velocitychannelfoundinthefile. File Frame Information: Will display per frame information for the mesh, like the number of fluids found, if they have UVW data and if the velocity channel (speed) is present. Note: The velocitychannelisusedforMotionBlur.

Motionblursupport
RealFlowmeshesusuallyhaveunstabletopology:verticesarecreatedorremovedateachframe.This causes problems with motion blur in most renderers, since this effect needs the same number of verticesineverysubsteptofunctioncorrectly.Theplugintriestoworkaroundthisbyusingthesame BINfileforallsubframeswhenitdetectsthatmotionblurisenabled.Thevertexpositionsaredisplaced using the velocity channel (speed) stored in the BIN file, to obtain the correct data for motion blur (figure21,22). Setting the exposure of the render too high (longer than one frame) to lengthen the blur can still causetheplugintoevaluatetwodifferentBINfiles,resultinginvisualartifacts.Itisbettertocontrolthe blurlengthusingthemotionblurstrengthsettingthanbyincreasingtheexposuretime.


Figure20:MeshLoaderobjectwithoutMotionBlur. Figure21:MeshLoaderobjectwithMotionBlur.

MAXScriptsupportforMeshLoaderobjects
MeshLoaderobjectsarefullyincorporatedintoMAXScript.ThecreationprocessandallMeshLoader objectparametersareavailablethroughMAXScript. ThepropertiesofaMeshLoaderobjectcanbeseenbyapplyingtheshowProperties MAXScript commandonaMeshLoaderobject.(E.g.showProperties $MeshLoader01) ThefollowingcommandcanbeusedtocreateaMeshLoaderobjectfromMAXScript.
rfImportBinMesh <file:bin_filename> [<prefix:prefix> <format:value> <paddingSize:value> <start:value> <offset:value> <motionBlurStrength:value>]

Theonlyrequiredparameteris<file>.Alltheotherparameterswillusethedefaultvaluesiftheyarenot specifiedintheimportcommand.

RealFlowMeltMaterialin3DStudioMax
ThissectioncoversthepartofthepluginwhichhandlestheMeltMaterialin3DStudioMax. The RealFlow MeltMaterial can be used to combine several materials based on the fluid weights contained in a RealFlow mesh file. This version of MeltMaterial has support for the default 3dsMax ScanlineRendererandmentalrayrenderer. The RealFlow MeltMaterial can be created in the same way that all the other 3dsMax materials are created.Pleasenotethatduetoa3dsMaxlimitation,whenrenderingwithmentalrayrenderer,the MeltMaterialcannotbeusedonmorethanoneMeshLoaderobject.Ifyoubreakthisrule,youmay getunexpectedresultsandevencrashes.

RealFlowMeltMaterialproperties
ThefollowingaretheRealFlowMeltMaterialproperties:

Figure22:RealFlowMeltMaterial.

ThesettingsfortheRealFlowMeltMaterialare: Melt Index: This gives the user some control over the appearance of the parts of the mesh where several fluids meet. A value of 0 will blend the material colors using the fluid weights exactly as they are stored in the BIN file. Increasing the value towards 1 will exaggerate the weights,brighteningtheblend.Negativevalueswillscaledowntheweightssotheresultwillbe darker.(Figures2325)


Figure23:RenderedwithmentalrayusingMeltIndexparametersetto1.0.

Figure24:RenderedwithmentalrayusingMeltIndexparametersetto0.0.

Figure25:RenderedwithmentalrayusingMeltIndexparametersetto1.0.

RealFlow3DStudioMaxpluginAutoUpdate

Thepluginhasabuiltinupdatemechanismwhichcanbeusedtomanuallyorautomaticallycheckfor pluginupdates.Bydefault,thepluginautomaticallychecksforupdatesonevery3dsMaxstartupandif itfindsanupdate,theuserwillbenotifiedwithadialogbox.

Figure26:NotificationforanewPluginversion.

AutomaticcheckscanbeturnedoffintheCustomize>Preferences>RealFlowpanel.

Figure27:GeneralRealFlowsettingspanel.

TutorialExportingascenetoaSDfile
ThistutorialcoversatypicalworkflowwhentryingtoexporttoaRealFlowSDfile.Wellshowyouhow tomakeasimpleRigidBodyanimationbyplacingsomebarrelsinfrontoftheoctopuswhenitattacks thepirate. 1. Open 3dsMax and load ..\scenes\pirateroom.max. Note: Since this scene was created in 3dsMax9,thistutorialonlyappliesto3dsMaxversions9andabove.

Figure28:Pirateroom.maxfileloadedin3dsMax.

2. Thereare500animatedframesinthisfileandwewanttoexportthemalltoanSDfile.We pressthetoolbar button,andifthisisthefirsttimewearetryingtoexportthisscene,a dialogwillopenlettinguschoosetherightsettingsfortheSDfilewewanttoexport.

Figure29:Pirateroom.maxfileloadedin3dsMax.

Set deformation to No, since we dont want to export soft bodies or skinned meshes, and leavealltheothersettingsattheirdefaultvalues.SettheexportfilepathandhitExport. Thesesettingswillbesavedinthescene,soanotherexportwillautomaticallyusethesettings wevealreadyspecified.Ifwewanttochangethesettingsforafutureexport,wecanopenthe SDFileExportSettingsbypressingthe toolbarbutton.

3. OpenRealFlowandcreateanewprojectnamedPirateroom.flwandthenloadtheexported pirateroom.sd.

Figure30:Pirateroom.sdfileloadedinRealFlow.

Note:Ifthesceneistoobig,youcanuseadifferentscaleforit,like0.01.

4. Addagravitydaemontothescene. 5. Selectthebarrelsfromtheright(barril,barril01,barril02,barril03),andinordertobeableto movethem,clickontheSD<>CurvebuttonundertheNodeparamsrollup.Movethemtothe leftandplacethembetweenthepirateandtheoctopus,sowhentheoctopustriestograbthe pirate,itwillhitthem.

Figure31:Barrelsplacedbetweenthepirateandtheoctopus.

6. Keepingthecurrentbarrelsselected,selectthebarril04objecttoo.OntheNodeParamsset DynamicstoRigidBodyandontheRigidBodyrollupandsetDynmotiontoYes. 7. Next,wesetthepirateandtheoctopustoactascolliders,butunaffectedbygravity.Selectall Bip* objects for the pirate and Sphere04,Sphere06,Sphere08,Sphere09,Sphere10 for the octopus. On the Node params rollup, set Dynamics to Rigid Body and set Dyn motiontoNo. 8. The room objects need to be set up as static colliders. Select Plane02, Line07, Line07, Object01andObject02,setDynamicstoRigidBodyandDynmotiontoNo.

9. Simulatefromframe0andexportallobjectsfromthescene.Youcanverifythatbycheckingthe exportsettingfromtheExport>ExportCentral...(F12)menu.

Figure32:ExportCentraldialogforPirateroom.flwscene.

10. Nowitstimetoimportthesimulatedscenein3dsMax.Therearetwoimportoptionsavailable: We can import the animation.sd file in a new 3dsMax scene or we can import it over our existing pirateroom.max scene. The second option is more advantageous, since it will only modifytheanimationfortheobjects,keepingthecurrentobjectmodifiersapplied.Byusingthe firstoption,thepluginwillcreateallobjectsatimporttimeasEditableMeshobjects. Theimportissimplydonebypressingthe toolbarbutton.AFileOpendialogwillopen, lettinguschoosethepathtotheanimation.sdfile.

Figure33:Animatedpirateroom.sdfileimportedbackin3dsMax.

TutorialImportingasoftbodyobjectinto3DStudioMax
This tutorial covers a typical workflow when trying to import a soft body object in 3dsMax. We will importasimplesoftspherehittingtheground. 1. OpenRealFlowandcreateaplaneandasphere.Addagravitydaemon.

Figure34:Realwaveobjectimportedin3dsMax.

2. IntheNodeparamsfortheSphere,setDynamicstoSoftBody. 3. MakesureyouhavealltheobjectsselectedinExport>ExportCentral(F12)andstart simulating100frames. 4. Open3dsMaxandimporttheanimationfilebypressingthe theanimation.sdfile. 5. Youshouldendupwith100animationframesin3dsMax. toolbarbuttonandbrowsingfor

Figure35:Softbodysphereimportedin3dsMax.

TutorialRealwaveobjectsin3DStudioMax
InthistutorialwewillbeimportingaRealwaveobjectintoMax. 1. StartRealFlowandcreateaRealwaveobjectandanewcubeobject.Movethecubeabovethe Realwaveobject.Addagravitydaemon.

Figure36:Realwaveobject.

2. SelectthecubeobjectandontheNoderollupsetDynamicstoRigidBody. 3. Simulate100frames. 4. Start3dsMaxandimporttherealwave01.sdbypressingthe beblackwhenseenfromabove: toolbarbutton.Theobjectwill

Figure37:Realwaveobject.

5. TheRealwaveobjectisblackbecauseitsnormalsarepointingthewrongway.Selecttheobject andgototheModifytab.EnabletheInvertNormalscheckbox.

Figure38:Realwaveobjectproperties.

6. Theobjectshouldrendercorrectlynow.

Figure39:Realwaveobjectimportedin3dsMax.

TutorialRealFlowparticlesinParticleFlow
This tutorial covers a typical workflow when importing RealFlow particles in 3dsMax using a Particle Flowsystem.Wewillimport4emitterssimulatedinRealFlow. 1. OpenRealFlowandcreate4emitters,aplane,aKill_volumedaemonandaGravitydaemon.

Figure40:Scenewith4emitterscreatedinRealFlow.

2. Simulate100frames.

Figure41:SimulatedsceneinRealFlow.

3. Open3dsMaxandcreate4PFlowemitters.

Figure42:4PFlowemittersin3dsMax(topview).

4. OpentheParticleViewerandremovethefollowingdefaultoperatorsfromall4containers: Birth,PositionIcon,SpeedandRotation. 5. PlaceaRealFlowBirthoperatorinall4containers.

Figure43:RealFlowBirthoperatorsaddedtoall4containers.

6. SelecttheBINfilesequenceforeachbirthoperatorandsettheemissionrangetostartat frame0andendat100.

Figure44:ThesettingsfortheRealFlowBirthoperator.

7. Add a RealFlowFileUpdate and a RealFlowDeathTest operator to all 4 containers. Please notethatweneedtheRealFlowDeathTestoperator,becausewehavesimulatedthescene usingtheKill_VolumedaemoninRealFlow.

Figure45:Containershavingall3RealFlowoperatorsadded.

8. Wedontneedthedeadparticles,sowerouteallofthemtoasinglecontaineranddelete them.

Figure46:Alldeadparticlesareroutedtoasinglecontaineranddeleted.

9. ClosetheParticleViewer.Intheviewportyouwillseethatallparticlesarecreatedrelative to their PFlow Source emitter. To get the same positions as in RealFlow, uncheck Inherit emitterTMoneveryRealFlowBirthoperator.Thefinalimageshouldlooklikethis:

Figure47:Alldeadparticlesareroutedtoasinglecontaineranddeleted.

10. YoucanaddvariousPFlowoperatorsifyouwishtoaltertheparticlesinanyway(motion, coloretc.).Forexampleyoucanroutesomeparticlesbasedontheirageandincreasetheir speed. Dont forget to add RealFlow update and death operators to all the containers (exceptthosewithonlyadeleteoperatorinthem).

Figure48:PFlowSpeedoperatorappliedtosomeroutedparticles.

TutorialARealFlowmeshrenderedusingtheMeltMaterial
ThistutorialshowsthebasicsofusingtheRealFlowMeltMaterialwithmentalray. 1. StartRealFlowandcreate4emitters,aplaneandaMeshobject.

Figure49:4emitterscreatedinRealFlow.

2. RightclickontheMeshobjectandchooseInsertallfluids. 3. Simulate100frames.

Figure50:4emitterssimulatedasameshobjectinRealFlow.

4. Tobringthesimulatedmeshinto3dsMax,createaMeshLoaderobjectbypressingthe toolbarbutton.Adialogwillopenlettingyouchosethesimulatedmeshfilesequence.

Figure51:MeshLoaderobjectimportedinto3dsMax

5. Next we apply a MeltMaterial on the MeshLoader object. Open the Material Editor (M) and presstheStandardbutton.ChooseRealFlowMeltMaterialfromthelist. 6. BylookingattheMeshLoaderobjectproperties,weseethatitcontains4fluids.

Figure52:MeshLoaderobjectpropertiesshowingthatitcontains4fluids.

7. As we have 4 fluids on the MeshLoader object, we need to create 4 sub materials on our MeltMaterial.

Figure53:MeltMaterialwith4submaterials.

8. AssigntheMeltMaterialtoourMeshLoaderobjectbysimplydraggingthematerialontoit. 9. ChangetherenderertomentalrayrendererandpresstheRenderbutton.

Figure54:MeltMaterialappliedonaMeshLoaderobjectandrendererwithmentalrayrenderer.

Potrebbero piacerti anche