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

    I will be removing all links later today for the current version (if for some reason you need that version, please PM me) and replacing it with the GitHub build, which will be going up asap here:
    https://github.com/UE4-OceanProject/OceanProject

    Thanks guys![/QUOTE]

    Will the new version have the pp fx for underwater?

    Comment


      Originally posted by DIFTOW View Post
      Procedural doesn't mean random does it? It cannot be random on the client-side or everyone will be out of sync :P
      Nope! Not in this case at least. It would only be used for rendering the ocean surface with dynamic LOD's, it won't affect gameplay at all since that would be calculated in code. This is all just an idea at this point anyways, no garuntees it will be implemented. But I will be testing it out.

      Originally posted by dougb View Post
      I will be removing all links later today for the current version (if for some reason you need that version, please PM me) and replacing it with the GitHub build, which will be going up asap here:
      https://github.com/UE4-OceanProject/OceanProject

      Thanks guys!
      Will the new version have the pp fx for underwater?
      The build is up on GitHub now. Due to the issues with the plugin I had to start a new project and recreate the ocean blueprint, so I am working on adding everything back in. The good news is GitHub lets me push changes so much faster, so you will see much more frequent updates.

      Since I have to recreate it, I am looking into possibly moving the underwater fx into a blueprint component that can be attached to the base Ocean blueprint. This would be ideal since not everyone wants the underwater FX, but more on that later.

      Will push another commit a little bit later on.
      Last edited by DotCam; 03-12-2015, 04:27 PM.
      Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

      Comment


        ------------------------------------------------------------------
        #################################
        ------------------------------------------------------------------
        Plugin version for UE 4.7.2 is now live on GitHub.

        Initial commit has been completed to the master branch here:
        https://github.com/UE4-OceanProject/OceanProject

        This repo is contained within the "UE4-OceanProject" organization which allows multiple members to commit to the repo. This will take some time to properly sort out, so for now if you want to be an active developer contributing to the project please PM me with your GitHub info. I don't really know how well this will work, but I am only looking for a couple of dev's at this point until we can sort out the best way forward.

        As mentioned before all previous links will be removed at this point, but not deleted. If you need a copy of any of the older projects please PM me and I can provide you the link.

        Since it has been released to github, consider this version 1.0 (a branch will be made shortly). Rather than go to 0.2 I think it would be better to start fresh.

        Thanks guys!
        Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

        Comment


          Originally posted by Avolanty View Post
          Wanted to ask Handkor about the Buoyancy. See I am changing the test points over a short amount of time and its not updating fast enough. Seems like the wave cycle has to run through first before it can take a new test point value. To picture my logic I am increasing the Z values of my test points over time to keep Buoyancy of the ship as it descends underwater. What happens however is that it lurches down after each wave cycle rather then a smooth graceful dive. If Handkor can get back with me on this to confirm that is how things will work, I can then try another dive method, or if he has a fix for it I would greatly use it.
          If you look at the calculations, the Z value is ignored except for when the point is near the surface within the TestPoint radius.

          Like I said before if you change the test points to a struct and apply buoyancy factor to every point you can then simulate ballast to dive.

          Originally posted by DotCam
          Currently the ocean is placed in the world instead of being tied to the player's position, a procedural mesh generator would fix that issue. It should be possible as is, but there are some other improvements needed to get this working well.
          I changed my OceanActor to update it's location to the player controller now. Can also be made to follow the Camera's location using the camera manager. The only thing to keep in mind is to keep the vertex grid aligned so that if each vertex is 100 units apart then make sure to round off your location to 100 units otherwise you see some swimming artifacts in the geometry.
          Last edited by Handkor; 03-12-2015, 03:23 PM.

          Comment


            Originally posted by Handkor View Post
            If you look at the calculations, the Z value is ignored except for when the point is near the surface within the TestPoint radius.

            Like I said before if you change the test points to a struct and apply buoyancy factor to every point you can then simulate ballast to dive.



            I changed my OceanActor to update it's location to the player controller now. Can also be made to follow the Camera's location using the camera manager. The only thing to keep in mind is to keep the vertex grid aligned so that if each vertex is 100 units apart then make sure to round off your location to 100 units otherwise you see some swimming artifacts in the geometry.

            OK so change to struct variable and is all you do is tie each one to a z value, you can do that? Do I make a struct from a Z float value? I have to play with this thanks for your input, I thought it was ignoring me for a while.

            Comment


              Originally posted by Avolanty View Post
              OK so change to struct variable and is all you do is tie each one to a z value, you can do that? Do I make a struct from a Z float value? I have to play with this thanks for your input, I thought it was ignoring me for a while.
              Hey Avolanty, I noticed Handkors post as well, and think I might create the structs so they are in the plugin, and let you choose which way you need for the various types of objects. Can you give me an idea on how you are currently working it, and what issues (aside from the slowly sinking / popping back up issue as I can fix that with the structs).

              Also just a basic example on how you are planning to use ballast, or another system, to create the proper buoyancy values? I have a couple ideas that would be simple to implement, but wanted to know how you are working it currently.

              Thanks man! i will work on it some more tomorrow, a similar issue occurs with large ships so I want to get it right.
              Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

              Comment


                Originally posted by DotCam View Post
                Hey Avolanty, I noticed Handkors post as well, and think I might create the structs so they are in the plugin, and let you choose which way you need for the various types of objects. Can you give me an idea on how you are currently working it, and what issues (aside from the slowly sinking / popping back up issue as I can fix that with the structs).

                Also just a basic example on how you are planning to use ballast, or another system, to create the proper buoyancy values? I have a couple ideas that would be simple to implement, but wanted to know how you are working it currently.

                Thanks man! i will work on it some more tomorrow, a similar issue occurs with large ships so I want to get it right.
                http://i.imgur.com/P7GXOxW.png This is what i am trying to make work, If we can have the structs work this way that would greatly reduce our workload and enhance your community project to simulate sinking. Thanks

                Comment


                  so create a custom struct for each "compartment" of the ship that includes say 10-20 test points for each "compartment" and then set the buoyancy of each 'compartment' through the structure instead of each individual test point basically is your idea handkor? I have yet to play with it but I think thats the general idea you had?


                  Originally posted by DotCam View Post
                  Hey Avolanty, I noticed Handkors post as well, and think I might create the structs so they are in the plugin, and let you choose which way you need for the various types of objects. Can you give me an idea on how you are currently working it, and what issues (aside from the slowly sinking / popping back up issue as I can fix that with the structs).

                  Also just a basic example on how you are planning to use ballast, or another system, to create the proper buoyancy values? I have a couple ideas that would be simple to implement, but wanted to know how you are working it currently.

                  Thanks man! i will work on it some more tomorrow, a similar issue occurs with large ships so I want to get it right.

                  A submarine has 3 main buoyancy components. Ballast tanks (open to the sea, lower air pressure to let water in, raise air pressure to push water out), a negative tank at the front of the boat which is filled with water to add as much mass as possible forward to make the front sink faster and thus dive faster; like in world war two where all the crew members would run to the front of the ship to make it dive faster. When underwater the negative tank is filled 99% full of air to displace the water and the submarine is thus neutrally buoyant (negative tank aka negative buoyancy equalizer tank in other words). Lastly it has trim tanks that you pump water onboard between to balance it just right, just like a pilot adjust his trim tabs to get a plane flying straight and level without touching the controls.

                  Surface boats have trim tanks too, they just call them buyouany or ballst tanks and are much larger.

                  So were trying to simulate not only the "tanks" (test points) changing to change buoyancy but for a damage model also so that we can take a large number of test points (hence why a struct would make sense) for each "tank" to simulate it flooding, which could be applied to watertight compartments on a surface boat flooding.


                  PS any major changes in the plugin versino on github except underwater caustics?

                  Edit: Unzipped the github version and then ran the project, no underwater FX, theres no PP volumes or whatever from before. Only 7 actors in the scene. I dont have time to compare the old vs the new plugin one but what am I missing... Ps cant wait for the water drops on the camera and stuff

                  Edit: Didnt see this
                  Since I have to recreate it, I am looking into possibly moving the underwater fx into a blueprint component that can be attached to the base Ocean blueprint. This would be ideal since not everyone wants the underwater FX, but more on that later.

                  Will push another commit a little bit later on.



                  Will stick to the uploaded version. If you dont like the github client sourcetree is great too, lets you make multiple commits before a push and directory trees etc. Will be watching github excitedly waitng for the changes! You can always make multiple branches ie: Master, master+underwater, master+swimming+underwater, master+swim+underwater+fish etc.
                  Last edited by Nsomnia; 03-12-2015, 09:03 PM.
                  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


                    I added a ballast sample

                    Link

                    Here is what the test point structure looks like. Not only can you vary the buoyancy of each point but you can also change the volume of each point. In the first image I've set each corner of the cube to be small and only a small positive buoyancy. The two spheres are large volumes and LMB and RMB varies their buoyancy between 1 and -1 making the front or back sink or float.
                    Click image for larger version

