Announcement

Collapse
No announcement yet.

[Community Project] WIP Weather & Ocean Water Shader

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Dakraid View Post
    I've been following this thread for quite some time and wow, you guys are insane! (in a good way )
    Are there any changes to the skydome as well or is the same like before?
    It is pretty close to the way it was before currently, with some minor improvements. However since I have some extra help with the ocean I was thinking of giving it an overhaul, adding in some of the features listed on the Trello board. In order to fully implement the Beaufort scale it would be ideal to control both the weather and ocean, but I will keep them separate enough to be used on it's own for those who prefer one or the other.

    So expect some changes coming soon to the weather side of things soon!
    Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

    Comment


      Originally posted by DotCam View Post
      It is pretty close to the way it was before currently, with some minor improvements. However since I have some extra help with the ocean I was thinking of giving it an overhaul, adding in some of the features listed on the Trello board. In order to fully implement the Beaufort scale it would be ideal to control both the weather and ocean, but I will keep them separate enough to be used on it's own for those who prefer one or the other.

      So expect some changes coming soon to the weather side of things soon!
      Thank you for the heads up! I'm really eager to see more ^^

      Comment


        SO excited for weather. You guys'll have this plugin better than anything in the video game world before I have time away from my project to help
        Tek LLC a personal Candaian Company running BlenderTek & UnrealTek is currently looking for help to bring back submarine simulator gaming with a new genre of sub sims: Cold War! (1945-1991) Operation: Trident SubSim Dev Diary Thread - Donations

        Comment


          Originally posted by Komodoman View Post
          Hey guys,

          Fantastic news. My friend and I have been working on a branch off of DotCam's oceanDemo and we have implemented both caustics and fish AI!!!! Check it out on GitHub (The underwater dev branch). And screenshot below for proof.
          Nice work! You've been busy

          Comment


            Originally posted by DIFTOW View Post
            Nice work! You've been busy
            Thanks,

            Hope you all enjoy!

            Komodo

            Comment


              I have a rigged crow and seagull for your bird flocking if you'd like to own yourself some. Used it back on Unity.
              Tek LLC a personal Candaian Company running BlenderTek & UnrealTek is currently looking for help to bring back submarine simulator gaming with a new genre of sub sims: Cold War! (1945-1991) Operation: Trident SubSim Dev Diary Thread - Donations

              Comment


                Originally posted by Nsomnia View Post
                Just realized the caustics and day/night cycle, swimming have all been implemented. Cant wait for weather the lightning asset is soo beautiful. The night time is so realistic too. I dont need to design a level I'll just use your setup for the ocean lol.

                No crashes, amazing performance, looks beautiful. Ahhhh.
                Must check out latest version so!!

                Kudos to whoever is working on this, I am using it on 4.7.3 for a personal project and it is really good. I had to switch to a less FPS hungry ocean shader however but my revert later on.

                One question I have ... because of the day/night cycle I would like to have flying birds particle FX only show up during the daytime so I am trying to use "sunheight" into a BP but I cannot for the life of me get to the Variable! I tried casting to SkyDome but no go ... any help would be greatly appreaciated!

                Comment


                  Originally posted by Nsomnia View Post
                  I have a rigged crow and seagull for your bird flocking if you'd like to own yourself some. Used it back on Unity.
                  That would be amazing!

                  Comment


                    Originally posted by Komodoman View Post
                    That would be amazing!
                    I'll try to remember later today when I take a break from our project. Set dressing our tutorial level currently.
                    Tek LLC a personal Candaian Company running BlenderTek & UnrealTek is currently looking for help to bring back submarine simulator gaming with a new genre of sub sims: Cold War! (1945-1991) Operation: Trident SubSim Dev Diary Thread - Donations

                    Comment


                      First of all, I would like to thank those who have contributed so freely of their time to bring this community project to life. Something that I noticed in Nsomnia's tutorial video, he used temporary sphere components to create a visual representation for each of the values in the TestPoints array and I thought, "****, that's clever!" (Kind of wish I had thought of it though). At the end of the tutorial, however, he deletes the spheres and I was thinking that it might be useful to keep them to facilitate tweaking or further upgrades. I also wanted a way to automate the visualization process so that the buoyancy spheres that appear onscreen are the same size specified in the Buoyancy Movement Component. I have an implementation that contains both C++ code, and a blueprint macro, to do this and want to share it in case anyone else can make use of it. The problem is, I don't know how I should do this. I had trouble with Ocean Project v1.0 so I downloaded the Ocean Demo that DotCam provided a link for. Therefore, I am not working from the plugin project as I don't know how to integrate new code into a plugin (not a problem with the 4.7 Project that I am using).

                      So, with the disclaimers out of the way, here's what I did. Hopefully the pictures are clear enough to read (and follow). In short, I created a C++ class that is derived from USphereComponent, so it is essentially the same as what Nsomnia used, except that I change certain parameters from their defaults so that the end-user doesn't have to change the values in every buoyancy sphere. The values set are:

                      - Visible in Editor
                      - Hidden in Game (can be changed in the BP macro to change all buoyancy spheres at once)
                      - No Physics, No Collision, No Mass so that the buoyancy spheres do not physically change the model.

                      The user can use Add Component to create these buoyancy spheres as components in his/her blueprint. The code for these buoyancy spheres is as follows:

                      .h file
                      Click image for larger version

