Announcement

Collapse
No announcement yet.

Free Particle Editor Module for Spiral Galaxies

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Overdraw with transculent materials are really expensive (redrawing the actual star and cloud texture information on screen).

    The method that @Cultrarius have presented runs only once (calculates the particle positions when the particle system gets created) therefore it have no expense later. Shader Complexity of the projected content can always be inspected to see what are the real implications of alot of overdrawn pixels.

    This c++ implementation is still a little less expensive than creating similar results purely with materials and not using this engine modification at all. The key difference here is that the galaxymap informations can be recalculated always at runtime, or you can simply generate them only once at the begining of the particle system's life. But it have very little expense actually to recalculate them live. GPU's are rather good at calculating stuff.

    A particle material is capable to modify the world position offset of each individual particle, which can be calculated at runtime:
    Click image for larger version

Name:	ParticleMaterial-worldpos.jpg
Views:	1
Size:	231.2 KB
ID:	1107797

    Implemented the same calculus from the c++ code purely into materials using built in nodes and it works just fine
    Click image for larger version

Name:	ParticleMaterial-galaxymap_old.jpg
Views:	1
Size:	221.7 KB
ID:	1107798

    After a little tweaking and adding a some effects to the material the result looks even better
    Click image for larger version

Name:	ParticleMaterial-galaxymap.jpg
Views:	1
Size:	196.1 KB
ID:	1107799

    The real expenses here the transculent material, and more importantly the blended-textured areas, they generate the real expenses (eg the smoke)
    Click image for larger version

Name:	ParticleMaterial-overdraw.jpg
Views:	1
Size:	90.7 KB
ID:	1107800

    Even, if your material looks this large, the calculus can have very little footprint on the actual peformance
    Click image for larger version

Name:	ParticleMaterial-mat.jpg
Views:	1
Size:	300.3 KB
ID:	1107801

    Comment


      #17
      so I've been trying to get this to work for a while now and i just cant seem to get the galaxy location module to show up under the location dropdown. Visual studio is complaining about not being able to open the "ParticleModuleLocationGalaxy.generated.h" file. Probably because it doesn't exist and i don't know how to make it, I've tried re-generating the project files and everything i could think of. "ParticleModuleLocationGalaxy.h" is in the correct folder, I've tried both modifying the existing "ParticleModules_Location.cpp" and replacing it. But nothing works. Would appreciate it if someone could tell me how to fix it and actually make it show up under the location dropdown.

      Comment


        #18
        Originally posted by Konflict View Post
        Overdraw with transculent materials are really expensive (redrawing the actual star and cloud texture information on screen).

        The method that @Cultrarius have presented runs only once (calculates the particle positions when the particle system gets created) therefore it have no expense later. Shader Complexity of the projected content can always be inspected to see what are the real implications of alot of overdrawn pixels.

        This c++ implementation is still a little less expensive than creating similar results purely with materials and not using this engine modification at all. The key difference here is that the galaxymap informations can be recalculated always at runtime, or you can simply generate them only once at the begining of the particle system's life. But it have very little expense actually to recalculate them live. GPU's are rather good at calculating stuff.

        A particle material is capable to modify the world position offset of each individual particle, which can be calculated at runtime:
        [ATTACH=CONFIG]96452[/ATTACH]

        Implemented the same calculus from the c++ code purely into materials using built in nodes and it works just fine
        [ATTACH=CONFIG]96453[/ATTACH]

        After a little tweaking and adding a some effects to the material the result looks even better
        [ATTACH=CONFIG]96454[/ATTACH]

        The real expenses here the transculent material, and more importantly the blended-textured areas, they generate the real expenses (eg the smoke)
        [ATTACH=CONFIG]96455[/ATTACH]

        Even, if your material looks this large, the calculus can have very little footprint on the actual peformance
        [ATTACH=CONFIG]96456[/ATTACH]
        Could you explain a bit how your shader works, especially what the function your are using in your screenshot does ?
        Thank you in advance.

        Comment


          #19
          В новой версии движка 4.18.3 не работает. Не видно в меню выбора. Перепробовал куча вариантов, про бывал с готовыми проектами C++ и Blueprint. Может кто сказать в чём подвох. Выше указанные инструкция, не пашет.

          Comment


            #20
            Thanks for the great example. It looks like the relevant classes, such as UParticleModuleLocation, have now been exposed to the ENGINE_API, so modules like this can now be implemented as C++ plugins for a project without having to modify and re-compile the engine source code.

            Comment


              #21
              Not working ! Update ? Plugins? thx !

              Comment


                #22


                I downloaded a code file from the eu4 forum to edit the engine code to add an extra feature in the particle editor, the problem is that I don't know which way to go to add the code or where to paste the file with the code.

                Comment


                  #23
                  Please answer here too https://answers.unrealengine.com/que...3553/view.html

                  Comment


                    #24
                    Originally posted by Konflict View Post
                    Overdraw with transculent materials are really expensive (redrawing the actual star and cloud texture information on screen).

                    The method that @Cultrarius have presented runs only once (calculates the particle positions when the particle system gets created) therefore it have no expense later. Shader Complexity of the projected content can always be inspected to see what are the real implications of alot of overdrawn pixels.

                    This c++ implementation is still a little less expensive than creating similar results purely with materials and not using this engine modification at all. The key difference here is that the galaxymap informations can be recalculated always at runtime, or you can simply generate them only once at the begining of the particle system's life. But it have very little expense actually to recalculate them live. GPU's are rather good at calculating stuff.

                    A particle material is capable to modify the world position offset of each individual particle, which can be calculated at runtime:
                    [ATTACH=CONFIG]96452[/ATTACH]

                    Implemented the same calculus from the c++ code purely into materials using built in nodes and it works just fine
                    [ATTACH=CONFIG]96453[/ATTACH]

                    After a little tweaking and adding a some effects to the material the result looks even better
                    [ATTACH=CONFIG]96454[/ATTACH]

                    The real expenses here the transculent material, and more importantly the blended-textured areas, they generate the real expenses (eg the smoke)
                    [ATTACH=CONFIG]96455[/ATTACH]

                    Even, if your material looks this large, the calculus can have very little footprint on the actual peformance
                    [ATTACH=CONFIG]96456[/ATTACH]
                    I'd love to see your solution as its clearly beyond my understanding would you share it?

                    Comment


                      #25
                      I'd love to get this code working but i followed the steps. Everything compiles but there is no option for 'Galaxy Location' its just NOT THERE

                      Comment


                        #26
                        How can i find this file?
                        ParticleModuleLocationGalaxy.generated.h

                        Comment

                        Working...
                        X