Тёмный

Creating Custom Buoyancy in Unreal Engine's Ocean Simulation 

jourverse
Подписаться 7 тыс.
Просмотров 2,5 тыс.
50% 1

In this tutorial, we create custom buoyancy for ocean waves using FFT calculation. We break down the process step by step, from CPU iFFT calculation to adjusting parameters, fixing materials, scale down the wave, and making buoyancy components. Creating a floating boat and floating buoy.
📁Related Resources:
Ocean Simulation Project: drive.google.com/file/d/1IqdZ...
CPU iFFT Project: forums.unrealengine.com/t/com...
3d Models: drive.google.com/file/d/1jr5v...
MyBuoyancyComponent Codes: drive.google.com/file/d/1LJio...
Full Project: / project-file-in-96471751
If you enjoyed this video, please give it a thumbs up and leave a comment below. Don’t forget to subscribe to my channel for more Unreal Engine tutorials. Thanks for watching!
TimeStamp:
CPU iFFT Calculation Project: (0:38)
Convert to C++ Project: (4:08)
Copy CPU Wave Codes: (10:46)
Adjust Parameters in GPU Waves: (16:29)
Adjust Parameters in CPU Waves: (21:28)
Change Emitter Update Logic: (24:42)
Change Ocean Wave Scale in GPU: (26:48)
Fix Emissive and Roughness Material: (34:57)
Change Ocean Wave Scale in CPU: (39:11)
Buoyancy Component: (45:21)
Buoy and Boat Actor: (53:53)
Virtual Include File Paths: (1:02:57)
Outro: (1:11:53)
#unrealengine #oceansimulation #buoyancy

Опубликовано:

 

