lunedì 10 dicembre 2018

TCE package progress

I'm still working to the animation of the arms and closisng the Z_TCE_players package.
The limit of the maximum number of frames for the md3 that I had previously discussed that is very serious and penalizing. The consequences are:
1) the animations need to be adaptable to more weapons, so are less precise and less realistic
2) the animations must be short as posssible to save memory (so for example no check of empty chamber before reload and so on ..)
3) the use of accessories via tags becomes very uncomfortable.

So I'm making animations that can be reused for multiple models of weapons and seems good in game but must be tuned for the number of frames per second (btw increasing the number of the fps mean more fast, but also mean less precision since miss some frame) and for the correct position of the sight respect to the point of impact. I can't really understand why the game only handle the last shot animation for pistol and not for rifle, this is inexplicable. 

As I have already written, seems that TCE/CQB can not manage the third-person arms models with short sleeves (without touching the code), so I have modified the sniper class models (specops and terror) and I added long sleeves. The short sleeves player models are moved in a "tropical" directory for future use. I'm also using only arms models with long sleeves in the first-view for the same reasons.

Currently I have ported from CQB to TCE these weapons models: AK47, AK47 + M68, SG552, SG552 + Reddot, Beretta92fs, Desert Eagle, P226, Glock, Usp40, Wilson1911
In my opinion, all the weapons need to be optimized and made it next-gen compliant by redoing a UV map of the models without overlap. Many weapons meshes are out of scale, need to be improved or completely replaced. The texture skins are generally all excellent.

Keep in mind that UV map and SmoothGroups heavily affect the number of vertices of the md3 model. For example, this is the result of the same cube exported to md3 but with different UV maps / SmoothGroups:

Mesh <Box01>: 12 Triangles, 8 Vertexes (+16 verts for SmoothGroups, +0 verts for UV map)
Geometry Total: 12 Triangles, 24 Vertexes

Mesh <Box01>: 12 Triangles, 8 Vertexes (+0 verts for SmoothGroups, +24 verts for UV map)
Geometry Total: 12 Triangles, 32 Vertexes

An interesting feature could be the management of other tags in addition to flash and brass in the model of weapons (probably in the code cg_weapons.c). This could allow you to better manage all the accessories that can be considered fixed (such as sight, suppressor, foregrip, ...) and save the amount of specific animations of the arms.

Unfortunately I also encountered other problems...
1) the texture management for the arms of the knife model seems to ignore the settings provided in the .skin files for each player (which instead work for all other weapons).
This problem seems to be already present in the official version of TCE / CQB
2) A incomprehensible lack of functionality of the transparencies for the new shaders I added. For example, transparency for new flashes or new reddot wan't work.

Soon I will release the Z_TCE_players package and I will be grateful if some user give me a feedback. If someone find models of weapons royalty free and/or want to make some contribution by tuning/modelling/skin/adding weapons let me know.

Next in queue:
- fisrt-view arms animation for all weapons
- moving all CQB weapons to TCE
- 1024 * 1024 hands texture
- find / remake weapons more detailed
- clean old weapons UV overlapping verticies
- make old weapons next-gen compliant
- make new third-view players animations

giovedì 4 ottobre 2018

Z_TCE_Viewarms_ Progress

Good and bad news as usual

the latest progress are:
- creation of a more detailed model of the ak47 magazine
- realization of the most detailed model of M26 grenade
- increase the resolution of the texture of the arms from 512*512 to 1024*1024 (made from scratch and now they are much better)
- realization of the pistol animation
- introduction of the weapons taken in the last CQB release in TCE as they are better implemented
- reuse of previous models of arms / hands (more detailed)

Unfortunately, there are also bad news. The main problem is that each weapon is bind to a specific model of arms/skins.
As you know the sniper class has models with short sleeves while the assault and recon classes have long sleeves.
In the limbo menu it is possible to make the appropriate distinctions in order to assign the specific weapons to the different classes.
The problem arises when a sniper take a weapon of  recon/assault class from the ground and vice versa.
If you're a short-sleeved sniper and pick up a weapon from the assault class, long-sleeved arms appear (in fact, it inherits the arms associated with that weapon).

So one solution is block the possibility of take weapon of other class or don't use use short sleeves models.
Maybe the short sleeves player models can be choosed based on the type of map as you do for skins. For example you could use the models of short-sleeved players exclusively for tropical maps instead of temperate maybe acting on the .gear file by adding a gm_playerModelGroup type entry like this:

Maybe we can choose the short sleeves models of the players based on the type of map as you do for the skins.
For example we can use the models of short-sleeved players exclusively for tropical maps instead of temperate maybe adding something as gm_playerModelGroup in the .gear file like this:

gm_playerModelGroup "tropical" // models \ players \ tropical \ ...
gm_playerSkinGroup "tropical" // models \ players \ tropical \ ...
gm_playerVoiceGroup "default" // scripts \ voice \ temperate \ ...
gm_playerIconGroup "default" // gfx \ limbo \ temperate \ ...

gm_custom_weaponGroup "default" // custom \ default \ weapons \ ...

... but i'm afraid that at the moment it is not possible...

giovedì 30 agosto 2018

TCE - arms progress

I did not write any posts because I did not have good news to give.
I maded some animations for weapons (some completely new compared to those present) and with good results.
For example, for AK47 I had added another type of reload and a onother one in which the player can see the accessories mounted on the weapon.
Unfortunately I immediately fight with the error "ERROR: VirtualAlloc commit failed." when the map is changing. The Z_CQB_players and Z_CQB_Viewarms package wan't work together! (both in ET and in ET Legacy)
Until now I practically i'll go step by step and by elimination, to understand what generated it.
In the end I won my battle but the war will probably is a draw.

I avoid to tell the list of all the attempts I made and get to the point: there is a maximum amount of memory dedicated to all the player models and their animations (.md3 files).
This means that all the models of the heads + animations of the heads + the models of the arms + all the animations of the arms should not exceed a certain amount.
Originally, the game has one head for all the models of players with 400 frames + one model of arms with about 100 frames for each weapon. Realy a poor thing.
I made 5 heads with 400 frame animations and three arms models with 180 frame animations and I immediately had the problem "ERROR: VirtualAlloc commit failed.".

As you can see this limit is very, very, very penalizing for those who want to use the engine and make an inprovement with a good graphic level.

Since I can not touch the code I am forced to the following workaround:

- Reduction the number of heads from 5 to 4 and the duration of animations from 400 to 180 frames (for the moment I removed HD_IDLE4, HD_DAMAGED_IDLE2, HD_DAMAGED_IDLE3, SMILE)
- Elimination of any accessory for the heads (even the hair will be added via tag in .skin file)

- Reduction of polygons and vertices for models of hands and arms
- Reduction of variations of the arms models from 3 to 2 (sleeves + elbow pads will be unused)
- Reduction of the animations of the arms to have maximum 60 frames (since some are managed by the code such as drop/raise)

I have requested the of coroner's authorization to distribute the new version of CQB but without success so I will dedicate myself to TCE.
In any case, without a proper modification to the engine code, I'm afraid a 3D artist will never do a good job to improve the graphic content related to the players' models and the game's animations.

lunedì 30 aprile 2018

CQB - 3D first person view arms

I made some variations of the arms, reduced the number of polygons and rigged the models.

long sleeves & pads -->  polys:1470 , verts:826
long sleeves --> polys:874 , verts:448
short sleeves arms --> polys:374 , verts:408
hands --> polys:2260 , verts:1134

lunedì 11 dicembre 2017

New Z_CQB_players package released

I think I've finally found out the problem generated by my package ("VirtualAlloc commit failed - Attempt to access invalid address"). I think that it could be linked to the amount of md3 that you can handle from skin files and to some variable not properly sized/defined ( maybe here --> tr_image, tr_model.c or cg_character.c).

For example, in tr_image I find the following lines:
if (strstr (token, "md3_"))
if (skin-> numModels> MAX_PART_MODELS)
Ren_Warning ("WARNING: Ignoring models in '% s', the max is% d! N", name, MAX_PART_MODELS);

1) initially I had this error:
------ Server Initialization ------
Server: obj_snow
RE_Shutdown( 0 )
ERROR: VirtualAlloc commit failed.
Attempt to access invalid address.

----- Server Shutdown -----
RE_Shutdown( 0 )

I solved commenting on the last two lines in (tested on windows TCE/CQB + all tce maps + cqb_sample)

head, "models/players/hud/head04a"
teeth, "models/players/hud/teeth01"
eye1, "models/players/hud/eye03"
eye2, "models/players/hud/eye03"
//eye_patch01, "models/players/hud/head04a"
//hair01, "models/players/hud/hair01"