Name:	BuoyancySphereH.png
Views:	1
Size:	22.0 KB
ID:	1070734

                      .cpp file
                      Click image for larger version

Name:	BuoyancySphereCpp.png
Views:	1
Size:	30.2 KB
ID:	1070735

                      The blueprint macro:
                      Click image for larger version

Name:	TestPoints_Helper.png
Views:	1
Size:	352.0 KB
ID:	1070732

                      The end-user Construction Script:
                      Click image for larger version

Name:	Construction_Script.png
Views:	1
Size:	236.2 KB
ID:	1070736

                      If anyone finds this useful, you're welcome to it.
                      Attached Files
                      Last edited by Dijon; 03-19-2015, 01:54 PM.

                      Comment


                        The following two pictures show the harbor buoy with the buoyancy spheres. The first is with the Test Point Volume Radius set to 25, and the second is with it set to 50. The point being that one has a visual representation of the Buoyancy Movement Component's parameters, and one does not have to actually set values in the Test Points Array, the BP macro handles the population of this array.

                        Radius = 25
                        Click image for larger version

Name:	Buoy_with_Vol_25.jpg
Views:	1
Size:	101.9 KB
ID:	1070743

                        Radius = 50
                        Click image for larger version

Name:	Buoy_with_Vol_50.jpg
Views:	1
Size:	102.8 KB
ID:	1070744

                        Comment


                          Originally posted by Dijon View Post
                          First of all, I would like to thank those who have contributed so freely of their time to bring this community project to life. Something that I noticed in Nsomnia's tutorial video, he used temporary sphere components to create a visual representation for each of the values in the TestPoints array and I thought, "****, that's clever!" (Kind of wish I had thought of it though). At the end of the tutorial, however, he deletes the spheres and I was thinking that it might be useful to keep them to facilitate tweaking or further upgrades. I also wanted a way to automate the visualization process so that the buoyancy spheres that appear onscreen are the same size specified in the Buoyancy Movement Component. I have an implementation that contains both C++ code, and a blueprint macro, to do this and want to share it in case anyone else can make use of it. The problem is, I don't know how I should do this. I had trouble with Ocean Project v1.0 so I downloaded the Ocean Demo that DotCam provided a link for. Therefore, I am not working from the plugin project as I don't know how to integrate new code into a plugin (not a problem with the 4.7 Project that I am using).

                          So, with the disclaimers out of the way, here's what I did. Hopefully the pictures are clear enough to read (and follow). In short, I created a C++ class that is derived from USphereComponent, so it is essentially the same as what Nsomnia used, except that I change certain parameters from their defaults so that the end-user doesn't have to change the values in every buoyancy sphere. The values set are:

                          - Visible in Editor
                          - Hidden in Game (can be changed in the BP macro to change all buoyancy spheres at once)
                          - No Physics, No Collision, No Mass so that the buoyancy spheres do not physically change the model.

                          The user can use Add Component to create these buoyancy spheres as components in his/her blueprint. The code for these buoyancy spheres is as follows:

                          .h file

                          .cpp file

                          The blueprint macro:

                          The end-user Construction Script:

                          If anyone finds this useful, you're welcome to it.
                          Hey Dijon,

                          Thank you very much for looking into this! I created a basic setup that drew a DebugSphere using the radius and location, but it is rather glitchy since a DebugSphere from blueprint requires a Duration. From a construction script a duration is problematic, set it to a few seconds and move the sphere's location causes a thick line of spheres to be drawn in that direction, or if you set it really low it disappears too quickly. To turn them on/off I just created a simple boolean for Debug mode, and also added in a Struct to the plugin to represent a testpoint (Location, Radius, and Buoyancy Multiplier) to make it a bit more standardized. Both of these recent additions will be ideal for integrating your solution above.

                          This is extremely helpful as I had been planning on recreating the spheres in code (due to the issues noted above), so you couldn't have posted this at a better time! I will integrate it into the project asap, it looks like a great solution to the problem. Thank you very much for putting this together, I will add you to the contributors list as well.

                          Right now we are adding in new additions to the Master branch on GitHub, the 1.0 branch has already fallen behind. So if you want to test out the latest features (I will add your code in today) you can Download as Zip or fork the repo from here:
                          https://github.com/UE4-OceanProject/...ct/tree/master

                          Thanks again for sharing this!
                          -Cam
                          Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

                          Comment


                            Hi Cam,

                            No problem. I'm not very good with Blueprints and I was REALLY tempted to just do this in code with BlueprintCallable methods. Given that there may be those who only work in Blueprints, however, the code wouldn't be of much use to them (they can even reproduce the Buoyancy Sphere code with Blueprint).

                            If there is anything that I can do to facilitate the integration, please let me know. My implementation is mostly aimed at newcomers, given that most of the people here are already comfortable with the existing workflow. I'm not sure how one shares a Blueprint macro, or how to recompile the plugin code with new code. If you could point me in the right direction, then I could fork the repo, update and then send you a pull request. I've had a little trouble with the repo since the updates to v1.0. When I try to sync when there are new changes, GitHub for Windows tells me that there are problems with the repo. I've tried deleting my local copy and cloning yours but as soon as I try to sync again, the error pops up. I haven't tried with SourceTree, but I'm not sure that would be better. Do you know if anyone else is having trouble?

                            BTW, I'm also from Canada (Kingston, Ontario)

                            - Dean

                            Comment


                              The way I place the "spheres" visually is by having a vector array set to display 3d widget (which then you can drag and place wherever you want) then I simply copy that array and paste it to the test point array when I'm done placing them.

                              Also the sphere radius is not always best set visually, sometimes you might need a much larger radius than what you would normally set it so I would say it's better set after a bit of trial and error, and you can draw debug spheres in play mode easily.

                              I'm not saying that this way (with the sphere component) is bad, it just seem a bit unnecessary

                              4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
                              WIP Interactive Water Shader, WIP 2D Water Sim
                              WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

                              Comment


                                Originally posted by TK-Master View Post
                                The way I place the "spheres" visually is by having a vector array set to display 3d widget (which then you can drag and place wherever you want) then I simply copy that array and paste it to the test point array when I'm done placing them.

                                Also the sphere radius is not always best set visually, sometimes you might need a much larger radius than what you would normally set it so I would say it's better set after a bit of trial and error, and you can draw debug spheres in play mode easily.

                                I'm not saying that this way (with the sphere component) is bad, it just seem a bit unnecessary
                                Copy-and-Paste of the values is what Nsomnia used as well, and if you know your way around the Buoyancy Movement Component (you are one of the people that I referred to in my earlier post about being comfortable with the current arrangement), then I can see what you mean. What I presented is something that I use myself for faster iteration. As you say, it's probably not for everyone. That said, even if Cam integrates it, you don't have to use it; it's just a helper.

                                Comment

                                Working...
                                X