Name:	VariableBuoyancy.jpg
Views:	1
Size:	135.3 KB
ID:	1068322
                    Click image for larger version

Name:	TestPointStruct.jpg
Views:	1
Size:	53.9 KB
ID:	1068320
                    Click image for larger version

Name:	BuoyancyComponent.jpg
Views:	1
Size:	43.6 KB
ID:	1068321

                    Comment


                      This project is awesome.

                      Plain and Simple.

                      Do you have any news on being able to create rivers with this tool? (I read you were interested in the idea on page 1 or 2.)

                      I ask with substance (as opposed to some people wishing for miracles - no offense intended towards anyone), meaning I am already considering adding it myself to the tool, as I have recently brought game development out of hiatus in my business and we are using UE4 to create our new Proof of Concept video and using Community projects and Marketplace content will play a substantial role in the development of this video game.

                      Comment


                        sorry for a very noob question but on github which files do I need to download and where do I put them?
                        Thanks in advance.
                        John

                        EDIT: sorry I sorted it out. End of a night shift. Brain leaking onto shoulders etc.
                        Last edited by SlinkyMuffins; 03-13-2015, 03:40 AM.

                        Comment


                          Thanks everyone for sharing this project, it's much appreciated! However could you give someone who is more of a designer and less of a programmer some rough pointers on how to import that ocean (-plane) into, say, the Flying template? Just a couple bullet points would be great I could totally google the details by myself.

                          Comment


                            I'd like to submit a feature to voting on the Trello.

                            Shoreline Breaking Waves.
                            Click image for larger version

