etlegacy / etlegacy

ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license.
https://www.etlegacy.com
GNU General Public License v3.0
559 stars 93 forks source link

CamTrace3D Support #173

Open ETLegacyTeam opened 4 years ago

ETLegacyTeam commented 4 years ago

Author: acqu (acqu) Date: 2013-01-14 Redmine Issue: 173, https://dev.etlegacy.com/issues/173


HP: http://ct3d.twen.name/

Basically you create camera positions in ET via 0 key, then you input that into camtrace, edit it and output a script, which in turn can be executed during replay mode to create something which looks like this: http://www.youtube.com/watch?v=w1Wz0SppXDM

It just needs support from the mod code. Below is a diff which adds basic camtrace support to mod code. It is a diff to etmain (not etlegacy), but it should be readable. With this implemented into the mod code you can execute camtrace scripts. You also have a basic freecam during replay mode. What this diff is lacking is 1) probably quality (that is why i post here) 2) a perfect freecam with nice and smooth camera movement 3) possibility to output camera positions via '0' key and 4) several other annoying stuff like e.g. you can still hear first person footstep sound while in freecam mode.

Searching for a better way to implement this feature, so i decided to get more eyes on it to create a really good implementation.

Credits for the code mainly go to hannes, although i only used forum posts and google to put that together. Would be cool to see this in ET:Legacy.

Here is a basic tutorial for set up on etpro: http://www.youtube.com/watch?v=97ITEydb4eg&NR=1&feature=endscreen

ETLegacyTeam commented 4 years ago

From: @JanSimek (Radegast) Date: 2013-01-23T01:53:16Z


I wrote an email to Jérôme Bressoud, the author of CamTrace3D, about the possibility of releasing CT3D as open-source. He kindly replied to me that CamTrace was written in Visual Basic 6, so we wouldn't be able to reuse it. However, he is willing to share the algorithm which generates camera path movement from the camera coordinates. This means we could implement this in the mod code without relying on a 3rd party tool.

ETLegacyTeam commented 4 years ago

From: acqu (acqu) Date: 2013-01-24T03:24:51Z


Sounds really good to me.

I try to assist, since this is beyond my current skill-level. I would suggest to reuse most parts of the ingame speakereditor. I believe this can be very handy to visualize/edit camera positions/properties ingame. To see the speakereditor open up ET, devmap , open console and type "editspeakers". Then you should see several rendered speakerboxes right inside the game. So if you want to reproduce most of the functionality of Camtrace right ingame (if i understood correct), then this code might be reused. Most of it seems to be located in cg_sound (CGSpeakerEditor(...) functions).

EDIT here a link: http://www.planetwolfenstein.com/tramdesign/tutorials/etdocs/speakereditor.html Type "modifySpeaker" to see how you can edit the speakers positions in real-time. But not only can you edit positions, i can also imagine to add viewangles, splines, ..

ETLegacyTeam commented 4 years ago

From: @mittermichal (kimi) Date: 2015-08-08T19:00:39Z


You can use WolfCamQL as inspiration https://www.youtube.com/watch?v=vtmZmg4yJR8 https://github.com/brugal/wolfcamql

ETLegacyTeam commented 4 years ago

From: @jackeri (Jacker) Date: 2015-08-08T19:08:51Z


kimi wrote:

You can use WolfCamQL as inspiration https://www.youtube.com/watch?v=vtmZmg4yJR8 https://github.com/brugal/wolfcamql

I have been looking into building an UI for the camera path creation for a while, but it will have to wait until i have rewritten the UI system to some extent. Building the UI with the current tools available is hard and even harder to extend.

ETLegacyTeam commented 4 years ago

From: @rmarquis (Spyhawk) Date: 2019-12-03T19:25:52Z


Check Warsow code. They seem to have built-in camtrace-like support.

ETLegacyTeam commented 4 years ago

From: @isRyven (ryven) Date: 2019-12-17T23:23:07Z


The camtrace support should actually already be in btw, thanks to extended demo support by fretn.