Home Artists Posts Import Register

Content

Okay so- I'm calling this version 1. I had bigger plans for it, but all of them ended up being complex, and this would have turned into a bigger project than I meant for right now (the sound team has the first episode, but I'm still jumping around updating a bunch of stuff!) And as it's still fairly useful for a lot of applications, I'd rather just release this as-is in the meantime!

To use:
Run the python script, and the "AutoAuto" object will generate new cars!
If you use it in a different scene, you have to append both "AutoAuto" and the python script from the Text folder (I go over it in the video)

As I say in the video, it's mostly designed as a background asset (up close it's... fine.)

If you want to give the car a bit more functionality, I recommend parenting it to a rig from Blendswap or blender market or somesuch- lots of folks have made way better ones than I could :D. Hopefully I'll have a bit more of that figured out for v.2, though.

Oh and definitely consider checking out crowdsim3d.com! They've been working on this Blender addon for years, and I think it's pretty cool; I honestly didn't know stuff like that was possible with Blender. Looks like the free version is limited to 25 vehicles, but that's still a lot!

Things I'd love to include in the next version-
Turning wheels!
Drivers/Passengers!
Faster Shader Build Times!

RIGHT CLICK, SAVE LINK:
AutoAutoAsset.blend

And again- huge thanks to Curtis Holt for helping me figure out the python stuff. His intro-to-python-for-blender is one of the few videos that really made me believe that I could wrap my head around it :D

Very curious to hear any thoughts anyone has in terms of improvement, or feedback on how it runs on their machine! From what I can tell, it takes a while to compile the shader, but after that is pretty speedy, no matter how many cars you have going. 



Files

Self-Generating Car Asset (the AutoAuto)

Okay so- I'm calling this version 1. I had bigger plans for it, but all of them ended up being complex, and this would have turned into a bigger project than I meant for right now (the sound team has the first episode, but I'm still jumping around updating a bunch of stuff!) And as it's still fairly useful for a lot of applications, I'd rather just release this as-is in the meantime! To use: Run the python script, and the "AutoAuto" object will generate new cars! If you use it in a different scene, you have to append both "AutoAuto" and the python script from the Text folder (I go over it in the video) As I say in the video, it's mostly designed as a background asset (up close it's... fine.) If you want to give the car a bit more functionality, I recommend parenting it to a rig from Blendswap or blender market or somesuch- lots of folks have made way better ones than I could :D. Hopefully I'll have a bit more of that figured out for v.2, though. Oh and definitely consider checking out crowdsim3d.com! They've been working on this Blender addon for years, and I think it's pretty cool; I honestly didn't know stuff like that was possible with Blender. Looks like the free version is limited to 25 vehicles, but that's still a lot! Things I'd love to include in the next version- Turning wheels! Drivers/Passengers! Faster Shader Build Times! RIGHT CLICK, SAVE LINK: http://robotsoup.com/patreon/AutoAutoAsset.blend And again- huge thanks to Curtis Holt for helping me figure out the python stuff. His intro-to-python-for-blender is one of the few videos that really made me believe that I could wrap my head around it :D - https://www.youtube.com/watch?v=XqX5wh4YeRw Very curious to hear any thoughts anyone has in terms of improvement, or feedback on how it runs on their machine! From what I can tell, it takes a while to compile the shader, but after that is pretty speedy, no matter how many cars you have going.

Comments

Anonymous

this is brilliant. some people don't think about it but cars are essential for backgrounds. this is definitively going to make my life easier.

Anonymous

dang what a cool tool! I'm glad you figured out the one single object thing, I think that makes it way more useful for quickly setting out hundreds of them, set it and forget it!

IanHubert

That's what I felt! Between that and the mirror modifier, I really limited my options for what it could do, but in terms of adding a BUNCH of cars to a scene, keeping it lightweight felt like the most important goal- at least for now (I guess that'd be a good way to break it up, static cars, and heavier but more versatile rigged cars).

Brock

Thank you thank you!!!

Anonymous

Ian, thank you for the inspiration! I've been learning Blender for about 2 months now and I've made some solid progress thanks to you! I'm a teacher at a primary school in Hong Kong. We do some pretty big scifi movie projects which usually take me about a year to complete! Up until now I've done all the VFX in AE, but since I found your videos we'll be trying a lot more ambitious projects! Thank you for the inspiration!

Anonymous

This is next level. Ian, do you think you'll get some non-sedan like vehicles in there as well, like SUVs, trucks, vans and mini-vans? That will break the uniformity up even more.

