Вы не вошли.

Уважаемый гость, добро пожаловать на форум: CRYMOD.NET - Портал сообщества CryENGINE. Если вы здесь впервые, то, пожалуйста, прочитайте раздел Помощь. В этом разделе можно подробно ознакомится с функционалом данной системы. Что бы использовать все возможности системы, необходимо зарегистрироваться. Для этого пройдите по ссылке и узнайте подробнее о процессе регистрации. В случае если вы уже зарегистрировались – войдите под своей учётной записью.

kirill67992

Новичок

  • "kirill67992" мужчина
  • "kirill67992" создал эту тему

Сообщений: 5

Место жительства: спб

Профессия: Эльдорадо

1

Четверг, 5 Ноябрь 2020, 15:40

[CE2]Реализация Armor Mode

Всем доброго дня!! Вышел Crysis Remastered, и подогрел на создание модов для первого крайзиса))), в Remastered были добавлены некоторые фичи, но больше всего интересна реализация Armor mode по типу как в crysis 2 и 3.
Так вот покопавшись в файлах и перебрав все файлы HUD я так и не нашел его, понятно что без C++ это невозможно реализовать, но откуда берется этот эффект на экране ?
Если кто то располагает инфой, подскажите))

kirill67992

Новичок

  • "kirill67992" мужчина
  • "kirill67992" создал эту тему

Сообщений: 5

Место жительства: спб

Профессия: Эльдорадо

2

Четверг, 5 Ноябрь 2020, 19:07

Нашел, скорее всего идет реализация через шейдеры, а именно этот эффект прописан в CommonEffectLayerPass.cfi

Код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  // "Armor mode"
#if %_RT_SAMPLE1
  #define pulseSpeed 8.0
  #define thicknessRatio 16.0
  #define saturationStrength IN.vView.w
  #define pulseGlobalGlow 0.005
  #define pulseMultiplier 200.0
  #define pulseStrengthMultiplier 8.0
  half rimStrength = 1.0 - abs(dot(vView.xyz,vNormalVtx));
  
  // Pulse 1
  half pulseTime1 = frac(EffectLayerTime.x*pulseSpeed);
  half pulseOffset = (abs(pulseTime1-rimStrength));
  half pulseStrength = saturate(max((1.0/thicknessRatio) - pulseOffset,0.0) * saturationStrength);
  half pulseAlpha = (1.0-pulseTime1);
  pulseAlpha *= pulseAlpha;
  half pulse = (1.0-(pulseOffset * thicknessRatio)) * pulseAlpha * pulseStrength;
  
  // Pulse 2
  half pulseTime2 = frac(pulseTime1+0.5);
  pulseOffset = (abs(pulseTime2-rimStrength));
  pulseStrength = saturate(max((1.0/thicknessRatio) - pulseOffset,0.0) * saturationStrength);
  pulseAlpha = (1.0-pulseTime2);
  pulseAlpha *= pulseAlpha;
  pulse += (1.0-(pulseOffset * thicknessRatio)) * pulseAlpha * pulseStrength;
   
  // Lighting
  half fNdotE = saturate( dot( vNormal, vView.xyz ) );
  fFresnel = 0.75  + (1 - 0.75) * (1-fNdotE)* (1-fNdotE); 

  // Apply pulses
  pulse = ((pulse * pulse) + pulseGlobalGlow) * pulseMultiplier * vAnimPattern.y * cDiffuseMap.w;
  cFinal.xyz = lerp(cFinal.xyz,cDiffuseMap.xyz * cModeColor * pulse * pulseStrengthMultiplier,EffectLayerParams1.y);

#endif // _RT_SAMPLE1


В исходном коде C++ который в нашем распоряжении, возможно взаимодействие с шейдерами ?

3

Четверг, 5 Ноябрь 2020, 22:46

Crysis Remastered это CryEngine 5. Ничего не могу сказать про него. Дурацкий оверлей из Crysis 2 совсем лишний в Crysis 1.

Вот есть мод, в котором что-то подобное уже есть: https://www.moddb.com/mods/crysis-remast…d-frag-grenades

Может быть поможет.
Legacy of the Yods



kirill67992

Новичок

  • "kirill67992" мужчина
  • "kirill67992" создал эту тему

Сообщений: 5

Место жительства: спб

Профессия: Эльдорадо

4

Четверг, 5 Ноябрь 2020, 23:58

Благодарю, посмотрим, сразу так и не скажешь что это СЕ5, если бы не сказал, то и не догадался бы, но выглядит как модифицированый СЕ2, причем все это было еще в консольной версии Crysis, теперь же просто графику подтянули и саунд другой поставили
А насчет оверлея, ну тут уж как всегда вкусовщина)))

Может быть поможет.

Разобрался, там идет bump маска из dds текстуры, затем подтянута и запараметрирована в shader'е, далее видимо идет активация через Cpp, где уже не достать

Это сообщение было отредактировано 1 раз(а), последнее редактирование в "kirill67992" (6 Ноябрь 2020, 00:41)


5

Пятница, 6 Ноябрь 2020, 06:41

Благодарю, посмотрим, сразу так и не скажешь что это СЕ5, если бы не сказал, то и не догадался бы, но выглядит как модифицированый СЕ2, причем все это было еще в консольной версии Crysis, теперь же просто графику подтянули и саунд другой поставили


Remaster везде позиционировался как Crysis на CryEngine 5, так что это не было секретом. А насчёт кода, напиши автору, может быть он поделится секретом.
Legacy of the Yods



6

Вторник, 17 Ноябрь 2020, 01:09

Выяснилось, что Remastered - это обман. Он сделал не на CryEngine 5, а на CryEngine 3. За основу была взята консольная адаптация на CryEngine 3.4.x от 2011 года, которую на скорую руку выпустили для PS3 и Xbox 360. В 2019 году эту версию отдали аутсорсерам из Saber Interactive, и они улучшили ту самую версию 3.4, добавив в неё некоторые технологии освещения и совместимость с более новым поколением консолей из CryEngine 5 . В итоге нас всех на*бали. Все расходимся.
Legacy of the Yods



7

Четверг, 19 Ноябрь 2020, 20:29

Зато в зарплатах себе не отказывают...