Хакинг:Sonic Generations/SonicGLVL — различия между версиями
Red TF (обсуждение | вклад) м |
Red TF (обсуждение | вклад) м |
||
Строка 310: | Строка 310: | ||
<spoiler> | <spoiler> | ||
− | |||
<DefAppend> | <DefAppend> | ||
Версия 17:42, 26 марта 2013
После создания и запаковки уровня у Вас появился вопрос, что же дальше? Как мне поставить пружины или ускорители? Как вставить камеры? На эти вопросы я отвечу здесь.
Содержание
Быстрый гайд
Многие затрудняются с камерой в SonicGLVL т.к. она не похожа на ту, что есть в 3ds Max'е. Чтобы крутить камеру зажмите колесико мышки, чтобы крутить влево/вправо/вверх/вниз – alt + колесико мышки. Чтобы приближать – ctrl + колесико мышки.
Объекты
Начнем с того, что пройдемся по объектам в соникглвл. В основном все нужные нам объекты находятся в Common. Там есть все нужное для нормального геймплея – кольца, кольца и панели для ускорения и прочее.
Стоит отметить, что каждый объект нуждается в тщательной калибровке, невозможно с первого раза поставить пружину так, чтобы попасть туда, куда вам нужно. Поэтому приготовьте много валерьянки, ибо бегать между программой и игрой Вам придется очень много.
Основные параметры
IsCastShadow
- Если true то объекты будет отбрасывать тень. Если false то не будет. Стоит отметить, что некоторые объекты не могут отбрасывать тень.
Range
- Это свойство устанавливает расстояние отрисовки объекта. Если диапазон очень низкий, то скорее всего его не будет видно издали. Если же он наоборот высок, то его можно будет видеть за километр.
- Иногда приходится устанавливать очень большие значения в случае камер и изменений камер; это не только расстояние отрисовки, но и расстояние, на котором объект существует. Если объект попытается взаимодействовать с другими объектами, которые не загружены / не находятся в одной области с ним, то игра скорее всего вылетит.
SetObjectID
- Параметр ID объекта, не трогайте этот параметр без надобности.
OutOfControl
- Этот параметр дает понять, как долго эффект объекта будет действовать на соника. К примеру, если в JumpBoard этот коэффициент большой, то вы не сможете некоторое время управлять соником после взаимодействия.
IsTo3D
- Если true то Соник вернется в 3D, если он в 2D разделе. Если false, Sonic не будет переключаться обратно в 3D.
Вот немного особенностей некоторых объектов:
Ring
- IsLightSpeedDashTarget
- Если поставить true то кольцо превратится в лайпспиддашринг, если false то останется обычным.
GoalSignboard/GoalRing
- ResultsPosition – место, где происходит подсчет баллов. Если вы хотите повернуть камеру, то поверните сам объект.
ClassicItemBox
- IsRevive
- Если поставить true то объект будет восстанавливаться после того, как вы его использовали. Если false то его можно будет использовать только один раз.
- ItemType
- 1 = 10 Колец
- 2= 1-Up
- 3 = Speed Shoes
- 4 = Invincibility
- 5 = Skateboard
- 6 = Undefined
- 7 = Undefined (presumably 0)
- 8 = Fire Shield
- 9 = Bubble Shield
- 10 = Thunder Shield
Помните: ItemType 0 не существует, игра может вылетать.
Springs
- FirstSpeed
- Скорость с которой пружина толкает Соника.
- KeepVelocityDistance
- Этот параметр задает, как долго Соник будет сохранять импульс до того, как на него начнет действовать гравитация.
- MotionType (Modern)
- 0 = Обычная анимация.
- 1 = Обычная анимация.
- 2 = Соник сразу переходит в анимацию падения.
- 3 = Соник сворачивается в шар, после чего разворачивается из него.
- 4 = Трудно объяснить, что за анимация. См.скрин.
- 5 = Вылет.
- 6 = Такая же анимация как если бы соник попал в шарик.
Примечание: MotionType 7 и выше могут привести к вылету.
AdlibTrickJump
- SizeType
- Если 1 то это нормальный размер. Если 0, то панель будет меньше чем 1.
ObjectPhysics
- Обычно отвечает за разрушаемые объекты.
- Type
- Полный список объектов:
- bpc_obj_debrisA
- bpc_obj_debrisB
- bpc_obj_debrisC
- bpc_obj_debrisDa
- bpc_obj_debrisDb
- Bpc_obj_redcar
- Bpc_obj_taxi
- BrkDice
- BrkTip
- cmn_obj_tripplate
- cpz_obj_breakbox
- cpz_obj_breakboxtall
- cpz_obj_pipelinecapA
- cpz_obj_pushbox
- cpz_obj_roundirontower
- cpz_obj_shutter
- csc_obj_barricadeA
- csc_obj_barricadeB
- csc_obj_roadconeA
- csc_obj_roadconeB
- csc_obj_roadconeC
- csc_obj_roadconeD
- cte_obj_barricadeA
- cte_obj_bench
- cte_obj_cablecar
- cte_obj_chairA
- cte_obj_house
- cte_obj_house02
- cte_obj_hydrantA
- cte_obj_paperbox
- cte_obj_parasolA
- cte_obj_parasolB
- cte_obj_parkingmeter
- cte_obj_parkingsign
- cte_obj_post
- cte_obj_pushbox
- cte_obj_signal
- cte_obj_tableA
- cte_obj_telbox
- cte_obj_trashbox
- cte_obj_tree
- cte_obj_woodboxA
- euc_obj_barrel
- euc_obj_barrelgold
- euc_obj_boardA
- euc_obj_boardB
- euc_obj_breakirongate
- euc_obj_breakirongates
- euc_obj_chain
- euc_obj_chair01
- euc_obj_chair02
- euc_obj_fence
- euc_obj_flagA
- euc_obj_librarydoor
- euc_obj_librarydoorside
- euc_obj_lid
- euc_obj_manyflagA
- euc_obj_ObstructwindowB
- euc_obj_parasol01
- euc_obj_pole
- euc_obj_polebase
- euc_obj_potplant_benjaminJ
- euc_obj_potplant_dracaenaH
- euc_obj_potplant_green
- euc_obj_potplant_ivyH
- euc_obj_potplant_mixFF
- euc_obj_pushbox
- euc_obj_smallbarrel
- euc_obj_tableA
- euc_obj_tableB
- Floor_4bxh8
- ghz_obj_tn1_purplerock
- ghz_obj_tn1_purplerockmini
- IronBox
- IronWoodBox
- MotionTest
- pipe1
- pipe2
- pla_ks2_barricade
- pla_ks2_oildrum
- pla_ks2_plabox
- pla_ks2_safetydrum
- pla_obj_ExcavatorCutter
- pla_obj_ExcavatorDrill
- pla_obj_Redlight
- pla_obj_signarrowA
- PulleyBase
- PulleyStand
- sph_obj_barricadeA
- sph_obj_breakwindowA
- sph_obj_breakwindowB
- sph_obj_breakwindowC
- sph_obj_breakwindowD
- sph_obj_cartA
- sph_obj_chairA
- sph_obj_doorA
- sph_obj_drumA
- sph_obj_drumsetA
- sph_obj_exhaustportA
- sph_obj_glassgroundA_000
- sph_obj_glassgroundA_001
- sph_obj_guardrailA
- sph_obj_helicopter_stop
- sph_obj_hoteltableA
- sph_obj_nolightcarA
- sph_obj_nolightcarB
- sph_obj_nolightcarC
- sph_obj_nolightcarD
- sph_obj_potplantB
- sph_obj_roadcornA
- sph_obj_roadcornB
- sph_obj_roketglassA
- sph_obj_roketglassB
- sph_obj_searchlight_blue
- sph_obj_searchlight_red
- sph_obj_searchlight_ylw
- sph_obj_sofaA
- sph_obj_tableA
- sph_obj_trunk
- ssh_obj_bobsleigh_gate
- ssh_obj_breakroof01A
- ssh_obj_breakroof01B
- ssh_obj_breakroof02
- ssh_obj_broken-door
- ssh_obj_flagA
- ssh_obj_floorx
- ssh_obj_pot
- ssh_obj_pushbox
- ssh_obj_signarrow
- ssh_obj_whalehead
- ssh_obj_whalestatue
- ssz_obj_breakgroundA_02_brk_001
- ssz_obj_breakgroundA_02_brk_002
- ssz_obj_breakgroundA_02_brk_003
- ssz_obj_breakgroundA_02_brk_004
- ssz_obj_breakgroundA_02_brk_005
- ssz_obj_breakgroundA_02_brk_006
- ssz_obj_breakgroundA_02_brk_007
- ssz_obj_breakgroundA_02_brk_008
- ssz_obj_breakgroundA_02_brk_010
- ssz_obj_breakgroundA_02_brk_011
- ssz_obj_breakgroundA_02_brk_012
- ssz_obj_breakgroundA_02_brk_013
- ssz_obj_breakgroundA_02_brk_014
- ssz_obj_breakgroundA_02_brk_015
- ssz_obj_breakgroundA_02_brk_016
- ssz_obj_breakwindowA
- ssz_obj_breakwindowB
- ssz_obj_breakwindowC
- ssz_obj_breakwindowD
- ssz_obj_brkwinAnoBound
- ssz_obj_debrisA_000
- ssz_obj_fallingdebris_000
- ssz_obj_guidestick_20M
- ssz_obj_guidestick_7M
- ssz_obj_signarrow
- ThornBallDynamic
- ThornContainerSideBrk
- ThornContainerUpBrk
- ThornCylinder2M
- ThornCylinder3M
- WoodBox
Switch
- Type
- 0 = Если активировать, то уже не выключится.
- 1 = Если сойти с него, то он выключится.
- 2 = Если один раз активировать то он деактивируется только через время заданное в "OffTimer".
General Floor
- Модель каждой панели зависит от уровня в котором вы его ставите.
- Amplitude
- Устанавливает, насколько платформа перемещается, если движение разрешено.
- Cycle
- Устанавливает скорость движения платформы, если движение разрешено.
- MoveType
- 0 = Без движения
- 1 = Движение вверх и вниз.
- 2 = Движение влево и вправо.
- FloorSize
- Нормальный размер где-то 0-3. Чем больше значение тем больше платформа будет.
- loorType
- 0 = Обычная платформа
- 1 = Падающая платформа
- 2 = Блок
SetRigidBody
Этот объект создает невидимую стену (или пол).
- Collision_Height
- Параметр задает высоту.
- Collision_Length
- Задает параметр длинны.
- Collision_Width
- Задает параметр ширины.
Cannon
- BaseVel
- Задает высоту выстрела пушки. Если она сильно большая, то Соник может вылетать за уровень и не попасть в точку назначения. Но если значение маленькое, то соник не достигнет своей цели и упадет раньше.
- DstPos
- Позиция, где Соник приземлится.
Коллизии
Что такое коллизия Вы знаете из создания уровня, там это была простая твердость. Тут у нас в руках есть куча разных включателей коллизии, от повышения гравитации до ускорения соника. Вот небольшой список того, что знаю я:
Основные параметры коллизий
Collision_Height
- Параметр задает высоту.
Collision_Length
- Задает параметр длинны.
Collision_Width
- Задает параметр ширины.
Прочие параметры коллизий
GravityChangeCollision
- Эта коллизия изменяет гравитацию внутри.
JumpCollision
- Дает импульс Сонику.
ImpulseSpeedOnBoost
- Задает силу импульса, который даст коллизия когда Соник использует буст.
ImpulseSpeedOnNormal
- Задает силу импульса, который даст коллизия когда Соник бежит без буста.
Pitch
- Это параметр, который задает угол запуска Соника.
SpeedMin
- Устанавливает, насколько быстро Соник должен пройти для того, чтобы активировать действие коллизии.
FallDeadCollision
- Когда Соник проходит это коллизию, он умирает.
SlidingCollision
- Коллизия заставляет Соника скользить.
Враги
Враги находятся во вкладке Enemy. Там есть враги как для 2д вида, так и для 3д. Но для того, чтобы ваши враги работали, и игра не вылетала, вам в вашем моде обязательно нужна будет папка bb3 в которой будет #Application.ar.00.
Невозможно поставить, к примеру, Egg Pawn'а в Green Hill Zone (далее ghz) т.к. данных о нём в ghz попросту нету. Для этого распаковываем #Application.ar.00. (по известному уже нам принципу) и внутри ищем файл EnemyArchiveTree.xml а уже в нем строку
<DefAppend>
<Name>ghz_cmn</Name> (название уровня, расшифровка дана в первом туториале)
<Archive>EnemyCommon</Archive> (название врага)
<Archive>EnemyBeeton</Archive>
<Archive>EnemyBatabata</Archive>
<Archive>EnemyGanigani</Archive>
<Archive>EnemyMotora</Archive>
</DefAppend>
Если в ghz вам нужен Egg Pawn, то находим строку о ssh и строку о Egg Pawn'е.
<Archive>EnemyEPawnCommon</Archive>
Далее вставляем последовательно в ghz и сохраняем, перепаковываем и сохраняем это в наш bb3.