News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

CarWorks - a different approach to car making

Started by Cas, December 10, 2020, 11:14:46 PM

Previous topic - Next topic

Cas

CarWorks

Current version: 1.1
Last release: 6 August 2022 (with bug fixes on 10 August 2022)
Project site: http://www.raceforkicks.com/projects/carworks.html

Original presentation:

Hi!  I think I should make a thread about the project I'm working on right now. It's nothing too big, but it may be of interest, so here it goes. So far, in this preliminary stage, I've called it CarWorks. Its purpose is to aid in car making, but it's very different from Stressed (and of course, not nearly as developed) and they could be used together. In other words, when it's finished, you will be able to make a car either with Stressed alone or with CarWorks alone, but much more comfortably, with both together.

CarWorks puts emphasis on the interaction with 3D shape editing tools like Blender or Anim8or. It's a simple program that's capable of loading and saving car files as well as OBJ files. When interacting with OBJ files, it takes special measures to preserve the surface materials. This allows the car maker to use Blender, for instance, specifying the car materials in the program (Blender) so that, on export, the OBJ file will have everything it needs to be converted into a car shape. That's the idea, because in practice, so far, a few touches still need to be made.

Another idea I've implemented in CarWorks is auto-generation of information that normally has to be rebuilt from scratch. For example, it can automatically generate all desired paint jobs starting from the original model. You just specify the general hue for a paint job and all shades are automatically created. Same way, CarWorks can load a full-size car shape and scale it for car0, car1 and car2, so you can have a working car pretty quickly. This, of course, means the sacrifice of having a too high-poly shape for car1 and car2, but with modern computers, that shouldn't be a problem. CarWorks as of today, does not do anything with culling. It's all activated: you can see every polygon from every direction (although they're 1-sided by default). If there's a need of a change, it can be made later with a tool like Stressed.

I'll be posting it not far into the future.... but any opinions or suggestions are welcome! :)
EDIT:
The CarWorks+Dash Manager project can also be found at www.raceforkicks.com/projects/carworks.html
Earth is my country. Science is my religion.

Daniel3D

Quote from: Cas on December 10, 2020, 11:14:46 PM
CarWorks puts emphasis on the interaction with 3D shape editing tools like Blender or Anim8or.

Can you make a option to fix wheels?
I'm used to work with XSI (a bit on the heavy side for merely modeling) but when I export back to stressed the wheels are all messed up.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

#2
Quote from: Daniel3DCan you make a option to fix wheels?
That one's already done, my friend! :)

There is one detail I still have to adjust about that, but it pretty much does the thing. You first load an existing car shape (3SH) of your choice, from which you'll borrow the wheels, then you load an OBJ without wheels on top and you go to "adjust wheels" to place them in the correct position. It is not necessary, but you can also centre the wheels and the car so that the central point of all wheels (or the first four wheels if it has more) is at the centre of the car. This has some positive implications, but some cars don't do it and they still work fine. Alright, I better compile what I have so far so that you can try it.

If you're using a GNU/Linux 64 bit or if you can download FreeBasic, I can post the GNU 64 bit binary and the source code much more frequently than the Windows binary (for whose compilation, I need to get to another computer currently).

Here I'm including the first snapshot!  It's very rudimentary, but it works. It's made from scratch in just a few days.
Earth is my country. Science is my religion.

Daniel3D

I'm impressed...
Now I can finish my improved showroom version of the truck.
(It may take a while do to lack of time)
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

I made a few changes. From now on, the snapshots will be uploaded at the top of this thread (in the first post).

Not all of the following features are already compiled so they may not be present in the snapshot but:
  • Loading and saving car shapes (3SH files)
  • Loading and saving object files while keeping colours (OBJ files)
  • Automatically configuring paint jobs, including colours that are not present in original cars
  • Automatic scaling, so that OBJ files can be in meters (approximately) and only one shape has to be uploaded
  • Adjusting wheel positions with the possibility of centering the car with the wheels
  • Loading, editing and saving car parameters (RES files), including the torque curve with the mouse, but excluding parameters that have a direct relation to the car 3D shape and dash graphics
  • Loading dash graphics and viewing them in their corresponding positions (VSH files, unfinished)

    Issues:
  • Because the car shape is automatically scaled, the resulting car1 and car2 shapes have the same number of primitives, a little high-poly for racing, but that should be OK with current computers
  • Wheels have to be borrowed from a pre-existing car, as CarWorks still can't generate them itself from scratch
  • Lines, dots and spheres are not supported. Grills are, even though not adequately represented in the OBJ file
  • Due to the automatic nature of the paint job system, it is not possible to use CarWorks to make paint jobs that differ in any other way than the base hue
  • Wheel position and bounding box are calculated for the 3SH file, but the corresponding RES parameter is not changed
  • While dash graphics can be loaded and viewed, they can't be edited and clock setup cannot still be made
Earth is my country. Science is my religion.

Daniel3D

I've been working a bit with CarWorks. And it looks promising.
But i have some problems using it, mainly because i don't understand it.
The wheel setup part is great, nicely visual and works wonderfully.

But i loaded the alternative Obj but it seems to big
(in the wheel adjustment part because that seems the only graphical part),
but i can't figure out how to scale it.

I know it is in active development, but can you give us some info on how to use the features that are ready?

Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

