Font rendering in 3 minutes! [v1]
2:57
Things you do NOT want to hear.
4:58
Does GPT4 have good taste?
8:30
Жыл бұрын
Does Bing have feelings?
9:33
Жыл бұрын
Is A2C Different from PPO?
33:51
Жыл бұрын
Does your PPO agent fail to learn?
12:16
ViZDoom 4: REINFORCE loss [New edit]
23:57
Пікірлер
@D-K-C
@D-K-C Күн бұрын
Ъ.
@GeorgeR-w5e
@GeorgeR-w5e 3 күн бұрын
Hi I've just realized that Unity unable to understand the architecture whether 64 or 84 for AustinHarris.JsonRpc. I also install the newtonsoft json
@GeorgeR-w5e
@GeorgeR-w5e 3 күн бұрын
Hi I am using the latest PeacfulPie.dll. I am using Unity 2020.3.48f1 windows version. It seems when I add the NetManager onto the object I get a associted scripted can not be loaded. Strangely the RayCasts only works. What could this be?:)
@joee7809
@joee7809 4 күн бұрын
I am curious on how you used numpy to render graphics! Never got how graphical programming worked 😅
@mmheti
@mmheti 9 күн бұрын
Could you calculate pressure for each cell in order to modify the velocity? Pressure will want to equalize, killing the velocity in the system. Velocity will change the pressure. And so on. Kinda like you solve Navier-Stokes equations in FVM. I now kinda want to try it myself xD Great video, thanks!
@rlhugh
@rlhugh 9 күн бұрын
@@mmheti yeah, you can. There's a few different approaches possible. They each have their own good and bad points.
@anonsd5521
@anonsd5521 10 күн бұрын
Looking at these arrows, I realized that this is an ideal simulation of electromagnetic waves.
@danielbodon14
@danielbodon14 11 күн бұрын
nice
@rlhugh
@rlhugh 11 күн бұрын
Thanks!
@moonyl5341
@moonyl5341 13 күн бұрын
what about simplex
@rlhugh
@rlhugh 13 күн бұрын
Oooo, the patent expired. Interesting. Thanks for the heads-up.
@moonyl5341
@moonyl5341 13 күн бұрын
@@rlhugh there are alternatives like opensimplex
@user-nu3ns9gi9n
@user-nu3ns9gi9n 15 күн бұрын
Thank you for your good lecture. In 10:39, after execute python my_env.py, I have an error, "AssertionError: Your environment must inherit from the gymnasium.Env class cf. gymnasium.farama.org/api/env/". Could you explain how to fix it?
@Grimmet2137
@Grimmet2137 15 күн бұрын
I had no idea what you were talking about most of the time but the video was still insanely enjoyable! Your voice and music choice makes it even better, love it!
@rlhugh
@rlhugh 15 күн бұрын
Thank you!
@teddy3455
@teddy3455 18 күн бұрын
This is an amazing explanation of CFD, thank you!
@Monkeymario.
@Monkeymario. 19 күн бұрын
ty! :D might be useful for later!
@Monkeymario.
@Monkeymario. 19 күн бұрын
2:03 how do you get all of them on curve 2:17 nvm you dont
@Monkeymario.
@Monkeymario. 19 күн бұрын
5:07 project gauss seidel wait tahts the ROBLOX physics engine!
@rlhugh
@rlhugh 19 күн бұрын
Not sure I follow. Do you mean that roblox uses fluid simulation?
@maggy40404
@maggy40404 21 күн бұрын
so good
@user-nu3ns9gi9n
@user-nu3ns9gi9n 21 күн бұрын
Thank you for your video. I have played it in unity editor well. But, when make windows execution version by "build and run", below error occurs. Do you have any idea to fix it?. Thanks in advance. "ArgumentException: The Assembly Newtonsoft.Json is referenced by AustinHarris.JsonRpc ('Assets/Plugins/AustinHarris.JsonRpc.dll'). But the dll is not allowed to be included or could not be found."
@rlhugh
@rlhugh 21 күн бұрын
You need to install newton soft json rpc. It's a package you can install using package manager.
@rlhugh
@rlhugh 21 күн бұрын
Note that somewhere at the start of the video, I believe there are instructions on installing newton soft jsonrpc
@user-nu3ns9gi9n
@user-nu3ns9gi9n 16 күн бұрын
@@rlhugh I have searched newton soft json rpc, but it's not in asset store. Do you have it with unity package file?
@rlhugh
@rlhugh 16 күн бұрын
@@user-nu3ns9gi9n see 1:04
@user-nu3ns9gi9n
@user-nu3ns9gi9n 15 күн бұрын
@@rlhugh It works! The application by building can communicate with python. Thank you very much.
@xw591
@xw591 22 күн бұрын
Dawg go grt your Masters, this could be a Masters level project
@rlhugh
@rlhugh 22 күн бұрын
lol, thanks! :)
@ninjacodertech
@ninjacodertech 22 күн бұрын
this is very interesting! subs++;
@user-pl9nq2ek1v
@user-pl9nq2ek1v 25 күн бұрын
I don't know if this is still relevant but I particularly enjoy that the videos are posted chronologically and one can see how real time development goes.
@rlhugh
@rlhugh 25 күн бұрын
@@user-pl9nq2ek1v thanks! I guess the main criticism of these videos is that their signal to noise is not high. At the time, I thought people would be interested to see my whole thought process. Later on, I realized that when I watch other people's videos, I like to see the distilled, condensed form, without all the bits where I don't know what I'm doing. This doesn't contradict the idea of making things chronological, but does suggest much more aggressive editing. I'm still kind of figuring out the balance tbh :)
@user-pl9nq2ek1v
@user-pl9nq2ek1v 25 күн бұрын
@@rlhugh I personally do like small bits of confusion and seeing the thought process and how development happens in real time. Also a really good thing is that you test while developing. One question though (assuming you haven't done it in further episodes), why didn't you try to apply some transforms to the screen buffer, e.g. grayscale or another dimensionality reduction?
@ClockworkGearhead
@ClockworkGearhead 26 күн бұрын
More like a magnetic field simulation than a fluid simulation, is my impression.
@MAviation_com
@MAviation_com Ай бұрын
I am trying to simulate aerodynamics of stl files in 3D space. But I haven't made it yet. Who can do such a thing?
@rlhugh
@rlhugh Ай бұрын
Interesting idea. Do you have any example files?
@MAviation_com
@MAviation_com Ай бұрын
@@rlhugh m a v . i s t / F L u i d
@MAviation_com
@MAviation_com Ай бұрын
@@rlhugh I can't add it here, youtube deleted it. I wrote it in the description of my channel
@TwoThreeFour
@TwoThreeFour Ай бұрын
Wait until we reach C-3PO, instead of 2PO, that would be very interesting. 😁
@eliyahubasa9401
@eliyahubasa9401 Ай бұрын
Very interesting, thank you!
@rlhugh
@rlhugh Ай бұрын
Thank you! 🙌
@iamsushi1056
@iamsushi1056 Ай бұрын
Would it be possible to create a more complex velocity map by uploading an image, and only looking at hue and brightness, ignoring saturation? Obviously colors approaching white could be a problem, but you could remedy this by thresholding saturation and then treating anything below the threshold as a non-fluid/wall if the brightness is high enough that it would otherwise have a velocity
@rlhugh
@rlhugh Ай бұрын
Good idea! It's open source. PRs welcome :)
@NoenD_io
@NoenD_io Ай бұрын
Can you use microstudio or löve2d to simulate eulerian fluid
@NoenD_io
@NoenD_io Ай бұрын
Finnaly Aliens can eat fried chicken on venus
@NoenD_io
@NoenD_io Ай бұрын
Voronoise
@NoenD_io
@NoenD_io Ай бұрын
How did the bot make a head hitter
@rlhugh
@rlhugh Ай бұрын
What do you mean by a "head hitter"?
@NoenD_io
@NoenD_io Ай бұрын
@@rlhugh when the bot makes a block above iy
@rlhugh
@rlhugh Ай бұрын
The algo sprinkles lethal blocks randomly in any square which the map making bot didn't touch.
@NoenD_io
@NoenD_io Ай бұрын
What about concave polygons
@rlhugh
@rlhugh Ай бұрын
This is strictly for axis aligned boxes. But what you can do is wrap an axis aligned box around your polygon, and first test for collision with the aabb. If you collide with the aabb, then test against each line in the polygon one by one. If no collision with aabb, then ignore the polygon, for that frame.
@rlhugh
@rlhugh Ай бұрын
("aabb" == "axis aligned bounding box")
@NoenD_io
@NoenD_io Ай бұрын
Woble gooble alien texture
@jeremymetzler72
@jeremymetzler72 Ай бұрын
Terry Chad Davis
@rlhugh
@rlhugh Ай бұрын
I googled this, but nothing obvious came up?
@jeremymetzler72
@jeremymetzler72 Ай бұрын
​@@rlhughIt was a joke. There was a guy named Terry Davis who was famous for programming his own OS. He has some similar facial features and was a bit cynical.
@rlhugh
@rlhugh Ай бұрын
Ah :)
@canter1ter
@canter1ter Ай бұрын
videos like these are what internet was made for
@rlhugh
@rlhugh Ай бұрын
Wow, thank you very much! 🙌
@Cane4092
@Cane4092 Ай бұрын
Ya and we took pictures of celebrities feet and sent them to other people with it
@ZE_TRVTH_NVKE
@ZE_TRVTH_NVKE 5 күн бұрын
Trvke
@EstanBulLoFre
@EstanBulLoFre Ай бұрын
I understood none of this yet I was glued to it all the way through
@rlhugh
@rlhugh Ай бұрын
Haha, nice :)
@christianhelgeson3712
@christianhelgeson3712 Ай бұрын
Could write conflicts also be avoided by just writing to a separate buffer fhan the one you are reading from?
@rlhugh
@rlhugh Ай бұрын
No, because we are writing to the walls of the cells, not the cells themselves. And every wall has two neighbors, so there would be conflicts.
@christianhelgeson3712
@christianhelgeson3712 Ай бұрын
@@rlhugh Thank you. How would you write the shader to allow for each pass to be offset correctly. Do you pass a uniform that specifies the offset? And are you still running multiple iterations for each of the four divergence passes?
@rlhugh
@rlhugh Ай бұрын
For your first question, yes, that's right. I simply pass in two ints, one for x offset (0 or 1), and one for y offset (0 or 1)
@rlhugh
@rlhugh Ай бұрын
As far as your question about 'divergence passes'. we have to re-compute the divergence for each of these sub-passes. The divergence was modified by the previous sub-pass, and we need to take that into account. (if we didn't need to recalculate divergence, we would only need a single pass, no sub-passes).
@rlhugh
@rlhugh Ай бұрын
Oh, I misunderstood your second question. So yeah, you do each of the 4 sub passes. Let's call that one pass. then iterate over the pass of 4 sub passes, like 200 times or so
@nolhanmangin5939
@nolhanmangin5939 Ай бұрын
imagine putting a few ai's in there, make them evolve, adapt to the environment and make them learn how to utilise it to its advantage
@rlhugh
@rlhugh Ай бұрын
Interesting idea 🤔
@tperm7282
@tperm7282 Ай бұрын
i just came from your fluid sim video and this channel does not disappoint this was such a simple yet good way of explaining perlin noise thanks for the explanation!
@rlhugh
@rlhugh Ай бұрын
Thank you! Note that most of the rest of my videos are not so concise, and graphical. Baby steps...
@Monkeymario.
@Monkeymario. 19 күн бұрын
me too well i came from font video but i watched fluid sim before font! ;)
@tiniustreider9466
@tiniustreider9466 Ай бұрын
thanks so much all the other videos about water simulation is either way too complicated or just a blender tutorial
@rlhugh
@rlhugh Ай бұрын
Awesome. Thank you very much :) that's very kind to say. I really appreciate your saying that :)
@jackquimby1925
@jackquimby1925 Ай бұрын
This is super cool, keep it up!
@rlhugh
@rlhugh Ай бұрын
Thank you!
@antonhengst8667
@antonhengst8667 Ай бұрын
This guy's gonna love learning about the weak fem form for the constitutive eularian fluid equations
@rlhugh
@rlhugh Ай бұрын
Good heads-up. Thanks!
@pimmel_news
@pimmel_news Ай бұрын
there are these drills that can make triangle or square holes. Some people also used them to draw a shape with turning a crank and a lazer pointer mounted on some gears. Is that more or less complicated than Bézier, since I'm not even able to find the right terms?
@omargoodman2999
@omargoodman2999 Ай бұрын
In a way, this is functionally simulating Quantum Mechanics and illustrating the principle of "Particle/Wave duality". The entire fluid motion can be represented as a vector. But the vector, *itself,* must behave as a particle, moving in response to the overall "equation" of the fluid flow. And that flow, in turn, changes in response to how those velocities keep changing within it. The more "interactions" there are, the more you'd have to "zoom in" and re-calculate based on the rapidly changing velocities. But the fewer the interactions, whether that be due to smooth flow, "low temperatures" (less movement), etc., the more you can just look at the overall average equation for how the vectors evolve. So, in keeping with this notion that this is very much like Quantum Mechanics, using the principles of QM would probably help improve the quality of the simulation. *1)* Non-Zero Baseline: In QM, particularly Quantum Field Theory, one of the major notions is that everything isn't sitting at a baseline _zero_ state. Rather, there's a certain minimum baseline energy already present, and it's the net _difference_ over *or under* that baseline which is considered. To put it in context of a fluid, since we're discussing fluid dynamics, it's like there's a big ocean of energy already sitting there. How deep that ocean is is a question scientists argue over endlessly, but it's what happens at the surface that is actually important and what they more or less agree on. *2)* Constant Activity: There are constant "little ripples" going all over the place. The surface of the ocean isn't still; it's always churning and bubbling and mixing; and as those little micro-waves this motion generates interact with one another, the peaks of the waves amplify one another, the dips amplify one another, but where peak and dip meet they cancel out. And when it churns enough, it gets big enough to be called a true "wave" (a particle like an electron or a quark). You can't really say that an ocean wave has one specific location; it's a "part" of the ocean as a whole. But you could also point at a part of the ocean at any given time and ask, "Is this currently part of a wave?" Maybe yes, maybe no. The bigger and stronger the wave, the more likely you'll be to "catch" it. *3)* Quantized: This means that a wave can't be an arbitrary "height" in this ocean (where "height" here is a stand-in term for the "energy" of a particle). It would be as if waves can only be increments of 10 meters in height. Anything between 10 meters below the surface and 10 meters above the surface would effectively register as if it were right at the surface. Functionally, what this is is "statistical rounding". If there were a wave (particle) that could potentially be 17 meters tall according to the vector math, the particle math has no clue what that means. Particle math only deals in increments of 10 meters. So it has to round 17 meters; but it doesn't use formal rounding. Instead, it uses statistical, trigonometric rounding. 17 meters is 0.7 of the way from 10 to 20. I forget the exact formula, but it's 50/50 if it were X.5, but more than a mere 70% chance at X.7 to round up to the higher value (it follows trigonometric values around a unit circle). So these aspects could possibly be implemented in the following ways. First, have some non-zero "baseline" flow value. Never have "zero flow". Not zero *actual* flow, anyway. But simulate the actual pertinent _movement_ not based on this "real baseline" but, rather, relative value compared to that baseline. So, for example, if baseline flow has a vector weight of, lets say, 100, your actual fluid movement model *treats* 100 as if it were zero (staying still), and then movement of 105 is going 5 _faster_ than that. Next, have micro-purturbation in the model by allowing that baseline value to "jitter". While baseline flow that's considered "stillness" would still be considered 100, any specific "cell" of fluid would randomly, iteration to iteration, have a value between 98-102. And it can change its value by up to 2 either positive or negative. These will still factor into calculations, so these changes won't "come from nowhere"; if micro-flow is generated, it will pull from surrounding cells. Lastly, when it comes to evaluating how the vectors, themselves move, you can "fudge" the value a bit. Round it based on the statistical rounding I described to let it "zoom out" and use lower resolution, and then do more of a "random step" pattern instead of a complete vector calculation to determine how a vector moves. This way, vectors don't have to consider, "how am I moving based on everything around me" 100 times, they just have to decide, "how likely is it for me to move up, down, left, or right based on forces around me" 100 times.
@rlhugh
@rlhugh Ай бұрын
Interesting. Thanks! :)
@DLL_C_DLL
@DLL_C_DLL Ай бұрын
I went searching for a visualisation exactly like this one to help me understand, got exactly what i needed! Good work!!!
@rlhugh
@rlhugh Ай бұрын
Awesome. Fantastic! Thank you :)
@EmmanuelMessulam
@EmmanuelMessulam Ай бұрын
Thanks for the explanations and the sources! please add the links to the description though :D
@rlhugh
@rlhugh Ай бұрын
Published to github.com/hughperkins/UnityFluidSim-pub
@footballmint
@footballmint Ай бұрын
Very nice video. Now get a beefy graphics card and run at very high resolutions lol.
@thepratyush0704
@thepratyush0704 Ай бұрын
Hey i wanted to send masked image from a webcam using python only as that code is doing many things more so i am left with only this option to send image from python to unity can u help me with that
@rlhugh
@rlhugh Ай бұрын
I mean, worst case, encode the image as base64, and send as a string.
@netyimeni169
@netyimeni169 2 ай бұрын
Now I have to find someone to explain how to do that in Godot
@blitzguitar
@blitzguitar 2 ай бұрын
Imagine the kind of simulation you could do with a 4090 over the mac book.
@benjitheengi4447
@benjitheengi4447 Ай бұрын
No no no you dont understand plebian Apple Silicon tm is magic and cannot be beaten by mere mortal technology
@ModernEraCaveman
@ModernEraCaveman 2 ай бұрын
Thank you for these videos! I often have the same thoughts about being/experiencing places that would be impossible to get to, and making sims to make it possible, but I’m always so unmotivated to do it. So thank you for not just exploring these questions, but for also making videos to share your work with us!
@rlhugh
@rlhugh 2 ай бұрын
Thanks! Cool name by the way :)
@jomazu7874
@jomazu7874 2 ай бұрын
i bet this would run much better on a gpu with a cooling system and more than 10 cores (or whatever your model of macbook has)