Anonymous

You made the tutorial! Ima so happy now =) Amazing as always my dude!

IanHubert

Ah yeah! So- I wanted to tackle a truck pretty soon, but the rest might have to wait until I properly start working on the scene these are going to be for (maybe not for a while??) I agree; definitely need more vehicle-type variety!

Anonymous

Awesomeeeee!!! That is so cool, i’m so excited to see this!

Anonymous

My dude makes every asset even if you didn’t know you needed it

Anonymous

does this come with the pynthon scrip already or do i have to create my own?

IanHubert

Oh! Yeah it's there in the blend. Should open just like in the video :)

IanHubert

He's so nice! And you YouTube channel is incredible. And seriously- I just asked, "Hey is this sort of thing even possible?" and he was like, "Yeah if you have this code I just wrote for you here you go".

IanHubert

Ah thanks David!! yeah! I want to make an actual honest-to-goodness tutorial, instead of just the asset, because I learned a ton (mostly: making a run-of-the-mill car wasn't as hard as I thought (although making a PROPER car, the way folks do with all the perfect details and all that, is still a huge huge feat).

Anonymous

Just a thought for an upgrade - a dirt-amount controller. It would be nice to be able to make them dirtier - or maybe even some dents! I know it might take a lot of work - but you usually find a way to make a thing do what you want haha. very nice asset! Nice to know I can easily put cars in the background now, even though I feel like I should make everything myself.. But at least temporarily I can use these :D

IanHubert

It has one!! Under the "#Car Controls" material, in the Controller node! You can change the dirtiness slider. It's super rudimentary (controls some windshield dirt and some other subtle dirt on the body (I really was trying to not make the shaders take forever to complile- I'd love to go a bit more nuts at some point), but yeah! Try setting it to -1 or something (although looking at it now, the "dirt" looks a tad yellow).

Anonymous

Wow! Thanks Ian

IanHubert

Ahahaha, thanks man! And I can't find where you posted the comment, but yeah! We should talk more about matching CG to footage! It almost always comes down to colorspace, and the fact that every color profile is different and all that, and honestly I still just eyeball it, mostly (there are MUCH better workflows out there, but they can also get really complex).

Anonymous

Ian, as somebody who used to do arch-viz, sometimes for highway engineers, you have no idea how fantastic this is. The money I have spent on car model collections over the years is insane.

Anonymous

👌 awesomeeee;) sweet

Anonymous

Thanks Ian! Perfect timing

Anonymous

Thanks Ian! This is going to be insanely useful!

Anonymous

Drinking game: take a shot every time Ian takes his hat on or off. Bonus round for the flannel shirt.

Anonymous

I love the shapes these cars take. Very cool designs. Familiar but "foreign".

Jack Hodgson

Nice! BTW turning that flying cube into a fighter jet doing a low pass across the parking lot would be kinda cool.

Anonymous

One Word ... Brilliant !! Can't wait for two more papers down the line.

Anonymous

This would be a cool way to generate other objects like People, buildings and houses, especially as background items.

IanHubert

I'd love to do that with clothing randomization and such!! Also- combining this type of workflow with geometry nodes could be RIDICULOUS. I've already seen people doing some crazy stuff with city generation and such. I'd love to try something like that :D. Really excited that Blender's finally getting these tools

Anonymous

Definitely an exciting time for Blender users

Anonymous

Man, again: you could have stuck this on Blender market and coined it in, but you're giving it away to us for the price of a couple of coffees. Thank you. This is a truly useful and time saving asset for creating large populated scenes to an unrealistic deadline.

Anonymous

please do some tutorials for crowdsim3d!

Anonymous

Sweet! Using the name for the colour seed - really handy hint thanks

Anonymous

Nice, cheers dude. It will go in my armoury to be called upon when people need cars:)

Anonymous

I just realised that you actually talk about that offsetting shape keys to the birds isn't easy to do, but you wanted to do it so we could copy just one bird and do it again and again! Maybe python would be the way to do that!

Anonymous

Super sweet! I've thought the same for a while that cars are either too high-res or too ugly for populating larger scenes! Could be nice to throw in the mix some SUVs and some more European-like cars with less beefy headlight designs. I would also be interested in a tutorial on your road texturing. I've found that sometimes the simplest things get the longest to get right - grass and asphalt, and all other surfaces

Anonymous

Thank you Hubert!

IanHubert

