Ru/Precaching Assets: Difference between revisions
KindDragon (talk | contribs) No edit summary |
m (obsolete language category) |
||
(6 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{lang|Precaching Assets}} | |||
Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу. | Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу. | ||
Line 15: | Line 15: | ||
</pre> | </pre> | ||
'''Параметры''' | '''Параметры''' | ||
* | * ''name'' | ||
** Имя файла модели для загрузки | ** Имя файла модели для загрузки | ||
'''Возвращаемое значение''' | '''Возвращаемое значение''' | ||
Line 28: | Line 28: | ||
</pre> | </pre> | ||
'''Параметры''' | '''Параметры''' | ||
* | * ''soundname'' | ||
** Имя звукового скрипта для загрузки. | ** Имя звукового скрипта для загрузки. | ||
'''Примечание''' | '''Примечание''' | ||
Line 44: | Line 44: | ||
</pre> | </pre> | ||
'''Возвращаемое значение''' | '''Возвращаемое значение''' | ||
* | * ''pszScene'' | ||
** Имя VCD файла для загрузки. | ** Имя VCD файла для загрузки. | ||
'''Возвращаемое значение''' | '''Возвращаемое значение''' | ||
Line 59: | Line 59: | ||
</pre> | </pre> | ||
'''Параметры''' | '''Параметры''' | ||
* | * ''szClassname'' | ||
** Имя класса энтити для которой кэшируются файлы. | ** Имя класса энтити для которой кэшируются файлы. | ||
* | * ''modelName'' | ||
** Имя модели для использования этой ентити. | ** Имя модели для использования этой ентити. | ||
'''Возвращаемое значение''' | '''Возвращаемое значение''' | ||
Line 75: | Line 75: | ||
</pre> | </pre> | ||
'''Параметры''' | '''Параметры''' | ||
* | * ''name'' | ||
** Имя декали для кеширования. | ** Имя декали для кеширования. | ||
* | * ''preload'' | ||
** Загружать или нет декаль. | ** Загружать или нет декаль. | ||
'''Возвращаемое значение''' | '''Возвращаемое значение''' | ||
Line 90: | 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
Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу.
Функции
Функция 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