There may be some issues integrating my clouds directly into the SkyDome.
The volume is sampled at certain distances around the camera. I accomplish by moving shells with the character, or by adding camera position to the world offset in the material of stationary shells. When the shells are in any blueprint besides the character, the first method produces a noticeable flicker, seemingly due to an occasional delay/error in matching the shells’ positions with the character. With the second method there is a ~33% drop in FPS during play.
While it slows it down considerably, the second method is useful in the editor, because you can see real-time adjustments to cloud parameters. So, I’m thinking of putting a proxy of the shells(with the material offset by camera position) in the SkyDome, to be destroyed on Begin Play. The number of shells can be adjusted independently for in-editor performance. Then the material collection parameters controlling the clouds can be set from the SkyDome. How does sound?
Wow, system really looks like it’s going to become fairly complicated. I’m using one of the earlier versions which was BP only, but will update shortly to the branch.
Have you thought about keeping the system clean? What I mean by that is, that it might be a good idea to easily disable some features like underwater /creatures. So it doesn’t get too “cluttered” ^^ Maybe some kind of modular approach would work? (Just an idea, dunno if that would work)
I appreciate the features and it’s great that you guys work so hard on that, so I just want to say thanks. I wished I could contribute something myself, but I am no proper artist nor a coder myself (even though I try to learn both…)
OK I’m having a small with TK’s Point Density Override. It does not want to work with the set element array BP option to change the float for individual test points. I even unchecked the “Size to fit” option and made 12 test points in the global and it took my Vectors but not the change in float. I am also doing per tick so I will see about doing a begin play attempt. However so far I cant seem to adjust value without unreal crashing.
How do you plan on doing seasons? Is it just how the sun sets and rises or will it affect the rain, turn still water into ice? And if you have snow, will it affect solid ground?
The density override is experimental/completely untested (I literally spend less than 10 minutes with that)… I just made sure it works with pre-set values, no idea about runtime… but I can see why it would crash if you change the array size while it’s looping you should try just editing the values… “size to fit” changes the array length.
Thanks I got it to work now, it was crashing do to a file corruption completely unrelated, but yeah I have to make 13 points and then I can edit the values. For some reason the size to fit was having an from the file corruption. But I’m all good for the moment.
Speaking of untested, guess i’m testing it out lol.
I love the current setup, I would put a in some kind of error message though for some users who first play with the point density override (when you create one it automatically sets it to zero change the default assign to 1000 to prevent that in my opinion) that if they have a value of zero or 1 to stop the play execution and warn them that will cause the engine to crash most likely do to the reason that it will make the object lighter then water by like a 1000 and launch their boat to the moon. Which entertainingly enough happened to my sub a few times. Also I can get by without using a struct for now so no pressure on that. You guys did a great job and I feel like its just some first time user error that people need to get through before using it. I can try to make a tutorial video if that would help first time user’s? But yeah 's method is definitely in need of a redo in my opinion or just run with TK’s.
Are any users (just non-regular posters) out there using the plugin for things that require pre-point buoyancy on a large scale where having a struct would help so that you can break it into its individual elements or just elements 0-6 or 2-5 etc. Things like submersibles, ships that flood and list/sink/break in half/compartment flooding, games where players craft things like ratfs and each one has different buoyancy like maybe a flat raft would be fine but a simple canoe would fill up with water in heavy seas. Or is just us basically? I ask because I’ve been playing around with the code and while I don’t have anything concrete to release yet, if there is a bigger desire for it, I’d dedicate more time to it (I’ve put maybe a few hours of Visual Studio in last week compared to nearly 100 hours of Unreal and research)
Firstly, thank you to who has contributed to plugin, it looks amazing and is really impressive. Secondly, I’m relatively new to developing with UE and I may be making a really silly mistake with the plugin but if anyone can help me I would be very grateful.
I’ve downloaded the v1.0 of the plugin from , I’ve managed to run the project file and everything looks great. However whenever I create a new map I am encountering a strange problem (for me at least) as show attached. Any ideas?
Everything is off directional light actor zenith color horizon color etc. Make you have everything in your scene the same way from the demo, check the settings are the same, then go from there. I dont have your project so I cant reproduce it btw 1.0 is old download the branch its a feew hours old. There is no “1.0 release” its still beta.
Is that your WIP game or just to show off features in beta that are private to the devs?
Also TK what are the chances of adding location, mesh density and radius to a struct like we have in BuoyancyMovementComponent header file (Handkors setup). I ty to not ask for much but would REALLY help us move our game along easier and faster and I cant see how it would slow anyone down if they dont know how to use structs they can still just add elements manually. Just a Q. I cant figure out the code, I suck at C++, too much time BP’ing and not enough time reading Bjarnes C++ book.
Looks good though you guys are making amazing progress. We hope to be one of the first full games to use the system. I was telling a small percentage of early access sales might have to go to you guys to hire freelancers, pay yourselves, whatever you guys are saving people tons of work and providing an amazing plugin to the community that is now based on your video magnitudes ahead of Unitys Community project and once bow waves, prop wash, wakes, and kelvin wakes get implemented it’ll be better (maybe not as pretty yet) but better overall than Sundogs Triton water system they use for the military for naval simulators and such.
Edit: Thought about one depthMultiplier
* --------
* Buoyancy force formula: (Volume(Mass / Density) * Fluid Density * -Gravity) / Total Points * Depth Multiplier
* --------
doesnt make sense, the only time the deeper you go the faster you rise is if you were a diver in a wet suit otherwise air in a steel tank or a wooden boat doesnt compress the deeper you go. I’m compiling a test build to see what happpens with it gone.
Edit2: Built it by commenting out the densitymultiplier line and commenting out the one line that uses it and moving the semicolon back over to the left, it took 40 seconds to come to the surface from 20,000 units and and 20 seconds from 10,000 and 4 seconds from 2,000. My physics isnt that great but that makes sense to me. Havnt done a lot of testing but it still acts the same on the surface, you know your codes math better than me, removing it shouldnt affect that correct?
It’s coming to project of course… my game is going to be waay better than that!! (lol yeah I wish :p)
I still don’t know what you need the struct for though… you should be able to do what you need with the density override… what is the difference?
The depth multiplier is not as you make it sound, it does not multiply the force the deeper it gets (or else you would get a rocket that flies to space once you got deep enough lol).
You can think the depth multiplier as a way to fake how much % a point is submerged… it pretty much uses the point radius to create something like a “gradient smooth zone” near the surface so that a buoyant object doesn’t jump out of the water with full force even though only half of the point is submerged for example.
It’s not perfect or accurate but that’s the best I could come up with at the time (little fun fact: I came up with that code 3 years ago, UDK days finally put it to some good use :rolleyes:).
Apparently Im wrong. Forget what I said about the struct. Apparently
Forget what I said about it. Sorry about the confusion.
A struct holding the mesh density and location would just cut 42 set array nodes with 84 different node paths in half, as well as knowing each index number will be the same time and time again, no accidently setting 13 on the override array when I meant 12. > What my partner says is the heart of my “issue”
I’ll just leave my partner to do what he does with it until we run into actual issues. Just bad communication maybe, take what you want from it. Sorry if I wasted any time
Will do more testing with the depthMultiplier seeing what affect removing it actually had vs having it in there. When I removed it the test buoy didnt jump out of the water when set at 20,000 cm and left to rise.
Sorry TK about the confusion, having a struct allows you to hold multiple arrays in one call function rather then calling them independently. I asked if it was possibly to make a Ustruct option to hold both the point density override float and the point location vectors. No biggy on , was just asking as a user preference. I’m OK with the way it is now until you feel comfortable making it into a struct.
The reason why I asked for a struct to clear up any confusion.
You know they both effect the same test point and having them in a struct prevents one struct with a different index number from overriding another test points density by user error. By having it in a struct when I do a set array element it locks the density with the location so there is no to mess it up. And when you have say 13 tanks that all change independently and like 8 flood able compartments. Which would require me to use 21 test points that have 42 different set array elements because of the arrays being not in a struct and a possible 84 different node paths. Like I said its just a preference with a struct I just need 21 set array element and my node paths would be cut in half.
Just thought, destructable iceburgs would be why didnt I think of modelling that! The USS Nautilus was the first ship to be at 90N 0w under the ice. Pretty cool. Anytime you guys need models & textures I’m the guy to call, just keep on my *** about it cause I forget about things an hour after I write them down somewhere.
Hey question. Im trying to make a laser range finder upgrade in our tech tree for when lasers become commonplace in the late 70’s… so I do a raytrace of a rediclous length… it works fine with BP_Ocean replaced with a huge plane I can get the exact distance in CM but it wont “hit” the plane, or the skybox for that matter but thats not important, any ideas why I cant get a raytrace (linetrace whatever we call it over here on UE) to to hit the surface? I mean the SM_Oceanpalen is still a static mesh, it should hit it. http://i.imgur.com/QZ9C4XK.png
Could be because the SM_OceanPlane is 0 units in the Z? It works fine with a plane 8191x8191x1 just not the sm which is the same, but 0.
Edit: now it wont even work at all again no debug lines or anything. Weird. Raytracing in Unreal is the first thing I’ve hated since switching from Unity. I’m done with trying to get a infinite raytace for now. Bah.
Edit again: It appears the plane is set to BlockDynamic collision setting, and the skydome to BlockAll. Doh. One more trick about UE4 I learnt. Taking down the image, and linking instead to reduce the clutter and off topicness.