Actions

SCHG

Difference between revisions of "Sonic Generations/Collision Properties"

From Sonic Retro

m (Text replacement - "Category:Sonic Community Hacking Guide" to "")
(Tagging System)
 
(7 intermediate revisions by 3 users not shown)
Line 6: Line 6:
  
 
=Havok Converter Database=
 
=Havok Converter Database=
 
Empty.
 
  
 
=Havok Property Keys=
 
=Havok Property Keys=
Line 17: Line 15:
 
* '''Key 1260399450'''
 
* '''Key 1260399450'''
 
* '''Data Values'''  
 
* '''Data Values'''  
+
 +
* '''For Both Unleashed and Generations'''
 
** 1: Normal
 
** 1: Normal
 
** 2: Deep Water (Use Convex Hull for Generations)
 
** 2: Deep Water (Use Convex Hull for Generations)
Line 24: Line 23:
 
** 5: Wood
 
** 5: Wood
 
** 6: Grass
 
** 6: Grass
** 7: Snow -Works only in Unleashed. Crashes in Generations missing sound file.
+
** 7: Snow (Works only in Unleashed. Crashes in Generations missing sound file.)
 
** 8: Metal
 
** 8: Metal
** 9: Sand
+
** 9: Sand (Works only in Unleashed. Generations has no sand tracks in Sonic's CSB file, so it plays concrete footstep SFX instead. Use the "dirt" tag if you want sand collisions.)
 
** 10: Glass
 
** 10: Glass
 
** 11: Shallow Water
 
** 11: Shallow Water
Line 39: Line 38:
 
** 19: Lava
 
** 19: Lava
 
** 20: Poison
 
** 20: Poison
 +
  
 
==Player Collision==
 
==Player Collision==
Line 44: Line 44:
 
* '''Key 2088238466'''
 
* '''Key 2088238466'''
 
* '''Automatically this is set to 1 but you can change this in case you want Sonic to fall through something. Or want enemies or objects only to be affected. '''
 
* '''Automatically this is set to 1 but you can change this in case you want Sonic to fall through something. Or want enemies or objects only to be affected. '''
+
 +
 
==Camera Collision==
 
==Camera Collision==
 
* '''swa_col_camera '''
 
* '''swa_col_camera '''
 
* '''Key 1706239430'''
 
* '''Key 1706239430'''
 
* '''Setting this set to 1 will not let the camera go through collision which is default when exported. 0 will make allow the camera to go through it.'''
 
* '''Setting this set to 1 will not let the camera go through collision which is default when exported. 0 will make allow the camera to go through it.'''
+
 +
 
==Other Collision==
 
==Other Collision==
 
* '''swa_col_other '''
 
* '''swa_col_other '''
 
* '''Key 620872783'''
 
* '''Key 620872783'''
 
* '''This also is set to 1 on default. Setting it to 0 will allow Object Physics and other objects that aren't Sonic or Enemies go through. Useful for object physics to go and break outside of areas sonic can't go to.'''
 
* '''This also is set to 1 on default. Setting it to 0 will allow Object Physics and other objects that aren't Sonic or Enemies go through. Useful for object physics to go and break outside of areas sonic can't go to.'''
 +
  
 
==Attacking Collision==
 
==Attacking Collision==
Line 64: Line 67:
 
* '''Key 122999549'''
 
* '''Key 122999549'''
 
* '''This is used for Werehog in Unleashed for the balancing beams but turns out it is also used for Classic Sonic as well when tested in Werehog Level Collision'''
 
* '''This is used for Werehog in Unleashed for the balancing beams but turns out it is also used for Classic Sonic as well when tested in Werehog Level Collision'''
 +
  
 
==Wall Jump -Unleashed Only==
 
==Wall Jump -Unleashed Only==
Line 69: Line 73:
 
* '''Key 507440184'''
 
* '''Key 507440184'''
 
* '''Setting this to 1 will let any wall be able to walljump. Generations doesn't use this you just need to place the triangle jumping collision in an area where you want to walljump instead.'''
 
* '''Setting this to 1 will let any wall be able to walljump. Generations doesn't use this you just need to place the triangle jumping collision in an area where you want to walljump instead.'''
 +
  
 
==Conveyor Belt==
 
==Conveyor Belt==
Line 74: Line 79:
 
* '''Key 1196263925'''
 
* '''Key 1196263925'''
 
* '''Use 'Egg_BeltCollisionSV', 'Egg_BeltCollision' objects in Unleashed. Use 'BeltConveyorCollision' object in Generations'''
 
* '''Use 'Egg_BeltCollisionSV', 'Egg_BeltCollision' objects in Unleashed. Use 'BeltConveyorCollision' object in Generations'''
 +
  
 
==Player Wall==
 
==Player Wall==
 
* '''swa_sonic_isplayerwall'''
 
* '''swa_sonic_isplayerwall'''
 
* '''Key 1368296714'''
 
* '''Key 1368296714'''
 +
  
 
==Ice Ground==
 
==Ice Ground==
Line 84: Line 91:
 
* '''Limited movement in SG Final, allmost full in SG Demo1'''
 
* '''Limited movement in SG Final, allmost full in SG Demo1'''
 
* '''Normally this is set to 0 and turned off.'''
 
* '''Normally this is set to 0 and turned off.'''
 +
  
 
==Collision Specific==
 
==Collision Specific==
 
* '''swa_col_specific'''
 
* '''swa_col_specific'''
* '''Key 246659335'''
+
* '''Key 1330259859'''
* '''On default this is set to 1 which applies Sonic with the slopes and fitting the momentum. Setting it to 0 Ignores it and keeps the speed.'''
+
* '''By default this is always set to 1. Value 2 is Collision for the IK and Value 3 is the IK collision for the feet to adjust to.'''
* '''Setting it to 2 will give you IK collision. But you must have another mesh under it with modeled in steps for Sonic's legs to adjust to then you set that mesh to 3.'''
+
* '''Note : Setting the Value to 2 is collision that goes inbetween the IK Collision for feet adjustement.'''
* '''So set a mesh to 2 for the collision you want Sonic to walk on. Set another for 3 to have Sonic adjust legs to.'''
+
 
  
 
==Intersectional Way==
 
==Intersectional Way==
Line 96: Line 104:
 
* '''Key 1009866916'''
 
* '''Key 1009866916'''
 
* '''Used in Casino Night DLC'''
 
* '''Used in Casino Night DLC'''
 +
  
 
==Pinball Glass==
 
==Pinball Glass==
Line 101: Line 110:
 
* '''Key 2040148113'''
 
* '''Key 2040148113'''
 
* '''Used in Casino Night DLC'''
 
* '''Used in Casino Night DLC'''
 +
  
 
==Unknown Keys==
 
==Unknown Keys==
* '''Not sure what these keys do but they are found in Unleashed Mazuri Act 1'''
 
 
* '''Key 195947759'''
 
* '''Key 195947759'''
 
* '''Key 892943938'''
 
* '''Key 892943938'''
 +
  
 
==Tagging System==
 
==Tagging System==
 +
  
 
* '''Example using a naming structure such as col_25_hkRB_mat1@IceGround'''
 
* '''Example using a naming structure such as col_25_hkRB_mat1@IceGround'''
* '''Using @ with whatever tag will apply the properties without having to add the key to it.'''
+
* '''Using @ with the tag will apply the properties without having to add the key to it.'''
 
* '''Types'''
 
* '''Types'''
 
** @Balance                    (Unleashed only)
 
** @Balance                    (Unleashed only)
Line 126: Line 137:
 
** @NoStanding                  (Generations only, Used in SPH)
 
** @NoStanding                  (Generations only, Used in SPH)
  
 
+
==References==
 +
<references />
  
 
{{SCHGuides}}
 
{{SCHGuides}}

Latest revision as of 14:00, 26 December 2021

SCHG: Sonic Generations
Main Article

Objects
Collision Properties

File Index
BB

BB2
BB3

How-To
Import Levels

Create Breakable Objects
Create Splines

How Sonic or other objects react to the collision geometry inside of the game relies on certain extra properties assigned during conversion to the individual Havok rigid bodies.

Havok Converter supports adding these properties to custom rigid bodies with a tag naming system. New tags and key/value pairs can be added to the program as needed.

Havok Converter Database

Havok Property Keys

All these keys were found and documented by various users by inspecting the collision files found in the game. Just because a key or a value doesn't show up here doesn't mean the game can't use it. Thankfully a user by the name of Sergeanur helped figure out that the keys were just hashes.

Material Behavior Attribute

  • swa_attribute
  • Key 1260399450
  • Data Values
  • For Both Unleashed and Generations
    • 1: Normal
    • 2: Deep Water (Use Convex Hull for Generations)
    • 3: Rock
    • 4: Dirt
    • 5: Wood
    • 6: Grass
    • 7: Snow (Works only in Unleashed. Crashes in Generations missing sound file.)
    • 8: Metal
    • 9: Sand (Works only in Unleashed. Generations has no sand tracks in Sonic's CSB file, so it plays concrete footstep SFX instead. Use the "dirt" tag if you want sand collisions.)
    • 10: Glass
    • 11: Shallow Water
    • 12: Death Trigger
    • 13: Damage Trigger
    • 14: Deathless Water
    • 15: No Effect
  • Generations Only
    • 16: Oil
    • 17: Pinball Glass
    • 18: Wrong Way
    • 19: Lava
    • 20: Poison


Player Collision

  • swa_col_player
  • Key 2088238466
  • Automatically this is set to 1 but you can change this in case you want Sonic to fall through something. Or want enemies or objects only to be affected.


Camera Collision

  • swa_col_camera
  • Key 1706239430
  • Setting this set to 1 will not let the camera go through collision which is default when exported. 0 will make allow the camera to go through it.


Other Collision

  • swa_col_other
  • Key 620872783
  • This also is set to 1 on default. Setting it to 0 will allow Object Physics and other objects that aren't Sonic or Enemies go through. Useful for object physics to go and break outside of areas sonic can't go to.


Attacking Collision

  • swa_col_attacking
  • Key 1651585625


Evil Balance/Classic Idle Edge

  • swa_evil_isbalance_ground
  • Key 122999549
  • This is used for Werehog in Unleashed for the balancing beams but turns out it is also used for Classic Sonic as well when tested in Werehog Level Collision


Wall Jump -Unleashed Only

  • swa_sonic_isplayerwalljump
  • Key 507440184
  • Setting this to 1 will let any wall be able to walljump. Generations doesn't use this you just need to place the triangle jumping collision in an area where you want to walljump instead.


Conveyor Belt

  • swa_sonic_isbeltconveyor
  • Key 1196263925
  • Use 'Egg_BeltCollisionSV', 'Egg_BeltCollision' objects in Unleashed. Use 'BeltConveyorCollision' object in Generations


Player Wall

  • swa_sonic_isplayerwall
  • Key 1368296714


Ice Ground

  • swa_isIce_ground
  • Key 246659335
  • Limited movement in SG Final, allmost full in SG Demo1
  • Normally this is set to 0 and turned off.


Collision Specific

  • swa_col_specific
  • Key 1330259859
  • By default this is always set to 1. Value 2 is Collision for the IK and Value 3 is the IK collision for the feet to adjust to.
  • Note : Setting the Value to 2 is collision that goes inbetween the IK Collision for feet adjustement.


Intersectional Way

  • intersectional_way
  • Key 1009866916
  • Used in Casino Night DLC


Pinball Glass

  • pinball_glass
  • Key 2040148113
  • Used in Casino Night DLC


Unknown Keys

  • Key 195947759
  • Key 892943938


Tagging System

  • Example using a naming structure such as col_25_hkRB_mat1@IceGround
  • Using @ with the tag will apply the properties without having to add the key to it.
  • Types
    • @Balance (Unleashed only)
    • @Water
    • @NoCamera
    • @Slide (Werehog only in Unleashed. For autosliding in Generations using Guide Path ID# 888 (Hardcoded ID))
    • @IceGround (Limited movement in SG Final, allmost full in SG Demo1)
    • @DamageFall
    • @DisableThrowColl
    • @DisableTemColl
    • @spiral (Generations only)
    • @Spiral (Generations only)
    • @enableQtoW (Generations only)
    • @EnableQtoW (Generations only)
    • @NoStanding (Generations only, Used in SPH)

References


Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information