13 янв 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 57   
@ArataYamashita
@ArataYamashita 6 месяцев назад
Amazing!
@jourverse
@jourverse 6 месяцев назад
🙂
@robinj6997
@robinj6997 4 месяца назад
Superbly done once again
@darkarps
@darkarps 6 месяцев назад
this is such a great tutorial, you have done an amazing job with this... it's my first time working with C++ classes and Visual Studio and I learned a lot... thank you SO MUCH!
@jourverse
@jourverse 6 месяцев назад
Thank you very much.
@depict1821
@depict1821 6 месяцев назад
This series is great, will there ever be a part about optimization
@xionesj
@xionesj 6 месяцев назад
Thanks for continue
@jourverse
@jourverse 6 месяцев назад
You're welcome
@sussybaka3025
@sussybaka3025 3 месяца назад
nice tutorial 👍 I was wondering if there is a possibility to add boat movement and player swim to the buoyancy component? If so a tutorial is much appreciated.
@geanmarcosloffi
@geanmarcosloffi 6 месяцев назад
makes a foam system interacting with the boat etc...
@WsEKond
@WsEKond 6 месяцев назад
Please continue this series with an underwater effect and infinite ocean
@jourverse
@jourverse 6 месяцев назад
I will work on infinite ocean. I saw a tutorial about under water effect, let's me know if this work. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rnUEdKPPuhI.htmlsi=M3Mi1_mQl4zD9GsI
@quidongin
@quidongin 2 месяца назад
Thank you for these tutorials! Easy to follow and incredibly helpful in learning niagara! Around 29:28 when adjusting for scale, why is a divide needed after the iFFT lookup, and what does OverlapScale represent?
@quidongin
@quidongin 2 месяца назад
I was attempting a refined/iterative lookup as described here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-kGEqaX4Y4bQ.html, but the result appears to be diverging, potentially due to these scaling factors
@jourverse
@jourverse 2 месяца назад
This scale is used to reduce the wave to a character-sized wave. OverlapScale is just a magic number that used in the water material to scale down the wave.
@kryogenicgames
@kryogenicgames 6 месяцев назад
would you be able to look into having collision to objects so waves dont go through objects like when you see on the boat, water goes through the base of the boat. Thank you for this tut.
@jourverse
@jourverse 6 месяцев назад
That need the mask material to hide the place to overlap with the boat. I'm working on tessellation. If I have time, I might work on this.
@outrasaida10
@outrasaida10 3 месяца назад
Nice tutorial man! i'm just having a problem where the OceanFFTCalculator.cpp is not findindg the .ispc file that you created. Do you have any solutions to that? i've already generated the visual studio files over again and again...
@beautifulmind-ql4sd
@beautifulmind-ql4sd Месяц назад
I have the same problem. It does not find the generated.h file
@eddie.h.ball3
@eddie.h.ball3 5 месяцев назад
Thank you for the great walk through! Any idea how to adjust the patch length? Whenever I adjust the patch length on the GPU and CPU, the debug points don't match the ocean surface.
@jourverse
@jourverse 5 месяцев назад
For CPU, you need to adjust the PatchLength in OceanFFTData.h. For GPU, you need to set the user parameters of PatchLength in the Niagara system and adjust the material M_PreviewOceanWater's CascadeSizes according to your PatchLength.
@eddie.h.ball3
@eddie.h.ball3 5 месяцев назад
@@jourverse You probably just saved me days of troubleshooting. Thank you so much! I was not adjusting the CascadeSizes in the material. Any chance you can explain "Override Gpu Dispatch Num Threads X" does in iFFT_ROWPASS and iFFT_COLPASS? Does it cause the first 64 threads to execute in a thread group so that each group get's their own copy of the "pingPongArray" which is synchronized acrros threads in the same group using "GroupMemoryBarrierWithGroupSync()"?
@mikolaicgi
@mikolaicgi 5 месяцев назад
Hello there! I want to start by expressing my appreciation for your exceptional work. However, I have encountered some issues with the Buoyancy component code. I followed your tutorial and added the component, as well as copied the code from the sources you provided in the description. Unfortunately, when I pasted it into my files, I ended up with 182 errors. Additionally, I cannot find the "set my static mesh component" in my BP_Buoy, as you demonstrated at the 54:45 minute mark. I have tried multiple times to correct the issue, even deleting and recreating new files, but nothing has worked. Could you please help me identify where I went wrong?
@jourverse
@jourverse 5 месяцев назад
Is your project name is difference than mine? You need to change "class OCEANTUTORIAL_API" to your project name API.
@mikolaicgi
@mikolaicgi 5 месяцев назад
@@jourverse Oh God, it works! Thank you so much! By the way, is there any way to make smooth animation of boat in sequencer? I want to combine your method of buoyancy and animation of boat transform in sequncer to make it go on the waves. But now it's looking a little bit weird:)
@jourverse
@jourverse 5 месяцев назад
​@@mikolaicgi I don't know. You need to find the solution yourself.
@KimNKofficial
@KimNKofficial 6 месяцев назад
Can you add the JF-17 aircraft in your game Air To Air: Jet Shooter? I would love it ❤
@officialjmweh120m3
@officialjmweh120m3 6 месяцев назад
Thank u brother 💕 i appreciate your video ❤ 🎉 can you make a system to make the sea big or small or infinity?
@jourverse
@jourverse 6 месяцев назад
Thank you. I have plan to create the big ocean. I need to figure out the algorithm for tessellation. For now, you can use this material on ocean actor in water system from unreal engine plugin.
@officialjmweh120m3
@officialjmweh120m3 6 месяцев назад
@@jourverse im waiting for you to make an infinity mode💕
@jourverse
@jourverse 6 месяцев назад
@@officialjmweh120m3 We can work together to get faster result. Join my discord and let's me know you're from this tutorial after you join. In my discord name "Sengchor". discord.com/invite/FEkhTyggYq
@PigeonSlayer
@PigeonSlayer 5 месяцев назад
While the tuts are great, there are some moments where I am questioning your editing choices :D Sometimes you keep a mistake , so we follow, only to have to fix the mistake afterwards. It would be better to edit the mistakes out than doing it this way. Also, if somebody wants to skip the buoyancy part and wants to the just underwater Post Process, he cant follow this guide without having to listen to additional 3 hours of tesselation and buyoancy because you mix the steps in there that a person needs in the PP tutorial
@RS4P
@RS4P 3 месяца назад
Is the performance better than the Unreal Engine Plugin?
@jourverse
@jourverse 3 месяца назад
Unreal Engine plugin is better performance because it uses simple Gesner wave.
@kaiseiwieczorek-numao1225
@kaiseiwieczorek-numao1225 4 месяца назад
Will this also work for Unreal Engine 5.1?
@jourverse
@jourverse 4 месяца назад
It's work on 5.3. It think it won't work for 5.1.
@kaiseiwieczorek-numao1225
@kaiseiwieczorek-numao1225 4 месяца назад
@@jourverse I got the ocean simulating in 5.1, just struggling to implement buoyancy to it and unsure on what to do
@musgi998
@musgi998 5 месяцев назад
does this work with any water surface even custom ones ?
@jourverse
@jourverse 5 месяцев назад
Sorry, this work only on this custom water tutorial series. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--bYVnBAvomo.htmlsi=QBrz76rUVYES_Kg4
@musgi998
@musgi998 5 месяцев назад
@@jourverseis it possible that i can manage to make it work or it wont at all ? i didnt watch the ocean tuts tbh so iam saving the time by asking
@jourverse
@jourverse 5 месяцев назад
It won’t work on other ocean because this ocean use specific formula and this buoyancy is the code to calculate the height of this ocean wave formula.
@musgi998
@musgi998 5 месяцев назад
@@jourverseso if i understand correctly the system doesnt use the normal of the vertices on the surface but uses some calculated values ?
@jourverse
@jourverse 5 месяцев назад
@@musgi998You're right. It uses calculation value in c++.
@Extile00
@Extile00 6 месяцев назад
Hey. Could you show how to setup wheel motion blur as a continuation to your vehicle series? Your videos helped me a lot.
@srpicles623
@srpicles623 6 месяцев назад
You can go to -> Project Settings -> Enable Motion Blur and set it to false, so you can configure it better with a Post Process Volume or anything else.
@Extile00
@Extile00 6 месяцев назад
@@srpicles623 I can't use custom PP blur because it acts totally different to the default one. the default one works only when there is motion but PP works all the time. And if i use default one it can't handle radial blur. So it's an infinite loop of problems. Idk wtf they were thinking.
@srpicles623
@srpicles623 6 месяцев назад
@@Extile00 What exactily you want for your game?
@Extile00
@Extile00 6 месяцев назад
@@srpicles623 i just want to get rid of the default motion blur on the wheels and keep it elsewhere. but it seems impossible. i wish there was an option to disable motion blur on specific meshes
@srpicles623
@srpicles623 6 месяцев назад
​@@Extile00 Hey! I was doing some tests now, you can change the "Wheel Controller" to the "Stageocoach Effect Wheel Controller" in the vehicle Anim Blueprint. It will minimize the visual problems.
@rithhouroudom
@rithhouroudom 6 месяцев назад
Nice tutorial. Are you Khmer?
@jourverse
@jourverse 6 месяцев назад
Yes, I am ខ្មែរ.❤​And you?
@rithhouroudom
@rithhouroudom 6 месяцев назад
@@jourverse Yea I'm Khmer. feel good to see Khmer channel leaning to this industry. Are you more into game or film?
@jourverse
@jourverse 6 месяцев назад
@@rithhouroudom Thank you. I'm more into game industry. You can join my discord community. discord.com/invite/FEkhTyggYq Are you a game developer?
@rithhouroudom
@rithhouroudom 6 месяцев назад
@@jourverse No, I'm a filmmaker.
@zytron615
@zytron615 6 месяцев назад
Is this replicated?
@jourverse
@jourverse 6 месяцев назад
You are not require to download the project, if you have the last project from the last tutorial.
Далее
The Buoyancy Problem in Video Games
7:33
Просмотров 773
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ🌇
3:16:26
I'm Excited To see If Kelly Can Meet This Challenge!
00:16
how water works in Sea of Thieves
3:25
Просмотров 913 тыс.
10 Unreal Engine 5 PLUGINS I can't live without!
9:37
Просмотров 498 тыс.
UE4 Floating On ANY Water Tutorial #TeamSeas
18:41
Просмотров 6 тыс.
Making Dynamic Desert Sand in Unreal Engine 4
7:07
Просмотров 52 тыс.
How 3D video games do graphics.
3:03:13
Просмотров 198 тыс.
Can you smooth out 3D Prints with Beeswax?
13:11
Просмотров 8 тыс.
Making an OCEAN for my EXPLORATION game - Devlog #2
7:47