Name:	Lake Superior Waves 003-X2.jpg
Views:	1
Size:	169.0 KB
ID:	1068359

                            I have 2 pdfs I read about this.

                            A. http://matthias-mueller-fischer.ch/p...akingWaves.pdf

                            B. This covers Ocean simulation from cinema CG to realtime.
                            http://www.cs.uu.nl/docs/vakken/mssw...Techniques.pdf
                            Just use 'find' and search for Breaking Waves to catch all the segments about it.

                            Comment


                              Originally posted by tensioncore View Post
                              This project is awesome.

                              Plain and Simple.

                              Do you have any news on being able to create rivers with this tool? (I read you were interested in the idea on page 1 or 2.)

                              I ask with substance (as opposed to some people wishing for miracles - no offense intended towards anyone), meaning I am already considering adding it myself to the tool, as I have recently brought game development out of hiatus in my business and we are using UE4 to create our new Proof of Concept video and using Community projects and Marketplace content will play a substantial role in the development of this video game.
                              Hey there, welcome to the forums!

                              At this point there is a basic spline mesh generator "BP_RiverTool" included in the Ocean\Old folder. It could be useful as a base to create a winding river, but the mesh (which can be changed easily from the details panel) is pretty flat, as this tool was originally a RoadTool. But using your own mesh surface and creating a material with normal maps being panned in a positive Y direction will give you the effect of flowing water.

                              This is something I will revisit and improve in the future, but currently it is a fairly simple tool.


                              Originally posted by Jaideen View Post
                              Thanks everyone for sharing this project, it's much appreciated! However could you give someone who is more of a designer and less of a programmer some rough pointers on how to import that ocean (-plane) into, say, the Flying template? Just a couple bullet points would be great I could totally google the details by myself.
                              And you too, welcome to the forums!

                              First thing you need to do is create a new project with the flying template, open t up and make sure to save it and then exit. Next you will want to open this ocean project project, then in the content browser right click on the "Ocean" folder and choose Migrate from the menu (if you don't see it in the list, go to Asset Actions -> Migrate).

                              This will open up a dialog box showing you which files will be transferred, just click OK on that window. The next popup will ask you where you want to save the content, find your new project's folder, and then click on it's "Content" folder. Now you can press OK and it will transfer everything over to that project.

                              Close down the ocean project, then open Windows Explorer and navigate to the ocean project folder. You need to copy the "Plugins" folder over to your new project, so right click on the Plugins folder and choose copy. Then open up your new project's folder and right click / paste it in.

                              Now open up your new project and you should see an "Ocean" folder in the content browser, to get the ocean in your world simply drag "BP_Ocean" into the viewport and you can then start modifying it to suit your needs.

                              Let me know if you have any issues. Hope that helps!


                              Originally posted by DIFTOW View Post
                              I'd like to submit a feature to voting on the Trello.

                              Shoreline Breaking Waves.

                              I have 2 pdfs I read about this.

                              A. http://matthias-mueller-fischer.ch/p...akingWaves.pdf

                              B. This covers Ocean simulation from cinema CG to realtime.
                              http://www.cs.uu.nl/docs/vakken/mssw...Techniques.pdf
                              Just use 'find' and search for Breaking Waves to catch all the segments about it.
                              Hey man,

                              I have seen the PDF in the first link before after finding this video on youtube:
                              https://www.youtube.com/watch?v=Gk0AeRufsws

                              I will need to go over it again since it has been a while, but this PDF is using more of a fluid surface actor which may be difficult to implement along side the wave system. I definitely want this kind of behavior though, so thank you for the links I will add it up to Trello. Ehamloptiran has a FluidSurface plugin that uses a very similar technique that could be helpful here as well. Will need to do some more research.

                              Thanks!
                              Last edited by DotCam; 03-13-2015, 12:09 PM.
                              Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

                              Comment


                                @DotCam

                                Well we don't have to simulate nearly as much as some of those examples. There are tricks/fakery that can be done.
                                I'm not much of a coder, but if you need any 3D meshes or animation, just let me know
                                Last edited by DIFTOW; 03-13-2015, 03:08 PM. Reason: split the post

                                Comment

                                Working...
                                X