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 RU-vid 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)
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
+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
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.
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
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 :)
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
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/
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
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
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!
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 :)
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
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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-SXLYy6D1y80.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?
+Веня Головин 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).
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.
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?
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 :)
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
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.
+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/ :)
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. :)
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.
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