2) Then came this error:
LOADING... - classes
^1ERROR: characters/temperate/axis/soldier.char, line 4: unknown token 'skinGroup'
ERROR: ERROR: CG_RegisterPlayerClasses: failed to load character file 'characters/temperate/axis/soldier.char' for the Axis Soldier
----- Server Shutdown -----

I solved commenting //md3_beltr in (tested on windows TCE/CQB + all tce maps + cqb_sample)

//md3_back, "models/players/temperate/allied/acc/backpack.md3"
//md3_beltr, "models/players/temperate/allied/acc/beltr_pouch01_b.md3"
md3_beltl, "models/players/temperate/allied/acc/beltl_pouch01_b.md3"
md3_belt, "models/players/temperate/allied/acc/belt_pouch01_b.md3"
md3_legr, "models/players/temperate/allied/acc/legr_holster01_b.md3"
md3_legl, "models/players/temperate/allied/acc/legl_pouch01_b.md3"
l_legs, "models/players/temperate/allied/legs02blue_woodland01"
u_body, "models/players/temperate/allied/body01blue_woodland01"
u_rthand, "models/players/temperate/common/hands01"
u_lfthand, "models/players/temperate/common/hands01"

3) ET Legacy works but does not load some shader/md3 assets and I find these WARNING
LOADING... - classes
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: failed to register skin 'models/players/temperate/axis/soldier/' referenced from 'characters/temperate/axis/soldier.char'
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/medic/', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/medic/', the max is 5!
^3WARNING: failed to register skin 'models/players/temperate/axis/medic/' referenced from 'characters/temperate/axis/medic.char'

It could also be the cause for crash when using Z_CQB_Viewarms_sg552_20160208.pk3 that contains the arms and the sig552?
I used 7 parts in sg552rdsd.weap adding tags to make a compound weapon (and doing also animations to mount/unmount the sight/suppressor/foregrip)
part 0
tag "tag_main"
model "models/weapons2/sg552/sg552_view_main.mdc"
part 1
tag "tag_clip"
model "models/weapons2/sg552/sg552_view_clip.mdc"
part 2
tag "tag_slide"
model "models/weapons2/sg552/sg552_view_slide.mdc"
part 3
tag "tag_sight"
model "models/weapons2/sight/sight_view_reddot.mdc"
part 4
tag "tag_suppr"
model "models/weapons2/silencer/silencer_view_silencer01.mdc"
part 5
tag "tag_clip2"
model "models/weapons2/sg552/sg552_view_clip.mdc"
part 6
tag "tag_fgrip"
model "models/weapons2/grip/grip_view_foregrip01.mdc"

Is it a partial limit for individual characters .skin file or is a total limit? I don't know, but It would be nice to touch the code in such a way that these treshold are increased.

The package is pretty much ready and need to be tested. Maybe it's a good idea make some screenshots at the maximum resolution. In any case, it's better use the "seta com_ignorecrash 1" option to prevent that some crash reset the configuration at the low resolution. Maybe in the future we could include the full body model in the deploy menu, using cqb_menu_idle & cqb_menu_lookweap animations (cqb_common.aninc in the Z_CQB_animations_20150513) or use head animations like pain or attack sequence.

It would be great if coroner could check the code to see if he can change the limits of md3 manageable via .skin files

You can check my last package Z_CQB_players_20171109.pk3 here (completely replaces the previous one) -->

venerdì 1 settembre 2017

Blue Team - Arctic version

Here some variations for the arctic environment for the spec ops team.

Camo used:
Schneetarn [Germany]

All the variations of the textures I have made for the player models are about 1 GB (.tga) so will probably I'm forced to convert everything to jpg and/or to include only those actually used.
After I put a bit of order I will probably prepare two packages. The first one for the essential files and the other one for the extra textures.
Afterwards I will work on the heads with basic facial animations and I will make another additional package.
I would also like to complete the high-poly mesh of a knife I'm designing according to my experience (I'm a knifes lover) to print it in 3d.

venerdì 18 agosto 2017

Red Team - Arctic version

A render for the Red team - Arctic environment

Camo used:
M05 [Finland], PenCott-Snowdrift [USA], SnakePlissken
M05 [Finland], Kryptek yeti [USA], PenCott-Snowdrift [USA]