Ah thanks Dimitar! Yeah- definitely want to add more model varieties at some point in the future! I have a big freeway scene coming up, so that'll hopefully be a good catalyst for that :) And yeah!! I was trying to brainstorm roads a bit today; every technique I've used is always a bit of a hassle (combining repeating road textures with specific markings and having it all play nice without using HUGE uv maps and whatnot)- but I think I have a new way that might work better?? I'll share it here if it works out!

Anonymous

that's awesome ! Thanks a lot !

Anonymous

how to rigging the car??

IanHubert

OH HEY YEAH! Probably not with this same script, but I think you're right! It's a fairly basic series of steps (duplicate bird, offset each shape key animation a random value between, say, 1 and 200 frames). That would be a GREAT thing for me to try to experiment with (and save a lot of time, too).

Anonymous

Flippin sweet bro!

Anonymous

really nice. thank you! so much render time wasted in high-poly cars I had to stick in the background!

Anonymous

Hey Ian, this is so much fun! I'm not a real python pro, but I played around with your script and made it produce the cars in a x, y matrix. I also added some randomness to the individual (x-)position and z rotation. Hope this makes sense to someone! import bpy import random import mathutils #get a reference to the original Auto original = bpy.data.objects["AutoAuto"] x_copy = 10 y_copy = 4 x_jitter=0.3 y_jitter=0.2 x_distance=2.9 rot_jitter=0.05 def customize(car): keys=car.data.shape_keys.key_blocks for i in range(1,len(keys)): if i==1: keys[i].value=[-1,1][random.randint(0,1)] elif i<7: keys[i].value = random.uniform(-2,1) else: keys[i].value = random.uniform(-1,1) def make_car(x,y): # Duplicate the AutoAuto new_car = original.copy() new_car.data = original.data.copy() # Add car to active collectiona col_ref = bpy.context.view_layer.active_layer_collection.collection col_ref.objects.link(new_car) customize(new_car) #change location, add jitter new_car.location += mathutils.Vector((x_distance*(x+1)+random.uniform(-x_jitter,x_jitter),6*(y+1)+random.uniform(-y_jitter,y_jitter),0)) new_car.rotation_euler.rotate_axis('Z',random.uniform(-rot_jitter,rot_jitter)) #car factory loop : for i in range(y_copy): for j in range(x_copy): make_car(j,i)

IanHubert

CARSTEN! I saw a notification for this post pop up and couldn't find it, and hadn't realized it was a comment here! I gotta go to bed now, but I'm excited to try this in the morning! If it works out, would you mind if I update the project file with it?? I feel like it'd be a lot more handy than the current system of everything appearing in the same spot.

Anonymous

"AutoAutoCode.py" is hilarous and classic! The name for the original concept of a programming language was called "Autocode". (It was a generic term, not a particular language.) There was Glennie's Autocode, Mark I Autocode, Mercury Autocode (that sounds car oriented), EDSAC 2 Autocode (The Esdel of Autocode), and Atlas Autocode (for rocket scientists)! https://en.wikipedia.org/wiki/Autocode https://en.wikipedia.org/wiki/Atlas_Autocode

Anonymous

The save link is no responding😩

Anonymous

Also, if anyone is having trouble with this .blend file (as I was) when I would pop over to rendered view it would just crash do the following to solve: 1. Open blender 2. Then go to the AutoAutoAsset.blend but before you open click the gear settings in top right and check "Trusted Source" This enables python script and basically lets the program run as intended. Not sure if this setting has changed in 2.93 or if everyone already knew this but figured I would comment to help out anyone else.

IanHubert

Did you right click and select "Save Link As" or something like that?? Just clicking on it probably wouldn't work, yeah :/

Anonymous

Might ask a stupid question (only bcs i am a beginner), why am i able to use the optix denoiser and optix viewport ( in cycles) even though my graphics card shouldn't allow it? tried it before and didn 't work

Anonymous

Hi Ian! thank you for sharing this, this is an awesome technique :-) Super late to the party, I know, so maybe you'll never read this. Or maybe you already figured it out. But, anyways: To have the script imported automagically when you append the AutoAuto object you can: 1. add a "Script" node inside any one of the materials of the car. 2.set it to "Internal", and choose "AutoAutoCode.py" as the script. 3. It will complain because the script is not OSL, but it will become part of the object, and it will import as part of the car object anyways, and it will be available in the Text window to run ;-). https://ibb.co/XZMQ9vR I hope it helps. Thank you for all the awesomness!