Ru/Precaching Assets: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
m (obsolete language category)
 
(5 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Russian]]
{{lang|Precaching Assets}}
[[Category:Программирование]]
Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу.
Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу.


Line 16: Line 15:
</pre>
</pre>
'''Параметры'''
'''Параметры'''
* <i>name</i>
* ''name''
** Имя файла модели для загрузки
** Имя файла модели для загрузки
'''Возвращаемое значение'''
'''Возвращаемое значение'''
Line 29: Line 28:
</pre>
</pre>
'''Параметры'''
'''Параметры'''
* <i>soundname</i>
* ''soundname''
**  Имя звукового скрипта для загрузки.
**  Имя звукового скрипта для загрузки.
'''Примечание'''
'''Примечание'''
Line 45: Line 44:
</pre>
</pre>
'''Возвращаемое значение'''
'''Возвращаемое значение'''
* <i>pszScene</i>
* ''pszScene''
** Имя VCD файла для загрузки.
** Имя VCD файла для загрузки.
'''Возвращаемое значение'''
'''Возвращаемое значение'''
Line 60: Line 59:
</pre>
</pre>
'''Параметры'''
'''Параметры'''
* <i>szClassname</i>
* ''szClassname''
** Имя класса энтити для которой кэшируются файлы.
** Имя класса энтити для которой кэшируются файлы.
* <i>modelName</i>
* ''modelName''
** Имя модели для использования этой ентити.
** Имя модели для использования этой ентити.
'''Возвращаемое значение'''
'''Возвращаемое значение'''
Line 76: Line 75:
</pre>
</pre>
'''Параметры'''
'''Параметры'''
* <i>name</i>
* ''name''
** Имя декали для кеширования.
** Имя декали для кеширования.
* <i>preload</i>
* ''preload''
** Загружать или нет декаль.
** Загружать или нет декаль.
'''Возвращаемое значение'''
'''Возвращаемое значение'''
Line 91: Line 90:
*PRECACHE_WEAPON_REGISTER
*PRECACHE_WEAPON_REGISTER
*CLIENTEFFECT_REGISTER_BEGIN
*CLIENTEFFECT_REGISTER_BEGIN
[[Category:Russian]]
{{ACategory|Programming}}

Latest revision as of 03:57, 22 August 2024

English (en)Русский (ru)Translate (Translate)

Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу.

Функции

Функция Precache() доступна всем потомкам класса CBaseEntity и должна вызываться в методе Spawn() каждой энтити. Все файлы используемые энтитей (модели, звуки, VCD, декали) должны быть объявлены в этой функции. Файлы не могут подгружаться вне этой функции.

Файлы кэшируются используя следующие функции:

PrecacheModel

Используется для кэширования моделей или материалов.

int CBaseEntity::PrecacheModel(
     const char *name
)

Параметры

  • name
    • Имя файла модели для загрузки

Возвращаемое значение

  • Индекс ссылающийся на модель.

PrecacheScriptSound

Используется для кэширования звуковых скриптов объявленых в скрипте звуковых файлов.

void CBaseEntity::PrecacheScriptSound(
     const char *soundname
)

Параметры

  • soundname
    • Имя звукового скрипта для загрузки.

Примечание

  • Звуковые скрипты объявляются в файле sound script manifest.

Возвращаемое значение

  • Нет.


PrecacheInstancedScene

Используется для кэширования VCD файлов.

void PrecacheInstancedScene(
     char const *pszScene
)

Возвращаемое значение

  • pszScene
    • Имя VCD файла для загрузки.

Возвращаемое значение

  • Нет.


UTIL_PrecacheOther

Вспомогательная функция вызывающая функцию Precache() для энтити которая создается или ссылается во время существования вызывающей энтити. Эта функция часто используется для оружия которое динамически создает дочернюю энтить (например граната) во время сессии.

void UTIL_PrecacheOther(
     const char *szClassname,
     const char *modelName
)

Параметры

  • szClassname
    • Имя класса энтити для которой кэшируются файлы.
  • modelName
    • Имя модели для использования этой ентити.

Возвращаемое значение

  • Нет.

UTIL_PrecacheDecal

Используется для кэширования декалей..

int UTIL_PrecacheDecal(
     const char *name,
     bool preload
)

Параметры

  • name
    • Имя декали для кеширования.
  • preload
    • Загружать или нет декаль.

Возвращаемое значение

  • Индекс ссылающийся на модель декали.

Дополнительно

  • IEngineSound::PrecacheSound
  • IVEngineServer::PrecacheSentenceFile
  • IVEngineServer::PrecacheDecal
  • IVEngineServer::PrecacheGeneric

Определения

  • PRECACHE_WEAPON_REGISTER
  • CLIENTEFFECT_REGISTER_BEGIN