Yes, CarWorks definitely is in the experimental phase. It will end up suffering a complete rewriting, I tell you for sure, and will have a graphical interface, more comfortable to use.

About scaling. CarWorks is currently tuned to take OBJs as if 1 = 1 meter. That is, when you create your OBJ files, they should be in that scale so that cars will be proportional to other Stunts cars. With this, CarWorks scales the model twice: 1:200 for real-life to car0, and again 1:20 for car0 to car1 and car2. I'm sure car2 is not supposed to be the same scale as car1, but as it's not horrible, I've left it that way for now.

Because the current version of CarWorks cannot produce wheels, you have to first choose a car whose wheels more or less look well with your model. No problem with moving the wheels, though. All this will be improved.

Right now, I'm at a stop with the main part of CarWorks (the one I published here) because I'm working on the new part, that aids in dash set up. Once that one works well, I'll publish it and it will be two separate programs at first. Then, I'll work in putting everything together and making it look nicer and user-friendly.
Earth is my country. Science is my religion.

Daniel3D

Since I'm working on the starting line truck, getting the wheels is simple (start with the original)
Then load the modified Obj (which was never scaled) but it still looks blown up..

Will need to do some testing...

Thanks for making it.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

Glad that I can be of help :)  Yes, the original shape I assume will have the dimensions of the car1 shape for regular cars. The current CarWorks is hard-wired to scale the OBJs up 200 times first for the car0 and then down 20 times for the car1 and car2. This is done with floating point vertices, so it shouldn't break your model, but it's true, if you have the original vertex coordinates, you'll need to scale it down 200 / 20 = 10 times in your 3D editor to properly match what CarWorks will take. You can just try with a copy so your original model remains the same in case you don't like the result and maybe later on I can make a fix to allow direct import of default scales.

Have you been working on the interior too?  I think I'll soon finish with that part and it'll probably be of help to you!
Earth is my country. Science is my religion.

Daniel3D

I still looking for a good image of a dashboard from the right time.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

#10
So here it is!  The first working snapshot of the other part of CarWorks. For now, I've called it Dash Manager. You'll find it not very elegant, but at least, more comfortable to use than CarWorks and I think it will be more useful right now because while Stressed and CarWorks overlap in about 40% of their possibilities, Stressed only overlaps with Dash Manager in about 10% and there is no other program so far that can do what Dash Manager does. Take a look at it, guys.

So here's what it is about:
  • You can load and edit the inside of cars. Images cannot be edited, but can be loaded and moved around
  • You can load both images from Stunts cars and from BMP RGB files of 32 bit depth so far
  • You can comfortably set up the steering wheel, the speedometer and the RPM tachometer
  • You can configure the gear box
  • You can save the result as a Stunts car (except for the 3D)

    What it's missing:
  • You still can't edit car parameters from here. You'll still have to use CarWorks
  • Images cannot be modified directly. I'm planning to add a simple drawing system
  • A lot of shortcut keys and little mouse use, but enough
  • No default car data. If you don't import car parameters first, the output car RES file won't have enough information to work well, so while you can edit, it's not the best for making a car from scratch, although it can be done
  • You can't move the dot, change its colour, etc.
  • There's no indicator to aid in calibrating the RPM meter and speedometer so that the right number is pointed. You can set up the zero and the maximum points, but you need to know how many items/spots represent how many RPMs or how many miles per hour.
Earth is my country. Science is my religion.

Daniel3D

Ehmm,
I tried the dashboard thingie... and ..

I can't get it to work..

I can load a file and then if I hit a key it just loads a dashboard picture with every key press until they are all loaded. Don't know what to do.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

#12
It's been some time since I posted it and I've made some changes already. I probably should update it. Anyway, I tested it before posting it. I wonder if it's just that the program isn't very clear in its options.

Normally, you run the program and you get an empty screen and on the right, the menu. If I remember well, the version I posted still did not allow to load a whole car. Do you have a menu option for file management there?  If you don't, I better post the new version today. So, if you do have a file management option, you just go to that one and press C to load a whole car. The car files should be in the same directory as the program for now. Then you hit ESC to go back to the main menu and you can "drive" the car with the first option.

In case you don't have this, what you can do is go to "images". With PgUp/PgDn, you can select which of the items you want to work on. By default, the dashboard is selected. So you hit Enter and you give a car ID or file name. The files should be in the same directory as the program. It will only load that item from the car files. This way, you can, if you want, load different items from different cars. It only reads unpacked car files and BMP files. The use of the shortcut keys described in the menu is paramount. There are no easily visible mouse options yet. The mouse does respond, but I've left interface for the last instance. So... I'll be uploading again soon!

EDIT: Adding the updated version of Dash Manager to the first post
Earth is my country. Science is my religion.

Ryoma

Thanks ! Two greats programmes which help me a lot. 3 weeks before, I had never made a car.

Cas

OK. Just like I did with the engine, I've uploaded CarWorks and Dash Manager to www.raceforkicks.com. You'll find the link on the main page. But as you know, these two tools are experimental and incomplete and my idea is to make one big good thing out of them eventually. Seeing that they have been seeing some use, I propose that you guys give me any suggestions you have. Especially, if you're creating or editing cars and need a feature implemented or fixed, say it here so I can go and pinpoint the thing.
Earth is my country. Science is my religion.