Normally on a Friday evening, we like nothing more than to tune in to Da Tweekaz live show, join the Zoom call and party, dance and drink with the #TweekazFamily. Lastnight was no different, except being on my own, I decided to screencast modelling some of the Sheffield map while partying.
I need to bear in mind this is the first sentence people see when this link gets shared. Anyway, I’ve gotten quite stuck into modding Assetto Corsa over the past week, the workflow I’m using for the Sheffield map is similar to that of AC: using reference data from satellite imagery and streetmap data, and importing it into 3D.
The Cadwell track, after a curious search to see if there is one available was placed on a ‘someones done this already, and done a fantastic job of it – so I don’t need to (yet!)’ list. Despite being a list with a very long name, it’s a very short list so far.
I decided to look for a track that I couldn’t find, something new – and that’s where two of the creative projects I’m working on coalesced.
I’d set out to use free and open source software to build a playable track in Blender – and while I didn’t complete that with Cadwell, it did put me on the right track to actually making usable race circuits. That’s what this post is about.
I went on a deep-dive of Indian motor racing circuits, and aside from the world-famous Buddh, I could find very little. This was the niche I was looking for.
I’ve started with the first other major circuit I could find, Madras Motor Race Track (Irungattukottai, Chennai) – and is one of a few circuits I have earmarked for a small India track and car mod pack.
For your benefit, I’ve written this with hindsight – so I hope it saves you some time!
The first part we see is after I’ve downloaded the .osm (OpenStreetMap file) from where I’ve selected the region of the track. I’ve used blender-osm to import the map data, and I’m now trying to figure out how to get it to run.
Once you have it imported, first thing I do is press 7 on the numpad in Blender to jump to Top view, and select the objects until you find the racetrack, and name it 1ROAD. Anything you name it after that (with no spaces) is entirely up to you. This is the track you will drive on.
I export the 3D file to .fbx and import it with ksEditor, part of the Assetto Corsa SDK, From here, allowing that my map is compliant, export it to the tracks folder in your Assetto Corsa directory. If you are using Steam, it’ll be in: C:\Program Files (x86)\Steam\steamapps\common\assettocorsa\content\tracks
A quick way to do this is to find the folder of any track you like, copy it and paste it into a new folder with the name of your track, and change everything in your new folder to suit your level. Once you’ve exported your map to the .kn5 file format, drop it in this folder and make sure the file has the same name as the folder, and any textures you’ve used are in the tracks textures folder.
More to come
What I learnt
Everything needs a texture. If it doesn’t have one, it’s going to crash ksEditor
.dds (DirectDraw Surfaces) do not support layers. You can have transparency, but you can’t have multiple layers.
It’s best if your road is low resoultion mesh, high resolution imagery.
You will need Blender 2.7x Yes, going back to it feels like writing with your left hand, but the .kn5 exporter tool really is the best way of exporting your mesh. I found that using 2.9x and exporting to ksEditor only caused problems. Revert, revert to 2.7x, open the example track, and you’re on the way to a playable track.
Scale your UVs correctly I’d not scaled my grass textures correctly from high-res source photos, and the perspective it gave was that I was driving a car, but the size of an ant – each grass blade was the size of my car!
Make your track flat When I’d imported my track from my 2.8x experimentation with ksEditor, I’d solidifed the track so that it was 3D and had depth. I found though, when importing into 2.7x, hitting the side of the meshes depth sent the car into an uncontrollable spasm. The track has to be flat. 1 pixel (to the chefs amongst us, that’s one layer of onion skin).
If you use the example file from the Blender KN5 Exporter, use it as an example file, and then delete it When you playthrough, the intersection between the example racetrack, and your imported racetrack – it causes glitches will cause you to spin out, and fall into invisible potholes. It took me until Part 4 to realise this.
Use a UV grid. Google images ‘UV Grid’. Find a high resolution version, and apply it to everything. It makes a great placeholder image, and you can see exactly where to edit when you want to colour the texture.
No such luck, synapses are firing on all cylinders, I’ve cancelled an important VLC update for the sake of a screenshot, and now when I try to open anything with it, its only use is a strobe light.
When I run the game, I start at a 2:00 angle, which leads me to beleive that the empty to represent AC_PIT_0 is at a strange (or unsupported) angle.
While playing the lap from the OSM import, I’d timed that I was completing the laps in around 45 seconds, which is obviously ridiculously fast – so I scaled the track to be twice the size, and it now seems to work – and would probably make a good Drift track.
I’ve not completed a full track yet, because: – there’s no kerbs – the start position is on the grass – I’m quite sure that since I doubled the size of the track, the timer markers are in the wrong place.
So this area here is the pit-lane, and behind this would be the stadium area where spectators are sitting.
Continuing on from the Pitlane after this tyre ends is a wall with a glass divider, like the ones in the picture above.
By this point, the car would have re-joined the circuit, and the track above is part of the maintance route, which the Ligier Maintenance Vehicle from the video(s) above would drive on. Both barriers are solid walls with viewing windows above them.
I don’t know if that’s their real name, but they’re a prominent and majestic outlook onto the track. I clearly know which companies logo to find a hi-resolution image of, and aim towards something like this. Interestingly, the tyre is not where I would expect it to be from the screenshot above; which is odd, since the tyre bears the MRF logo.
My point for this is the two MRF towers just past the start-line, they’re 1x and 1.5x the size of each other, and the top floor is an actual viewing platform – so it’s a great place to put a camera (or two!). If you’re feeling creative, you could create a camera, and put a sofa scene infront of it to show people watching from their couch inside of their hotel room!
While it is possible to complete a track, the kerbs and run-offs are not in place to help with corners (and I ran most of the racetrack backwards, and was not penalised). This is next.
Sayanti came to visit, and we wanted to film something with Moumita in her full saree as if dressed for Durga Pujo. This is the largest Bengali festival, and we celebrated in bisarjan Matal tradition by listening to fast paced, Indian themed dance music while getting drunk and being creative!
With the social distancing bubble law in effect, Sayanti and I were able to share a space in which we could utilise my home-studio. The main reason I’d bought this screen was for shenanigans like this – though I justified it to myself that I need it for Zoom calls at work. I digress.
I had spent the morning corrupting Sayanti by introducing her to punk music (let’s call it researching the role), and there was a sketch we’d been wanting to film, and with a little improvisation on the story – here it is! A very rough cut: we’d used this for working out timing, camera angles, lighting and audio. Our first scene production together in person. There’s no colourising, chroma-key (green background removal) or cleaning of the audio or even subtitles, this is straight off the camera.
We’d also wanted to show a short clip of how the lighting was setup, to give you a perspective of what we’re working with, to the aptly titled (at the time) ‘Sunday Dub’ by Rafael Krux.
This is Sayanti researching the lines for the original sketch that we had in mind: Moumita would tell William to hurry up because we can’t get on the bus without a mask, and he would come through and say he couldn’t find his mask – and when she said get one from anywhere, he’d come back with a bong gas-mask.
During one of the (numerous) takes we did, we had the idea that William would drag Moumita to a punk concert, which she most definitely wouldn’t enjoy. Or would she?!
A lot more to come with this, there’ll be more of a development journal type video to come. I will screencast the chroma-key process, so you can see exactly how I take the background out and replace it with something else. Right now, my thought process is thinking to integrate it with the 3D stackable set of William and Moumitas home, against a CG wall.
I’d also like to do a screencast on colour adjustment, because while posting a lot of 3D – I haven’t really posted much about the editing and compositing process, and I think I’m going to start doing more of that. Some of the takes we filmed were improvised, so there are slight variations of the scene, and of course – bloopers!
There’s some more footage I must collate from Sayanti that she had filmed, that I am also keen to show, to showcase more of our techniques and learning process.
What did we learn?
That’s a good question that I’ve asked myself – please allow me to answer it:
Make sure you have plenty of space Generally goes without saying really. If you’re in a bedsit, try to find furniture with wheels on: they make great camera tracks which will ensure your footage stays at the right level, and you can move them with your feet out of shot.
Using a separately recorded audio source does sound clearer and allow more control over the final product, But… for the test run – it was too time consuming to match up the audio and lipsync to look right. We didn’t do this while filming for this reason and went with the audio from the camera. There’s a free tool called Audacity that no film studio should be without.
A cheap pair of gaming headphones have a sensitive enough microphone and are loud enough to use as speakers for playback to use as a scene speaker. I personally use some cheap Xiberia(??) headphones from Amazon with a 3.5mm jack to USB adapter and hung them from a door handle, and we were able to hear the dialogue clear as day. While recording, I hooked them over the tripod behind the white umbrella, so that it filtered some of the sound such as inbreaths.
I realised this weekend just how loud these headphones are, and publicly apologise to anybody who has ever worked anywhere near me in-office, or sat on the same bus as me pre-lockdown. It’s not my fault I enjoy hardstyle.
Keep props close to hand I know it sounds obvious, but if you’re a small team – you’ll be working crew duties as well as acting in it.
It’s easy to put a prop down somewhere when you’ve changed roles and need to set up a tripod, or adjust the lighting – and switch straight back into acting, but have left your prop in another room while focused on something else. In this case, I was lucky – I could hang it from a door frame and it always be in sight, but for smaller items it helps not to be scatterbrained about where you leave things.
If using a foreign phrase, keep the words on a nearby screen in a big font Or learn it, and if you’re going to learn it. Learn it.
Don’t get too attached to a story Have a core message for the scene/sketch, but don’t be afraid to be flexible with the story around it. Things change, ideas come up while reliving the same scene over and over. Unless it’s going to take a ton of more work to implement for something minor, it’s not worth it. Let the story evolve.
Angling the camera facing down onto you makes you look slimmer Apparantly!
When talking to somebody, it’s automatic human nature to look at them – but the camera will only see the back of your head. Angle your head at 11:00 and 1:00 positions so both the other character and camera can see your face, and look at them with your eyes while talking.
Don’t look directly at the camera. It’s creepy for the viewers, unless you’re talking directly to them.
Working in person is very different to working remotely over WhatsApp. It just is. Better, but not always an option.
Aim for high-quality, low budget. Don’t compare your film to that you’ve seen at the cinema: they have a big budget and a big team of experts that spend day in day out producing it. I don’t know about you, but I work paycheck to paycheck, have a core team of one other person and have a full time job that isn’t making movies (nor would I want it to be, actually. I’d get bored of it!) Embrace that you’re an independent film-maker. Own it, and be proud of it.
As part of a small team, you can’t afford to specialise in one area – so learn about as many different skillsets as you can: modelling, editing, scriptwriting, compositing: it helps to know a little about a lot. At least enough to learn where you’re making mistakes and what mistakes you’re making, and build from there.
Use umbrellas on your lights. It helps to spread your light across the scene and doesn’t hurt your eyes as much.
As long as you are filming, and making something – you’re learning, Nothing is a waste. You’ve got 16 takes that you aren’t using that are useless? No. You’ve got B-Roll reel, and the variation in that footage is enough content for another video for your hardcore fans that want to absorb as much of your project as possible. Use that footage to explain to your fans why it made the cutting room floor, why that shot didn’t work and what you learnt from it. You can sit and review your footage on a livestream, and you bet people will come along and give their input. If you’re like me and have a bit of a reclusive streak, you can remove the audio and make a montage out of them to a music track – that always looks fun!
Take breaks and don’t get too stressed about it – it’s supposed to be enjoyable. Don’t be a diva on stage. You’re part of the crew too, remember?
Study A great learning resource is obviously YouTube. Also check out Udemy (look at that link, that is not a referral link) they’ve a ton of subjects, if you go at the right time – you can pick up certified courses for £10-£20. If you go at the wrong time, they’ll be ~£200. Favourite it and come back later, they have a lot of sales! When they do, bulk buy!
Please note: This is still ongoing and is being updated regularly, so the post has been stickied, recent articles added to the blog will appear below this one.
If you’ve been here before, you’ll recognise that map; and I can say I felt ready to work on this again – re purposing my methodology of selecting building assets to fit the times.
The Dove and Rainbow is a rock bar in the city centre, hidden away behind Bankers Draft and accessible either via the alley next to Argos. It has a friendly atmosphere and great drinks (no, I’m not affiliated!)
In the video, I start from the appropriate mesh on the Sheffield map in Blender, and press / on the numerical keypad to isolate that object, and the reference image: this is so my view isn’t obstructed by other buildings in the scene.
I made one post about this on a community that I thought would share the appreciation, the r/Sheffield subreddit. I’m not going to link them directly, if you are familiar with Reddit, I trust your ability to find the subreddit if you so wish to become a part of the community.
The original thread is here – please note, I’m only linking it here for transparency of the story that transpired through posting this. You can see from the thread that u/Evilsquits (yes, I know – I thought I was the only Theme Hospital player who had adapted this term, too) had expressed an interest in running the model through slicer software (3D printing). The user (I’m in no position to assume gender, and calling them evilsquits throughout feels very r/rimjob_steve because by god, for a user with such a horrific username, the help the help they provided for an entire evening was beyond wholesome, and it was such an honour.
I will not show you the private conversation I had with youknowwho because that’s private between us, but I will show the screenshots of emails I’d sent to them updating the .obj files.
The original version I sent had non-manifold mesh. Non-manifold is data that is to be printed, but not actually connected to anything – so the printer will not print it. I re-inspected the model, and found that the 3D text for the building frontage was not actually connected to the …veranda? is that the word? Anyway, I brought that block forward so it intersected with the text and made one actual object. 3D Print Toolbox reported that it was non-manifold, so lets try it…
‘the texturing is all UV’ – so in laymans terms, UV is like origami, say you want to fold a Swan, you download and print a picture of a Swan, and by the folds and the creases – it looks right, but it’s still 2D: the texture is still on paper so has no real-world depth. I took the window frames and extruded them very slightly, so that they had actual geometry.
We’d gotten talking about Old Queens Head, u/evilsquits had recognised me from an earlier post, the Sheffield game we’ve been talking about on here a lot. I already had Old Queens Head ready because I fricking love that pub! Anyway, we discovered that the model worked great, until I went to make the mesh non-manifold, so that it could be 3D printed
Which got us thinking, this could be a happy accident – what if we could make it so the roof clips off, and you have an actual floor plan of the pub below. That idea was interesting and exciting to us, so we deciced to look at ways where the mini-sculpture would be functional as well
Below was the detatchable roof, we had another idea which we thought would be reet cool, but aren’t going to say until we master it.
My last email was this, though I have heard from the redditor that so generously gave their time (and they gave an entire evening!) and filament to try and print a 3D model another redditor had sent them. (this is why Reddit is the only social media I partake in)
I am not a Facebook user; I have conditioned myself to treat social media like a drug, and as much as I would love to use social media to garner traction, I can’t bring myself to come back to using it again. This is where Sayanti comes in, Sayanti (Moumita) aspires to be famous, and managing my social media PR is absolutely ideal for me.
I don’t check Facebook, so the only way I’d know if it was posted on Facebook would be by looking at my Analytics data. As you can see from the screenshot below, 3.6 hours of this video have been watched in total: that’s longer than it took to make (just!) so any viewing activity from here on in is a win:win.
Far be it from me to humblebrag, but you can see from the analytics screenshot the approximate time it was posted to the r/Sheffield subreddit.
Previously, a large portion of our fanbase were Bengali speakers, but due to the double tragedy they have had with Supercyclone Amphan, amidst a Coronavirus pandemic, we still want to show solidarity, but appreciate that watching videos on YouTube is not their priority right now.
I approached u/evilsquits and asked for consent, so if you are reposting this as your own clickbait content, we’d appreciate the nod too.
And yes, u/evilsquits, you really did do something. You inspired hope within me, and your viewing activity and karma formed part of a sharp curve that confirmed that I was on the pulse of what people want – and yes, Old Queens Head is next (again)
I’ve not seen a photo yet, but as soon as I do – you know it’ll be posted here. u/evilsquits – if you’re reading this, we’d love to see the 3D printed version next to a 5 pence piece for scale.
I now have the photos and I’m so pleased to share them with you:
I've tried to adjust it to match, those proportions bend the original model out of shape - so I've tried to lock the scale to preserve it.
There's the solid block roof, and the one with a detachable roof: does that need to be attached to the object so it'll print it?
On 02/06/2020 21:21, squits wrote: Hey Manifold is what you sent me, as you can possibly maybe see is it's skewed and really tiny Actual is how I printed it, flattened on it's back and probably 700% larger. Once I save it as a gcode file I can't tell Manifold is reported as x=9.8939 y=6.1616 z=5.8783 Actual is roughly x=47 y=29 z=14
We’d found that emailing back and forth had become cumbersome and impeded our workflow, we needed something more in sync.
With the roof and the building to be printed as separate objects, they would need to be their own .obj files. So in the dropbox, I have them saved as dove-and-rainbow-roof-scaled-3 and dove-and-rainbow-roof-scaled-3b (.obj and .mtl). The .mtl controls the texture co-ordinates and is generally supplied with an obj, though in this case it wouldn’t actually be needed to print.
Today is a double-video post of what I’ve uploaded over the weekend. It’s broken into 3 elements: Sayanti describing Calcutta housing, so that I can create an accurate representation in 3D, and some character animation of Moumita and her father, Mr. Basu dancing to Mayabono Biharini, a Rabindranath Tagore song, as a tribute for his birthday.
The characters were created in character building software, Makehuman, and features modified Makehuman community assets, exported as .fbx and imported into Blender – where I modified the file and exported to .fbx again – and imported them into Adobe’s free motion capture library Mixamo.
Moumita and Will are now on Instagram!
I will be producing some content as well as Sayanti, who will manage the account for us (I personally don’t like using social media)
Todays video is a visualised explanation of how Sayanti and I explore ideas over Whatsapp; we’re quite experimental in how we create together, and are always looking for an efficient way to communicate our ideas remotely. These are new characters, and we’re trying to develop them and give them the backstory that will form the foundation of the plot.
This, wasn’t one – it was a long and slow process – but the end goal is to show you how to do it, so it’s worth it!
AudVis is a cheap (in price, not quality) Blender addon that visualises audio data – I’ve used it here to generate a waveform effect as if something is audio only. In the GIF you can see the full scene, and how it’s linked to the cubes.
The music used is from a site I’ve been gravitating to a lot lately for royalty-free music is FreePD. This is (another) of Kevin McLeods’ tracks, Compy Jazz.
More on the Whatsapp e-collaboration project with Sayanti, in this video – she explains the premise behind the project in both English and Bengali, we try our hand at stitching a story together, and I finish with a walkthrough around the 3D set I’ve been working on.
Why are there no Bengali subtitles?
Sometimes I need to take screen breaks, so I sit with a pen and paper and plot my next moves when I get to my desk. With the same ethos of a swordsman who does not unsheathe his sword unless he is prepared to use it, I must take the same approach with screen recording software: so I don’t record unless I’m showing something. I digress… this was an idea I had.