In 2 months it became the most watched video on the channel, with 19,500 views. Then 4,875 people made it through the presentation part. 2,925 survived the Houdini fragment. Brave 1,462 of you watched until the end of tutorial. Whoa. There's a lot of us, tech-interested artists (just here), if you think of it!
I just discovered you video and am at the very beginning where you are talking about the different vertex colors an random number. I wanted to pause an congratualte you - that is very smart. I and going to go watch the rest now.
Im aspiring to be a Technical Artist and this is super helpful. While i dont understand this fully yet (specially the Houdini part) im really impressed by the quality of the lesson. Thanks a lot and keep it up!
Entagma. Rohan Dalvi. Houdini GDC Foundations (free short e-book). Tutorials section at SideFX.com. Tutorials for Game Dev Toolset (powerful plugin for games). Peter Quint on Vimeo. Varomix on YT. Wiki at tokeru.com/cgwiki/ Downloadable files from patreon.com/Farmfield. And when you're ready to invest money in a particular topic, buy Applied Houdini. Programming is well explained by Anastasia Opara in procedural buildings course. I'm sure there's more stuff coming every year than I can know about :) (Rebelway, Houdini in Games)
+hallugenetic Glad to be of help! File sharing is cool. I remember asking one archi-viz guru (I was 14 then) if he can give me his scene... And he sent it! that was priceless. btw. Could I know how did you find my channel?
Just checked my history, this was pure UA-cam randomness. I was watching "UE4 Survivor Vision - Marketplace Launch Trailer" your Stealth video appeared as suggestion. I watched this as well. Next day or two THIS video appeared as a suggestion and the thumbnail looked really NEAT! I enjoyed this one, downloaded your file, showed to my buddy =) And here I am, desperately waiting for your next videos :) I've seen musashidanmcgrath comment about saving memory in one of your videos and I was thinking, man this guy has some knowledge. Checked his channel and holy shit, I know his channel since 1 year!
I finally had time to watch your tutorial , as i was expected its one of the best tutorial about Procedural Buildings , and what makes me happy is that you share your project files :) as i am sure it took many days to prepare such tutorial .
8:38 Blueprint is not an object. Blueprints is the logic attached to objects. "Basic object" that could be spawned in world called Actor. Basically any object that exist in level is an Actor or it's descendant (like Pawn, Character or Static Mesh Actor). To be more precise it's an Instance of a class that descend from AActor class (UE4 uses Object Oriented Programming logic for it's elements). Great tutorial!
For sure! And the next thing I want to try, soon, is to make it artist-controllable. The goal would be to be able to create a district from various modules. Hiding the cheap tricks while allow for some manual control should make it possible?
@@TechArtAid Vertex Color already seems to be good enough for weathering effects which will make a massive difference on its own (I think). However, I wonder how would one go about making buildings which one could enter like in cyberpunk 2077
Try that. Especially find a clever way to set colors per entire building easily. For city of that scale, it's also important to plan for optimal LODs (and HLOD-kinda solutions)
Does it work for you? They're for 4.18 for compatibility, but I haven't tried on 4.21 or 22. In general, I'm trying to keep the videos concise. I'd rather use the time to explain the general idea. Then leave the details for personal exploration using the downloadable project.
@@TechArtAid Hadn't had a chance to test the material bit out yet. I will in a few hours maybe. Currently working in other areas. The mesh stacking works. I learned to make sure the loops are in series because if in parallel it will just make rows in either direction instead of cloning the previous row if that makes sense.
+hallugenetic Be sure to check Daniel's ArtStation too! He's so good at many aspects of CG art: the sculpts, diorama, enivronments too - www.artstation.com/artist/dannymcgrath
Your videos are always so informative and well produced. I love this subject of Tech Art and I'm learning so much thanks to people like you. Keep up the great work Oskar.
Great you like it, thanks :) I was worried first that the opacity mask would cause problems with lightmap baking. The same about world position offset. But fortunately Lightmass handles both perfectly
Great tutorial, I have a question about packing the maps though. How would I go about packing the base colour into the alpha channel in substance painter?
I think I didn't pack the base color. I rather added an Opacity channel ("op", in Texture Set settings). I used it to make the wall paint color invisible, basically replacing it later in the Unreal material. At least that's how I remember it - it's been several years since :)
@@TechArtAid Thanks for replying ! If you didn't pack the base colour then how does the air-conditioning unit etc still have colour? I should mask out the colour of the paint with the opacity channel? sorry if you cant remember, you've been great help thus far :D
Bro you are at god mode . I am serious . Thanks for the help . I apologize that being a student I had to download your project for free rather exploiting you of your well deserved money but I swear I will pay as soon as I start earning . I was worth a project more than minimum of 100 $ . I am really sorry about it .
+abraar bala Texture packing? It's done in Photoshop or Substance Painter, Designer. Or are you asking about vertex color? Houdini is optional here. You can do it in any 3D package.
thanks for reply and sorry for not being clear, yes i was talking about vertex painting; i use blender, is it possible in that software? if yes then i will have to go through your awesome tutorial few more times to understand it ;)
+abraar bala In Blender, in vertex paint mode, there's a setting on the horizontal toolbar to mask (select) faces. Then you can select them like normally (right click or 'L' key), choose the color in the shelf and fill them with Shift-K :)
You're welcome! In Houdini I only applied random vertex color. I modelled a single building module (mesh) in Blender, manually. You can see it at the beginning of the video. Then I instanced it directly in Unreal, using a simple Construction Script - techartaid.com/tutorials/good-looking-randomization-for-procedural-buildings/
Amazing video! subbed (enjoying the optimisng stuff too!) A small question, how would you do something like replacing just one of the ground level pieces with a different piece so a door/entrance area could be added? keep up the good work!
+Tech Art Aid no problem! :) hmm so i would assume i'd use a do once node to replace just one of the meshes rather than replacing them all with the door variant? going by this logic would there be a way of somehow choosing where to position this one unique piece e.g centering it between other pieces so i just have one door piece in the middle? sorry if im asking too much :p
+The Virtual Insomniac No need for a Do Once node in a construction script. This BP selects a different random mesh for the last floor: drive.google.com/file/d/0B3aZlreklH8wSlRzbFhpZkE1QWc/view
Great tutorial, but how do you make this work with instancing. I'm a bit new to blueprints so I don't really know how it works. I followed the version in the text tutorial linked in the description and got it working but I wanted to know how to reduce cost by using instancing.
Since UE 4.19, a form of instancing (dynamic batching) should apply automatically, as long as the modules use the same mesh and material (incl. parameter values). However, manual instancing should still be a tiny bit faster. See my Instancing video, about asteroids
@@TechArtAid Thank you for the reply. I tested out your blueprint and found that it was generating a lot of draw calls for me, but I managed to find another tutorial to create the instances using hierarchical instanced static meshes which produced a lot fewer draw calls (around 30 compared to 200 with each being a grid of 16x16 chamfered cubes). I didn't use the building façade you provided, I was just testing draw calls and performance so I just used the chamfered cube that comes with UE4. I'm not sure if I've done something wrong, and the automatic instancing isn't working for some reason or it's something else. My problem is okay at the moment since I got my instanced meshed working in another blueprint, however I would still like to know more about the automatic instancing, since I can't find that much about it.
I found this thread. Especially replies by the user 'pdunkl' sound interesting: forums.unrealengine.com/community/general-discussion/1670524-what-about-auto-instancing
Simply amazing! Thank you so much for this tutorial. Good stuff. I was wondering about ISMs, so I was happy when you adressed that later on, and what their drawbacks are. May I ask how much time you spent on creating the mesh/textures/magic material approximatly? Also I'm browsing through the Houdini page and am somewhat confused by the licences... So there is a free "Apprentice" version, which seems to be too limiting to use even in non-commercial projects. Then there is the Indie licence which has the "Engine" for free and "FX" for $199 annual. Which one would I need to get the functionality shown in the video? Since I assume I won't get away with the free version - I should be able to create the masks manualy in Blender too, right? It's quite a bit more work, but it's not obligatory to use Houdini, am I correct?
+Creep I'm glad you liked it and that I didn't miss out these ISM questions! The mesh + tex took me around 36 hours total (Blender + Substance Painter, using a lot of materials from Substance Share). The shader and tutorial were next 25 hours. I quit my job and for the first time worked on a tutorial from home. This helped immensely in keeping head clear for problem solving and learning SP 2. Houdini: Apprentice has all features, but no export. It's purely for learning. But it's not time limited, which is awesome. Indie is the FX but 10x cheaper :) so it's the version you should pick up for personal projects or indie (< $100k). Then, for companies, Houdini (basic, formerly called Escape) is cheaper than Houdini FX and has all modelling/animation/rendering tools. It lacks VFX solvers (fire, smoke, destruction). Unless you need to simulate stuff, it's a good choice.
+Creep And yes, initially I set the vertex masks in Blender :) But it was so hard to change the values later in specific channels. That's what inspired me to show the Houdini way
Sorry to hear that you quit your job but may be its for the best and to find better team/company . with your knowledge you can make your own small indie game in 4/5 months if i was you i will give it a shoot .
+N nOni Thanks for the support. Since that time I found a job at Tate Multimedia, as an environment artist for a UE4 game :) I started a week ago - so far it's demanding (from painting skills to tech stuff) and the team is great! Good indies rarely take less than a year. But yeah, I'll be able to pull it off together with a friend-game designer and others. It's just... stability, mostly, that makes me prefer studio at this moment. Not as in safety, because publishers exist, but having too much on my head.
Glade to hear that , one of the reason i suggested to make indie game is to test your knowledge and see what you can pull off by yourself .every developer have his dream of making his own game one day . i have a job take a lot of my time and its not game development related but i try to work on my game in my free team in weekend and hopefully one day i can finish it even if people don't like it :)
Would you mind explain how to add other props to the procedural generation and how to change the material to include those props as well ,thanks for the help !
Add new variables for a static mesh and a material instance. Then you have 2 option. First is to add a Branch node with some condition, which will lead two different Set Static Mesh nodes on the generated static mesh component (or set a common variable, if you want to do it a clever way). Second option would be to just duplicate the entire node setup (you can pack into into a function first, to reduce clutter) and provide a different mesh. I hope it helps.
Yeah... I can not find the textures but don't worry, I made my own models :) I also readed in the 'read me' file that you will include the textures in the future so...
Okay, I check and the files are there (in RandomizingInstances folder). If you need Substance Painter and Blender files as well, I can share them, but they are ~1.5 GB :)
Could you please explain how to make this fabulous image for texture (the "packing" roughness-red, albdo-green...) in Gimp ? Pleeeeease :) I can't find any tutorial about that
+mlig mlig I'd like to, but I haven't used Gimp for... whoa, 10 years? It doesn't have an option to set a layer affect only one of the channels, right? So there's a workaround (at least several of them). Make a new layer above that's fully blue, set its blending mode to Multiply and merge those two. Repeat for red and green. Then create a document which has black background and all the 3 layers set to blending mode of Additive (Linear dodge in photoshop). Here's the same method in photoshop: oskarswierad.com/public/techartaid/RGB_Texture_Packing.png
huh! Yes, indeed a long time ago. I've finally found a tuto (alphaeridani.wordpress.com/2011/10/17/optimisting-textures-using-gimp/). Thanks for your sketch explanations picture!
Thank you for the tutorial. You've pointed me in the right direction and this will help a lot. However, the static mesh overlaps when adding to the segments. Is there a way to move a new segment over more to one side so that they don't overlap?
Yes. You need to increase that component's location by width of the mesh, multiplied by the number of segments so far. Usually you'll use For loop's iteration index for that. You can get the project files on techartaid.com. Folder name for that example is RandomizingInstances
this is incredible... I have to learn Unreal! what pc specs do you run? what do you think is the minimum spec I need to work easily in Unreal but without paying 2k euro? :)
+sensemille I'd *guess* 4 cores, 16 GB of RAM, GTX 760 and an SSD are the minimum. Less cores will slow down lightmap and shaders baking, less RAM can lead to crashes when there's a spike of usage and SSD is because of a ton of file operations and compilation of shaders/code. Lower GPU should be possible.
Sure! Randomize the colors, the parametrs. Also the results will be much better if you use several different models. Choose between them based on some rules, like in Oskar Stålberg's Townscraper.
Hi oskar again, I ask you a question, is it possible to put that actor of the building a base that is static and a terrace also static and in the middle to make the floor variables?
I'm trying but it does not work, only the mesh appears in the middle, I leave an image so you can see what I did, probably this bad, also try to put "add static mesh" but I do not know where to connect it, sorry if I get tired of it questions. oi67.tinypic.com/xom74k.jpg
+Веня Головин It depends. Generally less meshes = better (less draw calls), but more meshes are better for occlusion culling (objects outside of view or behind other objects are automatically hidden for performance)
Cool! thanks. But I do not use the occlusion culling, because It does not work very well (objects do not always have time to appear, even if I use hzbocclusion). So now I probably need larger Meshes to improve performance (1 floor maybe).
I have a question: I got a building made out of 11 modular pieces, so when I place each peace individually to create a building, and even duplicate the whole building, I get pure 120 fps, but when I place 2 same buildings, but made from blueprints like this, I get around 70, and there are just 2 buildings in the scene, nothing else. So, am I doing something wrong or this blueprint method sacrifices performance for ease of use? Thanks for the tutorial though!
Yes, it sacrifices performance a bit, but it's still reasonable. If you have many buildings, it would be actually better to use this method for prototyping, then recreate in (or export static meshes to) a 3D editing software. Try this and tell me what changes the most when you add these buildings: ua-cam.com/video/SXLYy6D1y80/v-deo.html
Thank you very much for this oskar tutorial, I wanted to do it a lot ago and today I was encouraged and it came out, but on the other hand, in the "Construscion Script" section I have everything equal to your video but it does not let me put "Segment Numbers", no I know if it will be the pivot of the mesh or something, I do not know what to do.
Not yet I could not download it, now I'm going to sleep but tomorrow I continue with the tutorial and I tell you how it was, I have version 4.17.2 Thank you very much for answering my message :)
Hi oskar again, I ask you a question, is it possible to put that actor of the building a base that is static and a terrace also static and in the middle to make the floor variables?
Is there a reason you didn't do all of this in houdini? I bet it would be easier than working with blueprints. I'm not sure how I would go about linking materials in ue4 to the .hda though.
+Giuliano Costa The blueprint setup here is very easy, just several nodes. But if I needed a more complex generator, then you're right that Houdini will allow for more options
please forgive my complete ignorance on this. I just heard of unreal engine 4 and basically that is all I know about it. I have a passion in 3d graphic design and I've been using sketch up a lot in the last years. But I think it is very limited. Would you advise my to start using this program and is it possible to use it to build 3d graphics to all people or do you have to be an official developer. I know these are probably silly questions for you but it would help me a lot since I'm completely ignorant on the subject. Thanks for the time.
+Clinton Jason Dubai Unreal is a game engine. You have to get the art from somewhere. You can build scenes out of paid Marketplace assets. Or learn a 3D tool more game-suited than sketchup: Blender, Maya, Modo or Max. I use Blender. I'd recommend getting a book that walks you through the very basics. Don't try to assemble knowledge before you get solid basics teaching, because you can get really confused. UE is hard, as is any game engine, because of the sheer amount of domains it combines: levels, lighting, sound, animation, gameplay (interactivity) programming, VR, omg. Before you begin, think what you want to do with it :)
Oskar Świerad Thanx a lot for that! I knew it sounded awesome but at the same time very complex. However, never to late to learn something new lol OK so I thought you could use it to build 3d stuff and then work with that design. Didn't know you needed other things like Blender to begin. So it's even more complex than I thought (but it did look way too accurate and awesome to be easier than I thought). Ok Thanx for that. I wish there was something simple to build 3d designs which would be far more complex than sketch up (I mean it's good but it looks kinda cartoonish and it certainly doesn't allow you to move around in it like you would in a video game). Is there anything you would suggest (since I'm sure by know you know waaay more than me lol) for someone who would like to build constructions, buildings, vehicles in 3d and even be able to operate them like make them move or add mechanisms, but with better graphics than sketch up, that could look like a video game? Don't really mean to play with it (I mean who knows) but to design something that is very realistic without having to learn a million things and put everything together. Maybe you have a few solutions that I'm not aware of. Again Thanx a lot. :)
When using a per instance random, it offsets the blue sections of the mesh so they are twice as far away as where they are meant to be. How would I go about fixing this?
+PanzerHeini 1 UV set for textures and 1 for lightmap. So both the damaged and the clean texture use the same UVs. You can find the static mesh in the Gumroad package, in RandomizingInstances/Model/ :)
Stopped unfortunately... The scope was too big for what I could do. I'll include Houdini in other tutorials (e.g. destructible walls) and meanwhile I'm working on fire propagation
The single building module (as visible at 3:40) was modelled by me in Blender and textured in Substance Painter. The method I show here is to clone this module horizontally and vertically, then do various randomizations just in the material. It's possible by mixing 2 texture sets, utilizing pixel's world coordinates etc. I don't know about 3DS Max, but it should be doable in Slate Material Editor.
3ds Max 2016 introduced node based scripting, through their "Max Creation Graph". Vertex painting (what is used in this tutorial), has been in Max for ages though :P
Create a variable Last Height. In the For loop create the mesh, move it in Z axis to this variable's value, then increment the variable by the height of the currently added segment. The next mesh will already know this new last position.
@@TechArtAid oh ok, i need 2-3 more of this modular buildings, just different look, 50-100€ ? if you find time hit me up here, sad to hear bro. have nice day
In 2 months it became the most watched video on the channel, with 19,500 views. Then 4,875 people made it through the presentation part. 2,925 survived the Houdini fragment. Brave 1,462 of you watched until the end of tutorial. Whoa. There's a lot of us, tech-interested artists (just here), if you think of it!
Tech Art Aid we love you for doing this. Please continue these kind of videos.
Thanks for encouraging me. I hope to release a new one tomorrow, about GPU profiling (measuring what slows performance down in a scene).
this will be very useful for me right now, looking forward to seeing it - Subbed!
Tech Art Aid I'm just watching because it looks cool. I don't really care about the tech side of it.
Hi can you please tell me if i can use blender and unreal engine to achieve the same results?
WOW ! I love it and I can hardly believe you posted it for free
...
WOW
+Ted Zards 😊
I just discovered you video and am at the very beginning where you are talking about the different vertex colors an random number. I wanted to pause an congratualte you - that is very smart. I and going to go watch the rest now.
Im aspiring to be a Technical Artist and this is super helpful. While i dont understand this fully yet (specially the Houdini part) im really impressed by the quality of the lesson. Thanks a lot and keep it up!
Thanks for the kind words! Houdini is optional, but a lot of technical tasks are easier if you know it
@@TechArtAid I plan to learn houdini but few people teach it online. Do you recommend someone in particular?
Entagma. Rohan Dalvi. Houdini GDC Foundations (free short e-book). Tutorials section at SideFX.com. Tutorials for Game Dev Toolset (powerful plugin for games). Peter Quint on Vimeo. Varomix on YT. Wiki at tokeru.com/cgwiki/ Downloadable files from patreon.com/Farmfield. And when you're ready to invest money in a particular topic, buy Applied Houdini. Programming is well explained by Anastasia Opara in procedural buildings course. I'm sure there's more stuff coming every year than I can know about :) (Rebelway, Houdini in Games)
@@TechArtAid wow this is very useful! ill look into everything. Thanks a lot!
this is mindblowing! thx for the video and for the project file mate. you rock!
+hallugenetic Glad to be of help! File sharing is cool. I remember asking one archi-viz guru (I was 14 then) if he can give me his scene... And he sent it! that was priceless. btw. Could I know how did you find my channel?
Just checked my history, this was pure UA-cam randomness. I was watching "UE4 Survivor Vision - Marketplace Launch Trailer" your Stealth video appeared as suggestion. I watched this as well. Next day or two THIS video appeared as a suggestion and the thumbnail looked really NEAT! I enjoyed this one, downloaded your file, showed to my buddy =) And here I am, desperately waiting for your next videos :)
I've seen musashidanmcgrath comment about saving memory in one of your videos and I was thinking, man this guy has some knowledge. Checked his channel and holy shit, I know his channel since 1 year!
+hallugenetic Okay, thanks. Nice youtube trip:)
I finally had time to watch your tutorial , as i was expected its one of the best tutorial about Procedural Buildings , and what makes me happy is that you share your project files :) as i am sure it took many days to prepare such tutorial .
Play with the files, do something great ;] In the folder there are also 2 meshes of canopies to place over windows, which I didn't use in the video
Sure i will :)
8:38 Blueprint is not an object. Blueprints is the logic attached to objects. "Basic object" that could be spawned in world called Actor. Basically any object that exist in level is an Actor or it's descendant (like Pawn, Character or Static Mesh Actor). To be more precise it's an Instance of a class that descend from AActor class (UE4 uses Object Oriented Programming logic for it's elements).
Great tutorial!
+Sedokun Right, that's a proper explanation. Thanks for the correction
Interesting approach. Using instanced meshes while adding fair amount of randomness could really have a massive gain in terms of performance
For sure! And the next thing I want to try, soon, is to make it artist-controllable. The goal would be to be able to create a district from various modules. Hiding the cheap tricks while allow for some manual control should make it possible?
@@TechArtAid Vertex Color already seems to be good enough for weathering effects which will make a massive difference on its own (I think).
However, I wonder how would one go about making buildings which one could enter like in cyberpunk 2077
Try that. Especially find a clever way to set colors per entire building easily. For city of that scale, it's also important to plan for optimal LODs (and HLOD-kinda solutions)
@@TechArtAid well I was considerijg it but apparently it would be redundant by the time ue5 comes out
Incredible work, thank you so much for sharing your skills, this takes a lot of knowledge and understanding of technical artistry
Thanks, glad to hear it's still inspiring!
Glad you provided the download. I could not keep up with the material side of things.
Does it work for you? They're for 4.18 for compatibility, but I haven't tried on 4.21 or 22. In general, I'm trying to keep the videos concise. I'd rather use the time to explain the general idea. Then leave the details for personal exploration using the downloadable project.
@@TechArtAid Hadn't had a chance to test the material bit out yet. I will in a few hours maybe. Currently working in other areas. The mesh stacking works. I learned to make sure the loops are in series because if in parallel it will just make rows in either direction instead of cloning the previous row if that makes sense.
This is very, very impressive. Thanks for sharing, mate.
+musashidanmcgrath Thanks! and again for your texture packing comment. I included this info in this video
You're welcome, mate. Looking forward to more videos from you.
you both are awesome. I hope to see more videos from both of you. Thx guys!
+hallugenetic Be sure to check Daniel's ArtStation too! He's so good at many aspects of CG art: the sculpts, diorama, enivronments too - www.artstation.com/artist/dannymcgrath
thx, following him now!
Your videos are always so informative and well produced. I love this subject of Tech Art and I'm learning so much thanks to people like you. Keep up the great work Oskar.
+James Field I'm so glad to hear that. It's an inspiring field indeed! Good luck
I will be sharing your resources with all my students as we explore further just what can be done with real-time 3D....
Awesome tutorial! Thanks so much for sharing :)
Nice trick for hiding the objects :) Good job, thanks for sharing
Great you like it, thanks :) I was worried first that the opacity mask would cause problems with lightmap baking. The same about world position offset. But fortunately Lightmass handles both perfectly
At 13:21 is Z but in 13:33 is X, one part of the video seems to be missing ;D
amazing tutorial! thanks a lot for sharing your knowledge
Very nice tutorial, thanks!
in need a technical artist in my life
Very impressive work!
It is very useful! I just need it for my project! Thank you so much for sharing!!!
Wow! I'm going to learn a lot from this. Thanks for sharing!
+Filip Tarczewski Dzięki Filip!
damn tech art is dope
Best place in game dev :D
amazing work
amazing work im so glad i found your channel.
+Get Rekt I'm happy to hear it'a helpful. Cheers
superb art and technicals too :)
+David O'Connor Thanks!
this is so cool!!! nice job
Pure Gold!
nice!!! looks great!!
very perfect ..... thanks for your time
Thank you so much!Love your tutorial❤
Po Twoim akcencie od razu słychać, że Polak !!! ;)
+Jakub Fularski Heh :) no nie da się ukryć. Sam to słyszę i kiedyś coś z tym zrobię
Nie rób i bądź dumny z tego facet !!! ;)
выдает акцент вас, сударь! ну и постройки)
Great tutorial, I have a question about packing the maps though. How would I go about packing the base colour into the alpha channel in substance painter?
I think I didn't pack the base color. I rather added an Opacity channel ("op", in Texture Set settings). I used it to make the wall paint color invisible, basically replacing it later in the Unreal material. At least that's how I remember it - it's been several years since :)
@@TechArtAid Thanks for replying ! If you didn't pack the base colour then how does the air-conditioning unit etc still have colour? I should mask out the colour of the paint with the opacity channel? sorry if you cant remember, you've been great help thus far :D
Yup! See how the alpha looks like in project files. There's no Substance file there, only Unreal, but it should be a good enough hint
@@TechArtAid Ill have to wait to get paid before I buy them but thanks again ! Much appreciated :D
Here's how to pack 3 textures into 1 RGB texture (as at #14:45)
80.lv/articles/easy-way-to-pack-textures-into-rgb-channels/
Bro you are at god mode . I am serious . Thanks for the help . I apologize that being a student I had to download your project for free rather exploiting you of your well deserved money but I swear I will pay as soon as I start earning . I was worth a project more than minimum of 100 $ . I am really sorry about it .
Tech Art Aid can i use any other software than houdini to perform the same task?
+abraar bala Texture packing? It's done in Photoshop or Substance Painter, Designer. Or are you asking about vertex color? Houdini is optional here. You can do it in any 3D package.
thanks for reply and sorry for not being clear, yes i was talking about vertex painting; i use blender, is it possible in that software? if yes then i will have to go through your awesome tutorial few more times to understand it ;)
+abraar bala In Blender, in vertex paint mode, there's a setting on the horizontal toolbar to mask (select) faces. Then you can select them like normally (right click or 'L' key), choose the color in the shelf and fill them with Shift-K :)
you change my life thnksss ♥
WoooooW that so Cooool !!!
Your videos are so amazing, well explained, great teaching material. Are you planning to upload more videos?
+Zloty Dzięki! Yes, I plan to record constantly. Next will be a series about lighting optimization, profiling (measuring performance like a pro).
Oh my god it's just what I was searching for!! You know I have a forest and the shadows are destroying my PC!
I'll stay tuned :D
hi
Thank you for great Tutorial.
I want to know ,how did you modeled this Building in Hoodini ,in a procedurally way
You're welcome! In Houdini I only applied random vertex color. I modelled a single building module (mesh) in Blender, manually. You can see it at the beginning of the video. Then I instanced it directly in Unreal, using a simple Construction Script - techartaid.com/tutorials/good-looking-randomization-for-procedural-buildings/
14:25 So this is our "Material"
Amazing video! subbed (enjoying the optimisng stuff too!)
A small question, how would you do something like replacing just one of the ground level pieces with a different piece so a door/entrance area could be added?
keep up the good work!
+The Virtual Insomniac Thanks for subbing! I'd use a Branch node to check if current loop index equals 0. If true, then I'd use a different mesh
+Tech Art Aid no problem! :)
hmm so i would assume i'd use a do once node to replace just one of the meshes rather than replacing them all with the door variant?
going by this logic would there be a way of somehow choosing where to position this one unique piece e.g centering it between other pieces so i just have one door piece in the middle? sorry if im asking too much :p
+The Virtual Insomniac No need for a Do Once node in a construction script. This BP selects a different random mesh for the last floor: drive.google.com/file/d/0B3aZlreklH8wSlRzbFhpZkE1QWc/view
this is genius
Great tutorial, but how do you make this work with instancing. I'm a bit new to blueprints so I don't really know how it works. I followed the version in the text tutorial linked in the description and got it working but I wanted to know how to reduce cost by using instancing.
Since UE 4.19, a form of instancing (dynamic batching) should apply automatically, as long as the modules use the same mesh and material (incl. parameter values). However, manual instancing should still be a tiny bit faster. See my Instancing video, about asteroids
@@TechArtAid Thank you for the reply. I tested out your blueprint and found that it was generating a lot of draw calls for me, but I managed to find another tutorial to create the instances using hierarchical instanced static meshes which produced a lot fewer draw calls (around 30 compared to 200 with each being a grid of 16x16 chamfered cubes). I didn't use the building façade you provided, I was just testing draw calls and performance so I just used the chamfered cube that comes with UE4. I'm not sure if I've done something wrong, and the automatic instancing isn't working for some reason or it's something else.
My problem is okay at the moment since I got my instanced meshed working in another blueprint, however I would still like to know more about the automatic instancing, since I can't find that much about it.
I found this thread. Especially replies by the user 'pdunkl' sound interesting: forums.unrealengine.com/community/general-discussion/1670524-what-about-auto-instancing
If i want to change the last mesh with another tipe, how can i do?
can you tell from starting how you crated the buliding with all assests in the link please
I can only imagine how much this adds to the GPU load. =D
Not that much tbh :) Less than typical multi-layered texturing solutions I've seen
Simply amazing! Thank you so much for this tutorial. Good stuff. I was wondering about ISMs, so I was happy when you adressed that later on, and what their drawbacks are.
May I ask how much time you spent on creating the mesh/textures/magic material approximatly?
Also I'm browsing through the Houdini page and am somewhat confused by the licences... So there is a free "Apprentice" version, which seems to be too limiting to use even in non-commercial projects. Then there is the Indie licence which has the "Engine" for free and "FX" for $199 annual. Which one would I need to get the functionality shown in the video? Since I assume I won't get away with the free version - I should be able to create the masks manualy in Blender too, right? It's quite a bit more work, but it's not obligatory to use Houdini, am I correct?
+Creep I'm glad you liked it and that I didn't miss out these ISM questions!
The mesh + tex took me around 36 hours total (Blender + Substance Painter, using a lot of materials from Substance Share). The shader and tutorial were next 25 hours. I quit my job and for the first time worked on a tutorial from home. This helped immensely in keeping head clear for problem solving and learning SP 2.
Houdini: Apprentice has all features, but no export. It's purely for learning. But it's not time limited, which is awesome. Indie is the FX but 10x cheaper :) so it's the version you should pick up for personal projects or indie (< $100k). Then, for companies, Houdini (basic, formerly called Escape) is cheaper than Houdini FX and has all modelling/animation/rendering tools. It lacks VFX solvers (fire, smoke, destruction). Unless you need to simulate stuff, it's a good choice.
+Creep And yes, initially I set the vertex masks in Blender :) But it was so hard to change the values later in specific channels. That's what inspired me to show the Houdini way
Sorry to hear that you quit your job but may be its for the best and to find better team/company . with your knowledge you can make your own small indie game in 4/5 months if i was you i will give it a shoot .
+N nOni Thanks for the support. Since that time I found a job at Tate Multimedia, as an environment artist for a UE4 game :) I started a week ago - so far it's demanding (from painting skills to tech stuff) and the team is great!
Good indies rarely take less than a year. But yeah, I'll be able to pull it off together with a friend-game designer and others. It's just... stability, mostly, that makes me prefer studio at this moment. Not as in safety, because publishers exist, but having too much on my head.
Glade to hear that , one of the reason i suggested to make indie game is to test your knowledge and see what you can pull off by yourself .every developer have his dream of making his own game one day . i have a job take a lot of my time and its not game development related but i try to work on my game in my free team in weekend and hopefully one day i can finish it even if people don't like it :)
Would you mind explain how to add other props to the procedural generation and how to change the material to include those props as well ,thanks for the help !
Add new variables for a static mesh and a material instance. Then you have 2 option. First is to add a Branch node with some condition, which will lead two different Set Static Mesh nodes on the generated static mesh component (or set a common variable, if you want to do it a clever way). Second option would be to just duplicate the entire node setup (you can pack into into a function first, to reduce clutter) and provide a different mesh. I hope it helps.
Thanks ill give it a try and i look forward to your next tutorial!
Great work ! Could all of this be done with a Houdini assets, instead of doing it via blueprint (The placement and copy part) ?
Awesome, practical approach of using Houdini together with Unreal! Especially relevant with H16 around the corner :)
Man thank you so much
My pleasure! Did you asked something about the files? I can't find the comment.
Yeah... I can not find the textures but don't worry, I made my own models :)
I also readed in the 'read me' file that you will include the textures in the future so...
Do you have them in Content\TechArtAid\RandomizingInstances\Textures\Block ? imgur.com/a/tBsMJ
Thank you btw :D
Okay, I check and the files are there (in RandomizingInstances folder). If you need Substance Painter and Blender files as well, I can share them, but they are ~1.5 GB :)
hey man biggg fan of ur work here
could u do realistic exterior tut
You are awesome :)
+MikolajF Happy birthday Mikołaj :)
:D thank you
Great
Could you please explain how to make this fabulous image for texture (the "packing" roughness-red, albdo-green...) in Gimp ? Pleeeeease :) I can't find any tutorial about that
+mlig mlig I'd like to, but I haven't used Gimp for... whoa, 10 years? It doesn't have an option to set a layer affect only one of the channels, right? So there's a workaround (at least several of them). Make a new layer above that's fully blue, set its blending mode to Multiply and merge those two. Repeat for red and green. Then create a document which has black background and all the 3 layers set to blending mode of Additive (Linear dodge in photoshop).
Here's the same method in photoshop:
oskarswierad.com/public/techartaid/RGB_Texture_Packing.png
huh! Yes, indeed a long time ago. I've finally found a tuto (alphaeridani.wordpress.com/2011/10/17/optimisting-textures-using-gimp/).
Thanks for your sketch explanations picture!
Shiit im recentily learning materiales, this is to insane to me, goodbay i will come back later
Thank you for the tutorial. You've pointed me in the right direction and this will help a lot.
However, the static mesh overlaps when adding to the segments.
Is there a way to move a new segment over more to one side so that they don't overlap?
Yes. You need to increase that component's location by width of the mesh, multiplied by the number of segments so far. Usually you'll use For loop's iteration index for that. You can get the project files on techartaid.com. Folder name for that example is RandomizingInstances
this is incredible... I have to learn Unreal!
what pc specs do you run? what do you think is the minimum spec I need to work easily in Unreal but without paying 2k euro? :)
+sensemille I'd *guess* 4 cores, 16 GB of RAM, GTX 760 and an SSD are the minimum. Less cores will slow down lightmap and shaders baking, less RAM can lead to crashes when there's a spike of usage and SSD is because of a ton of file operations and compilation of shaders/code. Lower GPU should be possible.
Thank you for the info! :D I will be starting to try and recreate your tutorials soon. Keep up the great work!
My jaw has fallen. I feel like "Teach meeeeee" in Doctor Strange.
Could this generate a few hundred buildings with mixed variation in few minutes?
Sure! Randomize the colors, the parametrs. Also the results will be much better if you use several different models. Choose between them based on some rules, like in Oskar Stålberg's Townscraper.
Hi oskar again, I ask you a question, is it possible to put that actor of the building a base that is static and a terrace also static and in the middle to make the floor variables?
Hard to imagine the case, sorry :) I think yes, just add a single static mesh component on top and bottem
I'm trying but it does not work, only the mesh appears in the middle, I leave an image so you can see what I did, probably this bad, also try to put "add static mesh" but I do not know where to connect it, sorry if I get tired of it questions. oi67.tinypic.com/xom74k.jpg
Hi, its very cool. Thanks!
But what if I make 1 Mesh per floor? Will this increase performance when using instance meshes, for example?
+Веня Головин It depends. Generally less meshes = better (less draw calls), but more meshes are better for occlusion culling (objects outside of view or behind other objects are automatically hidden for performance)
Cool! thanks. But I do not use the occlusion culling, because It does not work very well (objects do not always have time to appear, even if I use hzbocclusion). So now I probably need larger Meshes to improve performance (1 floor maybe).
I have a question: I got a building made out of 11 modular pieces, so when I place each peace individually to create a building, and even duplicate the whole building, I get pure 120 fps, but when I place 2 same buildings, but made from blueprints like this, I get around 70, and there are just 2 buildings in the scene, nothing else. So, am I doing something wrong or this blueprint method sacrifices performance for ease of use? Thanks for the tutorial though!
Yes, it sacrifices performance a bit, but it's still reasonable. If you have many buildings, it would be actually better to use this method for prototyping, then recreate in (or export static meshes to) a 3D editing software. Try this and tell me what changes the most when you add these buildings:
ua-cam.com/video/SXLYy6D1y80/v-deo.html
Thank you very much for this oskar tutorial, I wanted to do it a lot ago and today I was encouraged and it came out, but on the other hand, in the "Construscion Script" section I have everything equal to your video but it does not let me put "Segment Numbers", no I know if it will be the pivot of the mesh or something, I do not know what to do.
Hi Sebastian. Have you downloaded the files? Link is in the description. Do they work on your version of Unreal?
Not yet I could not download it, now I'm going to sleep but tomorrow I continue with the tutorial and I tell you how it was, I have version 4.17.2 Thank you very much for answering my message :)
Hi oskar again, I ask you a question, is it possible to put that actor of the building a base that is static and a terrace also static and in the middle to make the floor variables?
When i follow the blueprint there is a gap between each floor, why?
Cooool man. how did you make that building textures
+cj c They were made in Substance Painter. The clean version is the 'base', while the damaged one has just more layers turned on
thank for your answer
Is there a reason you didn't do all of this in houdini? I bet it would be easier than working with blueprints. I'm not sure how I would go about linking materials in ue4 to the .hda though.
+Giuliano Costa The blueprint setup here is very easy, just several nodes. But if I needed a more complex generator, then you're right that Houdini will allow for more options
Kk gotcha. I am looking forward to your houdini tut (:
Is there a way to do the vertex color process for those without houdini?
Sure. You can paint the vertex color in any software. Even in Unreal
Your videos are awesome, very helpful! :D Sub
+MrAhiiia Thanks for subscribing :)
please forgive my complete ignorance on this. I just heard of unreal engine 4 and basically that is all I know about it. I have a passion in 3d graphic design and I've been using sketch up a lot in the last years. But I think it is very limited. Would you advise my to start using this program and is it possible to use it to build 3d graphics to all people or do you have to be an official developer. I know these are probably silly questions for you but it would help me a lot since I'm completely ignorant on the subject. Thanks for the time.
+Clinton Jason Dubai Unreal is a game engine. You have to get the art from somewhere. You can build scenes out of paid Marketplace assets. Or learn a 3D tool more game-suited than sketchup: Blender, Maya, Modo or Max. I use Blender. I'd recommend getting a book that walks you through the very basics. Don't try to assemble knowledge before you get solid basics teaching, because you can get really confused. UE is hard, as is any game engine, because of the sheer amount of domains it combines: levels, lighting, sound, animation, gameplay (interactivity) programming, VR, omg. Before you begin, think what you want to do with it :)
Oskar Świerad
Thanx a lot for that! I knew it sounded awesome but at the same time very complex. However, never to late to learn something new lol
OK so I thought you could use it to build 3d stuff and then work with that design. Didn't know you needed other things like Blender to begin. So it's even more complex than I thought (but it did look way too accurate and awesome to be easier than I thought). Ok Thanx for that.
I wish there was something simple to build 3d designs which would be far more complex than sketch up (I mean it's good but it looks kinda cartoonish and it certainly doesn't allow you to move around in it like you would in a video game).
Is there anything you would suggest (since I'm sure by know you know waaay more than me lol) for someone who would like to build constructions, buildings, vehicles in 3d and even be able to operate them like make them move or add mechanisms, but with better graphics than sketch up, that could look like a video game? Don't really mean to play with it (I mean who knows) but to design something that is very realistic without having to learn a million things and put everything together. Maybe you have a few solutions that I'm not aware of.
Again Thanx a lot. :)
When using a per instance random, it offsets the blue sections of the mesh so they are twice as far away as where they are meant to be. How would I go about fixing this?
+Outer Veil Could you post a screenshot of this part of the graph? Or I'll have access to my PC tomorrow
So he didn’t purchase this building on the UE4 marketplace?
"Requires valid texture" is the error message on the material used in this blueprint can someone tell me what am i doing wrong?
Your material must be invalid
Did you use 2 UV sets for the base texture and one of the cracks?
+PanzerHeini 1 UV set for textures and 1 for lightmap. So both the damaged and the clean texture use the same UVs. You can find the static mesh in the Gumroad package, in RandomizingInstances/Model/ :)
WTH! THAT SOUNDS LIKE MY DOCTOR, DOCTOR WANG
Hi, can you reupload the project file?
techartaid.gumroad.com/l/project-files
And where is the Houdini tutorial?
Stopped unfortunately... The scope was too big for what I could do. I'll include Houdini in other tutorials (e.g. destructible walls) and meanwhile I'm working on fire propagation
you can't imagine my confusion from seeing a typical Russian building over English narration
I live in Poland and that style is not so far from what we have here either :p The 70s-80s were a boom in (a cheap yet efficient) construction
I want to modify what's inside! 😭😭😭
Is there such a thing for 3ds max?
Which one?
"Good-Looking Randomization for Procedural Buildings". This looks like awesome high poly modeling, I only found some low poly generation for 3ds max.
The single building module (as visible at 3:40) was modelled by me in Blender and textured in Substance Painter. The method I show here is to clone this module horizontally and vertically, then do various randomizations just in the material. It's possible by mixing 2 texture sets, utilizing pixel's world coordinates etc. I don't know about 3DS Max, but it should be doable in Slate Material Editor.
3ds Max 2016 introduced node based scripting, through their "Max Creation Graph". Vertex painting (what is used in this tutorial), has been in Max for ages though :P
Did you remove the file?
No, it's in RandomizingInstances folder
@@TechArtAid Okey thanks
why does every blueprint programmer is making a blueprint so fast? its hard to follow
Try looking into the project files, in your own pace
haha ok thats what i was doing thanks!
Put for sale please on Unreal Engine Marketplace this asset.
You can get it here: techartaid.com/products/
hey bro How do I make each segment rise with respect to its height, along its length as if it were a staircase?
Create a variable Last Height. In the For loop create the mesh, move it in Z axis to this variable's value, then increment the variable by the height of the currently added segment. The next mesh will already know this new last position.
oks Tnks so much
can you share me the assets
are you kidding me??? is this a sorcery??' where can I learn this???
hey please reply .
Спасибо. А на русском есть?)
hello sir, can you help me, i need your help, for more buildings, i will pay for it, your work is awesome ! hit me up here
Hi! I can't help as a freelancer, but please find the project files at techartaid.com/products
@@TechArtAid oh ok, i need 2-3 more of this modular buildings, just different look, 50-100€ ? if you find time hit me up here, sad to hear bro. have nice day
i try to build a megacity with this, and this is the best you can get
Хрущёвка
This is fuckin complicated
stunning work!