Hello
I was playing with BTB 0.8.0.0 (only with Richard Burns Rally) and here are my ideas for future development and bugs observations.
Firstly grab my "BTB tracks randomizer" I made for fantasy tracks generation (attachment) - OpenOffice 4.0.1 Calc - after randomisation save "Randomize" sheet as .CSV file with default settings, then import in BTB with "sampling - all" and "Open Ended" options activated. It would be cool to have this feature implemented directly inside BTB.
http://speedyshare.com/j7HbE/UPCPC-ITD-BTB-GPS-Track-Randomizer-v-0-9.zip
-- Ideas
- Grid snap, axis symmetry option, axis constraint (x/y/z only) functions for track profile edition (maybe ability to enter xyz manually for each point, so one could get precise 3 meter wide road panels with 75 cm wide sidewalk exactly 12 cm above the ground for instance).
- Using edgeloops doubleclick solution (like 30 second here
) as guide for SObjects, so you can use
: middle of the highway road to put road lamps, barriers
: edges of the road to put power lines/barriers/fences/lamps/cameras without manual placement.
: terrain edgeloops to put buildings, spectators.
: edges of surrounding terrain to plant trees, install invisible walls. It would be also handy to specify driveline along imported 3d object's edgeloops.
- Automatic camera placement (along edgeloops or driveline offset) so cameras have their activation radiuses touching each other.
- Direct mesh importer (per project) without obligation to create xpack just for one mesh. This also concerns texture loading without obligation of using xpacks.
- Other fileformats import supported, as .3DS has 64k polygon limit
Trying to import .DAE crashes BTB, no matter from which program I export .DAE. I use modo so .LWO .FBX .OBJ would be nice
- Uniform objects scaling (now you can scale only along one axis).
- Possibility to scatter objects on imported 3d objects (or only on specified material in imported mesh (like lawns in big city etc).
- Road 3d ruts holes bumps randomization? (maybe in track profile window) - I guess some boolean style.
- Boolean of BTB road with terrain around when working with big imported objects like cities.
Something like the method I described here
http://forums.cgsociety.org/showthread.php?t=425005
- Axis mesh slice (
) for big "fill" triangles or merged terrain polys, so one can do efficient terrain sculpting or blend operations.
- It would be nice to be able to force BTB plugin to use generic RBR weather system (TrackSettings.ini), although I understand that BTB uses it's own way for this.
- Noise procedural shader mask for texture randomization, blending or road surface alterations (sand patches on tarmac, puddles etc).
- Allowing LOD to be bigger than 10000.
- Possibility to affect inbuilt RBR car shaders ( examples .fx - thinFilm / bumpGloss / BumpReflectHLSL / incidence-based "cameleon" shaders / exhaust-attached
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effectVideos/fire.fxproj.html ) - maybe "forced replacer" option for default CarPaint or something. Like BTBCarShaders.ini in car directory for optional use? So when BTB sees it in the car dir, it uses it.
- .fx system in BTB brings endless possibilities - this is really awesome
With some new shaders we could probably turn RBR into jawdropping modern-looking game. Here are a few of my ideas
First batch is about possibility of replacement of .fx files in already created tracks (all BTB_*.fx files).
I've tried to modify default BTB's BTB_DiffuseBump.fx to implement
http://developer.download.nvidia.co...hots/featured_effects/relief_maps.fxproj.html or
http://http.download.nvidia.com/dev...s/screenshots/effects/parallaxBumpMap.fx.html ) hijacking normal map (I'm completely new to shaders programming) but got stuck with porting N, T, B, uvNorm, uvSpec TEXCOORD* stuff to this effect. That effect would be awesome for all game surfaces, not only road (think building walls, terrain etc). If this BTB_DiffuseBump.fx replacement (mod?) would be done, it would be very easy to just swap .fx files in all already created BTB RBR tracks made by people. Also it would be ok to be able to choose this effect separately in new BTB.
I see that sky.fx and clouds.fx don't change anything - even deleting them doesn't make any difference. I was able to modify scattering.h so distant objects (like imported 3d mountain) don't get so extremely blue right from the start.
I wanted to put my own textured sky into BTB RBR, the only way I found possible for me was to import 3d spherical-projection uv'ed sphere into BTB, anyway if it's too big it isn't visible in RBR afterwards - I think it's due to max 10000 LOD and "always render" flag not working. This sphere appears only when coming close to it. So it would be awesome to be able to control such textured sky via .fx files by assigning environment lighting/texture in special field in BTB without having to create any geometry for this (.fx solution), spherical or light probe projection?. This brings HDR lighting to mind (it's effect is visible in BTB on such sphere and track mesh, but doesn't work in RBR of course for the moment). Also light emitting polygons would be great (street lamps, lighting inside closed tunnels, underground parkings etc).
Another thing is that in reality only reflection phenomena exists, with different roughness to it (roughness 0 = mirror, roughness 100 = matte (diffuse). Widely used in 3d "specular" is reflection which reflects _only_ sun, which is plain wrong - either something reflects everything or nothing. So a reflection shader (
http://http.download.nvidia.com/dev...ples/screenshots/effects/raytrace.fxproj.html or
http://developer.download.nvidia.co...eenshots/vidImgEffects/scene_raytrace.fx.html ?) with controlled roughness parameter would be the best (you could make building windows, water puddles, semirough grounds, wet tarmac etc etc - check Maxwell Render material system for better reference). I think this +
http://developer.download.nvidia.co...hots/featured_effects/relief_maps.fxproj.html + HDR/textured sky lighting are the most important for first next step and practical, with possiblity to update older tracks by just replacing their BTB .fx files.
Other fx ideas :
- Improved shadows
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effectVideos/PCSS.fxcomposer.html
http://developer.download.nvidia.co...ts/featured_effects/shadow_fp_pcf.fxproj.html
- Surface effects
http://developer.download.nvidia.co...nshots/effectVideos/displace_maps.fxproj.html - this one would be also nice when applied to BTB terrain, lifting it into mountains on textured or procedural-driven basis
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effects/ToksvigAA.fxproj.html
http://developer.download.nvidia.co...hots/featured_effects/relief_maps.fxproj.html
http://http.download.nvidia.com/dev...s/screenshots/effects/parallaxBumpMap.fx.html
http://http.download.nvidia.com/dev...mples/screenshots/effects/BumpGlossed.fx.html
http://http.download.nvidia.com/dev...les/screenshots/effects/bumpGloss.fxproj.html
- Blur/Motion blur shaders for real feeling, spinning wheels motion blur
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/vidImgEffects/post_bloom.fx.html
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effects/Scene_radialBlur.fx.html
http://developer.download.nvidia.co...enshots/effectVideos/post_glowTrailFP.fx.html
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effectVideos/spinFX.fxproj.html
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/vidImgEffects/post_trail.fx.html
- Lens/Light sources effects
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/vidImgEffects/post_bloom.fx.html
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/vidImgEffects/post_star.fx.html
http://developer.download.nvidia.com/SDK/9.5/Samples/screenshots/effectVideos/spinFX.fxproj.html
http://developer.download.nvidia.co...enshots/effectVideos/post_glowTrailFP.fx.html
- 3D Glasses
http://http.download.nvidia.com/dev...enshots/effects/anaglyphic_stereo.fxproj.html
- Grass
http://http.download.nvidia.com/developer/SDK/Individual_Samples/screenshots/effects/fur.fx.html
- Animated water
http://http.download.nvidia.com/developer/SDK/Individual_Samples/screenshots/effects/Ocean.fx.html
-- Bugs
- BTB RBR plugin menu doesn't scroll, which allows to consciously choose only about 20 tracks, depending on resolution.
- "Always render" flag ignoring LOD doesn't work, also the checker field when ticked on turns off after closing the window.
- What is the shadowvolume.fx loading error? I've found one in the net and put into COMMON\FX still it doesn't change anything. There are no shadows in RBR anyway.
- sky.fx and clouds.fx don't seem to work at all, you can even delete them.
- there is an error with xpacks - when I use certain xpack in BTB, and then alter something in xpacker (save, zip etc), these changes aren't reflected in BTB project. This leads to idea of importing 3d objects directly again (or some "update according to xpack" button or something).
- Cameras don't work at all in RBR
- Why colsplit loading takes so much time sometimes? 30 km track can load faster than 2 km track in certain cases for example.
- For some reason objects visible in BTB randomly disappear in RBR after exporting. It can happen to many different objects in the same scene in different stages of development.
- When you have surrounding terrain made of a few panel lines you cannot select anchors of just the border one - all get selected, so you cannot pull the edges without mesh errors caused by the inner panels. I think this edgeloop thing could be handy here as well.
- It's impossible to place objects in 3d view using coordinates. It is very hard to manipulate 3d environment, like big mountain (which is an object in xpack) after "click applying it to the road" - it's almost impossible to catch it's red-dot center to move it. Also it's impossible to match it to other 3d pieces (click object placement again), as to import big 3d environment one needs to cut it to pieces as there is 64k .3ds polygon limit. It's also impossible to scale it uniformly, not only in one axis.
This editor is awesome, big thanks and keep up the good work Brendon!