![mohsen zare](/img/default-banner.jpg)
- Видео 102
- Просмотров 401 292
mohsen zare
Добавлен 19 июн 2020
Hello dear game developer OR, people who love games, OR people who just wonder in my channel for fun
My name is Mohsen Zare
I love game, math and programming
And I just decided to create videos about those things that I love
English language is not my mother language so I am sorry if sometimes I make errors
I work with Godot as the game Engine, And I hope this open source game engine will grow day by day
My name is Mohsen Zare
I love game, math and programming
And I just decided to create videos about those things that I love
English language is not my mother language so I am sorry if sometimes I make errors
I work with Godot as the game Engine, And I hope this open source game engine will grow day by day
Terrain deformation by Curve - MTerrain plugin Godot
Please download the latest version of M Terrain plugin for this!
Here we have another tool which work on top of out new curve system! with this you can automatically modify terrain height-map, terrain image and even grass! all of these are done non-destructible!
MPath system and road creation video:
ruclips.net/video/pXIaW62I20k/видео.html
creating terrain from scratch video:
ruclips.net/video/7CTH6bP850I/видео.html
Discord:
discord.gg/ravFervXVW
Twitter:
x.com/mohsenph69
Github:
github.com/mohsenph69/Godot-MTerrain-plugin
patreon:
patreon.com/mohsenzare?Link&
Chapters:
intro - 00:00
adding path - 00:25
terrain height-map deformation - 01:57
terrain image painting - 04:27
grass modification - 08:10
making ro...
Here we have another tool which work on top of out new curve system! with this you can automatically modify terrain height-map, terrain image and even grass! all of these are done non-destructible!
MPath system and road creation video:
ruclips.net/video/pXIaW62I20k/видео.html
creating terrain from scratch video:
ruclips.net/video/7CTH6bP850I/видео.html
Discord:
discord.gg/ravFervXVW
Twitter:
x.com/mohsenph69
Github:
github.com/mohsenph69/Godot-MTerrain-plugin
patreon:
patreon.com/mohsenzare?Link&
Chapters:
intro - 00:00
adding path - 00:25
terrain height-map deformation - 01:57
terrain image painting - 04:27
grass modification - 08:10
making ro...
Просмотров: 877
Видео
MTerrain has a new UI system! Godot Terrain
Просмотров 96014 дней назад
Thank for great work of RossUnger we have a new UI system for MTerrain! Now you can control almost all functionality of MTerrain from one single panel! In this video you see a introduction to new UI system! Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Download latest: github.com/mohsenph69/Godot-MTerrain-plugin/releases Github: github.com/mohsenph69/Godot-MTerrain-plugin
I made a Road system for Godot engine
Просмотров 2,9 тыс.Месяц назад
This will come on top of my terrain plugin and still at the time of recording of this video is under development! This is not only for Road you can use that to generate any kind of mesh like walls, terrain track, river or any other type of repeating mesh! video about MOctMesh: ruclips.net/video/hJ3zW3rjwao/видео.html Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Download latest: gith...
Handling large scene in Godot
Просмотров 4,6 тыс.3 месяца назад
So this will be a start point for me to create a system for handling large scene in Godot! I thought to myself lets create and finish one octree system for everything so we don't have to rewrite that in each system separately! Other than this I think one central octree will be much more efficient the several one! by the way in some cases you can create other octree also! Discord: discord.gg/rav...
More Grass update in M Terrain plugin - Godot Engine
Просмотров 2,7 тыс.4 месяца назад
Adding some custom data open many new things for grass! I just mentioned some of the simple ones! Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Github: github.com/mohsenph69/Godot-MTerrain-plugin patreon: patreon.com/mohsenzare?Link& Wiki: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Some video which I suggest to watch before watching this: Terrain creation: ruclips.net/video/7CT...
Terrain and Grass Editing in-game with MTerrain plugin Godot Engine
Просмотров 1,8 тыс.5 месяцев назад
So basically in this new version of mterrain plugin I added some functionality to be able to deform terrain and update grass in real-time in-game! With time I will improve some stuff to make this thing faster specially for grass! Please note: One thing that I want to add to video above is that, calling function update_dirty_texture on terrain in a different thread should be safe, so you can als...
Terrain tutorial Godot - Mountain Lake
Просмотров 13 тыс.5 месяцев назад
So this is a tutorial to create a Mountain landscape with Godot! I try to focus on base stuff, but I can not explain everything so I will refers to other video also. Discord: discord.gg/ravFervXVW Github: github.com/mohsenph69/Godot-MTerrain-plugin Wiki: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Download for Windows: drive.google.com/file/d/1GX4OOj7HZnquhNCNmLruxQbecrn3Ji0h/view?usp=shar...
sRGB color space & Linear color space concept in computer graphic
Просмотров 1,7 тыс.6 месяцев назад
This was about sRGB color space and linear color space! down here I will put more useful resources, which you can read them! learnopengl.com/Advanced-Lighting/Gamma-Correction www.cambridgeincolour.com/tutorials/gamma-correction.htm blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/ blog.wolfire.com/2010/02/Gamma-correct-lighting Also I add one more thing here, Many game se...
Prevent Tile Texture in Terrain
Просмотров 21 тыс.6 месяцев назад
In this video we are looking at possible solution to prevent tile texture or texture repetition Video for Texture Rotation: ruclips.net/video/ssrJGxMtssE/видео.html Video for splatmap: ruclips.net/video/sXPGHBod9KY/видео.html Chapters: intro - 00:00 artistic solutions - 01:00 texture mixing - 01:28 color variation - 01:50 detail texture - 02:18 texture rotation - 03:23 distance base blending - ...
New Terrain Compression Algorithm on M Terrain plugin
Просмотров 4,1 тыс.6 месяцев назад
Please note this compassion for each terrain and heightmap will give a different result, But as I tested for different type of terrain my compression algorithm perform better to PNG! Other video resources: Compression algorithm explained: ruclips.net/video/5KkVftV-PTk/видео.html Splatmap tutorial: ruclips.net/video/sXPGHBod9KY/видео.html regions size explained: ruclips.net/video/PcAkWClET4U/вид...
I made a Compression Algorithm for Heightmap Terrain
Просмотров 67 тыс.7 месяцев назад
This show the General algorithm for compressing a Heightmap image using quadtree and quantization. This compression algorithm will more optimize with linear regression model calculated with least square method in 3 dimension. I can say we implement delta encoding compression with linear regression in 3 dimension. Video and image resources used in this video: Quadtree collision calculation demo:...
Insane Huge Terrain 10,000 square km - Godot engine
Просмотров 8 тыс.8 месяцев назад
And now we have no limitation for RAM memory usage for create our Terrain for open world games M Terrain Plugin on Github: github.com/mohsenph69/Godot-MTerrain-plugin Wiki page: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Discord: discord.gg/EN447Q4hfM Terrain progress play list: ruclips.net/video/9olfCkPs1WU/видео.html Patreon: patreon.com/mohsenzare?Link&
MTerrain Adding Water System - new update - Godot engine
Просмотров 1,5 тыс.8 месяцев назад
I think we can use material next pass as a simple water solution for our terrain which is really efficient! there are more changes which I wrote in my Github release page! And I hope as I got more free time I will create a good tutorial for water shader in Godot! this demo is not really a good example of water shader I just put something together for this demo! M Terrain Plugin on Github: githu...
GDExtension for Android in Godot
Просмотров 1,2 тыс.8 месяцев назад
So this what you should do to create your shared c library in GDExtension for android devices, Most of the android devices has ARM 64 bit architecture, more than 90% of them, and in this tutorial I will show how to do that Godot Export for Android DOC page: docs.godotengine.org/en/stable/tutorials/export/exporting_for_android.html
Brush Masks for M Terrain plugin in Godot
Просмотров 6939 месяцев назад
Brush Masks for M Terrain plugin in Godot
Splatmap in M Terrain - Godot engine
Просмотров 1,7 тыс.10 месяцев назад
Splatmap in M Terrain - Godot engine
M Terrain Shader base concept - part 01
Просмотров 1,2 тыс.11 месяцев назад
M Terrain Shader base concept - part 01
Texture Painting on Terrain - Godot
Просмотров 4,6 тыс.11 месяцев назад
Texture Painting on Terrain - Godot
Type Casting Godot GDExtension c++ - part 13
Просмотров 1,7 тыс.Год назад
Type Casting Godot GDExtension c - part 13
M Terrain Navigation First release tutorial - Godot 4.1
Просмотров 2,2 тыс.Год назад
M Terrain Navigation First release tutorial - Godot 4.1
Paint Navigation Mesh on Terrain in Godot
Просмотров 1,3 тыс.Год назад
Paint Navigation Mesh on Terrain in Godot
M Terrain Navigation first Demo - Open Word Navigation handling for Godot
Просмотров 731Год назад
M Terrain Navigation first Demo - Open Word Navigation handling for Godot
Navigation mesh Open-world Terrain - First step Godot
Просмотров 1,3 тыс.Год назад
Navigation mesh Open-world Terrain - First step Godot
Terrain Forest Tutorial - Godot 4.1 Tree with Collision
Просмотров 3,5 тыс.Год назад
Terrain Forest Tutorial - Godot 4.1 Tree with Collision
Gteat work... Thank you..
This is absolutely amazing, this tool alone is adding an insane power to the Godot game engine, it’s better a while since I watched these videos and I might have forgotten some stuff, I just want to know if I can use my own grass, trees, rocks models with this tool, also the materials, textures and other stuff?
Off-course you can use your own grass! just create them for different level of detail and you are good to go! Also you need to understand the concept of the grass system! I made some video about them!
OMG, you save my project with this thanks!
Great!
Надеюсь у тебя большой запас мотивации, потому что делаешь невероятно крутую вещь. Этот инструмент единственный, который я осваиваю и пользуюсь им с удовольствием. Даже стандартные инструменты Terrain в Unity и Unreal Engine не приносили столько удовольствия в работе, как твое творение. 🫡
Thanks you very much! I am glad you like it!
you really should change the mpath icon
Hello Mohsen, I am very happy to see the current development status of M Terrain. I just want to know would it be expensive to generate roads at runtime based on the coordinates chosen by player and save the changes to the terrain? For example, Player created Village 1 at coordinate A, then Village 2 at coordinate B. We automatically generated a road between the two villages 1 and 2. Will this significantly increase the memory requirements of the hardware, or increase the size of the archive file?
As this working really fast in editor I believe you can use that also at run-time! The UI part of the road deformation is written in GDScript but the core functionality is done in c++! there is a class in c++ which is responsible for that! it is called MCurveTerrain, you just need to pass the ID of the connection with terrain, some setting and it will modify for you the terrain!
@@mohsenzare2511 That's great! I am very excited about it. As you mentioned several times in this video, we need to merge the layers at the end, if we were do this at runtime, we would probably need to save a heightmap of the world in each game save file to ensure that the preset height map is not destroyed, I'm just worried that would make the save files too large.
By the way when you save something on some layers! that will not duplicate the entire terrain Height-map! that will create a layer data only for the regions which is changed! For now you can do this! but I think we need to add compression algorithm which we did for heightmap to layers too! If you really decide to make a game which need this mechanic come and discuss about it! maybe we need to do some small modification! but I think it will be possible!
@@mohsenzare2511 Thanks for your help and invitation, the basic idea comes from classic strategy games, where players will explore natural resources → build facilities to develop → expand new trade roads between these settlements, but in an RPG game. I'd love to join the discussion, in a place suitable for long-form discussions, where should I go? where is our main discussion board now? Thank you!
Good job! I really like the non-destructible workflow, keep it going!
Thanks a lot!
Great work man, its just like you read your mind. This feature is exactly what i wanted.
Glad you liked it!
Hi , your terrain addon is so cool. It has so many features. But its not good for beginners and other works. Like you cant create a procedural geenrated world etc. I think you should work on making your terrain UI , features, code syntax etc more simpler instead of adding new features.
I totally agree. What users always want to do is create terrain with one click. I couldn't have done all this even by watching this video.
Functionality and ease of use are always a trade-off, you can't have both. I think this plugin is on its way and it can help people who are serious about developing games. The terrain generation function you mentioned can be done with many professional software, or by extending the art workstation of your choice. They often use node workflows, which is essentially a visual programming language, even the use case is very limited. Creating terrain in an art workstation will add some pipeline work. Mohsen has demonstrated how to make and import it use World Machine. If you use other software, you need to explore it yourself. In some opensource environments, you may need some plugins or do some adaptation extension work, such as Blender, because usually only complete commercial software will make complete industry adaptations in professional workflows. This is a rather tedious task and an important part of their commercial value. But if you only need to adapt to Godot, it is actually not that much work. Using a professional art workstation will always give you better results, while a one-stop solution will tie your hands and feet. This is the direction of development of the Unreal Engine that I am not optimistic about. It always tries to do things like DCC software. I don't understand why I need those functions in game engine. Using professional DCC tools is obviously more comfortable, richer and more powerful. Of course, some DCC functions of UE are well done, and it tries to make short-term profits in this regard. I think this is the main motivation. But the 3D art workstation is obviously a large enough feature library, and there is enough fierce competition in that field. Even in film and television workflows, the final composite step is often separated, and all the finished artworks are placed here for final processing, assembling and rendering. In addition, the game engine also has to complete very complex game logic, which is already troublesome enough. If it is mixed with the art workstation, it will be too large and complicated. This largeness and complexity are the current situation of the Unreal Engine.
You haven't answered about no man sky type of terrain 😢 are they possible?
I don't think so! For something like no man-sky you need to write from the base everything else! this terrain just works for traditional way of making terrain I mean by already existing height-map
@@mohsenzare2511 to be frank, the everything else is handling pole, using 3d noises and orientation for the tiles. That's not a lot
Your contributions to the community are just insane! Thanks for that awesome work!
My pleasure!
🎉🎉🎉
Add road 🛣️ height terrain ❤❤❤
looks really cool
I hope that video I sent you was helpful
Yeah that was helpful! thanks
Wow, this non-destructive workflow wasn't even something I knew I was missing from my life. Very cool. Thank you!
Great to hear!
@@mohsenzare2511 heyo fellow Godot dev are you an iranian (if yes then barikalla mohsen khube in plugin!)
Yeah I am Iranian, Thanks Man
Cool video :) Say, what if you have a depth value from a raymarching shader and want to write it to DEPTH? I understand that the value should be made non linear and mapped between 0 and 1 (with 1 for closest and 0 for furthest)
I found an approximation: DEPTH = 1.0 - (atan(d * multiplier) / (PI*0.5)); Where multiplier is some constant around 12.0 in my case. It's not precise enough to properly intersect with other geometry though... But it looks OK in some cases.
It doesn't work , in godot 4.4
in Godot 4.3 to forward some stuff in GDExtension has been changed! it will be corrected in the next release of Terrain! and even if you build terrain by yourself it will work
Hi! Would this work to generate terrain at runtime? Valheim type
great my iranian friend :)
I like your voice 😅
Now we have a high performance terrain without complexity,and thanks ❤
Thanks
Pretty cool addition to the plugin!
Glad you like it!
Wow! WAIT A MINUTE!!!! That's someone else talking, right? AI or voice actor, correct? Or did you improve your English??? Anyways, great video!
If you read the description, RossUnger is the designer of the plugin's UI. I'm pretty sure he's the one presenting this improvement.
@@fredericklebeault3467 Ohhhh ok
i am pondering for a longer time if i should somehow make godot-heightmap-terrain work with godot gardener. maybe i will not need to if i used this plugin instead. by which method is grass rendered (particles/multimesh), does it support lods and does the plugin provide collisions within the editor?
This use multimesh! It also support grass with collision for things like tree!
Ability to paint areas for the navigation where it's allowed or not allowed is very good tool to have. Great job on the terrain plugin and tools!
Thanks 👍
Superb, a great addition to an already excellent and long needed plugin. That's a lot of effort. Please keep the momentum going, this is going to be incredibly useful to the community.
Thanks, will do!
great work!
Thanks a lot!
As alllllllllllways, it's impressive !!
Thanks
wow this is incredible there is so much effort put into this i will definitely try it
yessss
Godot 4.3 Couldn't open MTL file 'res://addons/m_terrain/gui/human_male.mtl', it may not exist or not be readable.
That is not a big deal! I think Godot 4.3 can not import that mesh! does terrain works?
Explained, learned, works. Amazing, thank you!
Absolutely amazing and useful work. thank you very much.
Finally, I understand how local, world and view space work in shaders! Thank you!
Your welcome
This is awesome but how do you blend the strength of multiple normal map and assign to NORMAL_MAP_DEPTH?
3:40 could you elaborate on this further more? How to get this negative space inside a fogvolume, just put negative density and thats it? using the same shader? how so?
How do I learn Godot on a phone version3.5 pleaase😭
رفیق میگم میتونی یکم راهنمایی کنی؟ من دارم روی ی پلاگین کار میکنم و ب مشکل خوردم توی انجمن گودو مشکل بیان کردم ب نتیجه ای نرسیدم
Edit: Solved it by simply not rotating them at all, and instead alter their procedural shape generation (which was not included in the code for simplicity). Thank you for the video, great content. I've been struggling with this for a while. I wrote an simplified script (real script have complex shapes, this one has spheres). It creates spheres at random orientation. The rotate and rand functions are standards from godotshaders website. There is two problems; when rotating the spheres, the normals end up pointing in all different directions, not world aligned. And if I rotate the mesh itself, the normals also shift orientation. I know it's a big thing to ask for, but could you help? shader_type spatial; vec2 rotate(vec2 uv, vec2 pivot, float angle){ mat2 rotation = mat2(vec2(sin(angle), -cos(angle)), vec2(cos(angle), sin(angle))); uv -= pivot; uv = uv * rotation; uv += pivot; return uv; } // Function to generate a pseudo-random number based on input vector float rand(vec2 grid) { return fract(sin(dot(grid, vec2(12.9898, 78.233))) * 43758.5453); } vec3 getSphere(vec2 inUV) { // One random number per grid quad vec2 uvGrid = inUV * 2.0; vec2 gridCoords = trunc(uvGrid); float myrand = rand(gridCoords); // Rotate UV with random number vec2 rotated_uv = rotate(fract(uvGrid), vec2(0.5), myrand * TAU); // Create sphere vec2 uv = (rotated_uv * 2.0 - 1.0) * 1.2; float x = uv.x; float y = uv.y; float z = sqrt(1.0 - (x * x + y * y)); vec3 position = vec3(x, y, z); return normalize(position) * 0.5 + 0.5; // NORMAL } varying vec3 world_vert; void vertex() { world_vert = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; } void fragment() { vec2 uvGrid = world_vert.xz; vec3 sphere = getSphere(uvGrid); NORMAL_MAP = sphere; ALPHA = smoothstep(0.0,0.01,sphere.z); }
this is so beautiful 80
What about a mini planet ?
Will the terrain system work with planet?
What do you mean by planet?
@@mohsenzare2511 huge spherical body hanged in space like no man's sky 😅
Another great video
This is like a hidden gem
this is amazing just as I started looking for one!
Very good, I'm picking up a lot from these videos
omg this was way better then I expected! I had some question about width changes and flows. But you answered them by the end of the video. I will download the landscape plugin tonight and start messing around a bit
Awesome! Thank you!
man... your tutorials are unbeatable. They contain the right amount of technical depth. Not just how we do things, but why it works and what errors we would see without proper methods
Will there be Support for the C# Script API? So that like basically the Functions / Variables of the Terrain, Roadsystem and of the Octree ect... can be called also from the inside of an C# Scripts? Asking this because I prefer using C# over gdscript, but I love the Project so far ❤
I don't use C#, but I think this will work also with C#