Difference between revisions of "Pikmin camera parameters"
Minty Meeo (talk | contribs) (Added a clarification I forgot to include.) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{todo|There are some undiscovered parameters. Let's try to figure them out! See the Extra Information section for more details.}} | {{todo|There are some undiscovered parameters. Let's try to figure them out! See the Extra Information section for more details.}} | ||
− | Located in <code> | + | Located in <code>/dataDir/camera/</code>, there are three [[BIN file]]s for camera parameters. |
* <code>camepara.bin</code> - Used in the final game. | * <code>camepara.bin</code> - Used in the final game. | ||
Line 7: | Line 7: | ||
* <code>撮影camepara.bin</code> - The camera settings used in the Creature Montage and many pre-release trailers. 撮影 translates to "shoothing" in regards to photography, likely referencing its role in recording gameplay. | * <code>撮影camepara.bin</code> - The camera settings used in the Creature Montage and many pre-release trailers. 撮影 translates to "shoothing" in regards to photography, likely referencing its role in recording gameplay. | ||
− | Unlike many other parameter files, the camera parameter files do not feature labels preceding the values. Instead, the values are presented one after another. | + | Unlike many other parameter files, the camera parameter files do not feature labels preceding the values. Instead, the values are presented one after another. Note: because there are no labels to denote the positions of values, they will be henceforth referred to by their hexadecimal offset and/or purpose in the file. |
− | |||
Like many other parameter files, the values are IEEE-754 floating point decimals with a few 32-bit integers thrown in here and there. | Like many other parameter files, the values are IEEE-754 floating point decimals with a few 32-bit integers thrown in here and there. | ||
− | |||
__TOC__ | __TOC__ | ||
− | + | == Vocabulary == | |
− | ==Vocabulary== | ||
Toggled with the R trigger: | Toggled with the R trigger: | ||
* Near = The first zoom level, nearest in the vanilla game. | * Near = The first zoom level, nearest in the vanilla game. | ||
Line 27: | Line 24: | ||
Other: | Other: | ||
− | * Plucking = The camera setting when Olimar is plucking | + | * Plucking = The camera setting when Olimar is plucking Pikmin (this feature gets disabled after 100 plucks). |
− | |||
− | ==Table== | + | == Table == |
In this table, <code>camepara.bin</code> is used as a baseline. The other, unused camera parameter files have values omitted if they are identical to the final file's values. | In this table, <code>camepara.bin</code> is used as a baseline. The other, unused camera parameter files have values omitted if they are identical to the final file's values. | ||
Line 38: | Line 34: | ||
| 0x00 || {{unsure|u32}} || {{unsure|Header Data}} || || <code>00000007</code>|| <code>00000004</code>|| <code>00000004</code> | | 0x00 || {{unsure|u32}} || {{unsure|Header Data}} || || <code>00000007</code>|| <code>00000004</code>|| <code>00000004</code> | ||
|- | |- | ||
− | | 0x04 || {{unsure|u32}} || {{unsure|Header Data}} || | + | | 0x04 || {{unsure|u32}} || {{unsure|Header Data}} || Camera Switch || <code>00000000</code>|| || |
|- | |- | ||
− | | 0x08 || IEEE-754 float || '''[Near : Flat]''' || Distance | + | | 0x08 || IEEE-754 float || '''[Near : Flat]''' || Distance from leader || 600.0 || || 130.0 |
|- | |- | ||
− | | 0x0C || IEEE-754 float || '''[Near : Flat]''' || Angle | + | | 0x0C || IEEE-754 float || '''[Near : Flat]''' || Angle above horizontal || 20.0 || || 10.0 |
|- | |- | ||
| 0x10 || IEEE-754 float || '''[Near : Flat]''' || FOV || 10.0 || || 30.0 | | 0x10 || IEEE-754 float || '''[Near : Flat]''' || FOV || 10.0 || || 30.0 | ||
|- | |- | ||
− | | 0x14 || IEEE-754 float || '''[Near : Flat]''' || | + | | 0x14 || IEEE-754 float || '''[Near : Flat]''' || Vertical offset || 25.0 || || 20.0 |
|- | |- | ||
− | | 0x18 || IEEE-754 float || '''[Near : Flat]''' || | + | | 0x18 || IEEE-754 float || '''[Near : Flat]''' || || 1000.0 || || |
|- | |- | ||
− | | 0x1C || IEEE-754 float || '''[Near : Flat]''' || Motion | + | | 0x1C || IEEE-754 float || '''[Near : Flat]''' || Motion blur || 50.0 || || |
|- | |- | ||
− | | 0x20 || IEEE-754 float || '''[Mid : Flat]''' || Distance | + | | 0x20 || IEEE-754 float || '''[Mid : Flat]''' || Distance from leader || 600.0 || || 400.0 |
|- | |- | ||
− | | 0x24 || IEEE-754 float || '''[Mid : Flat]''' || Angle | + | | 0x24 || IEEE-754 float || '''[Mid : Flat]''' || Angle above horizontal || 21.0 || || 13.0 |
|- | |- | ||
| 0x28 || IEEE-754 float || '''[Mid : Flat]''' || FOV || 23.0 || || 30.0 | | 0x28 || IEEE-754 float || '''[Mid : Flat]''' || FOV || 23.0 || || 30.0 | ||
|- | |- | ||
− | | 0x2C || IEEE-754 float || '''[Mid : Flat]''' || Verical | + | | 0x2C || IEEE-754 float || '''[Mid : Flat]''' || Verical offset || 38.0 || || 40.0 |
|- | |- | ||
| 0x30 || IEEE-754 float || '''[Mid : Flat]''' || || 500.0 || || | | 0x30 || IEEE-754 float || '''[Mid : Flat]''' || || 500.0 || || | ||
|- | |- | ||
− | | 0x34 || IEEE-754 float || '''[Mid : Flat]''' || Motion | + | | 0x34 || IEEE-754 float || '''[Mid : Flat]''' || Motion blur || 95.0 || || |
|- | |- | ||
− | | 0x38 || IEEE-754 float || '''[Far : Flat]''' || Distance | + | | 0x38 || IEEE-754 float || '''[Far : Flat]''' || Distance from leader || 900.0 || 1200.0 || 800.0 |
|- | |- | ||
− | | 0x3C || IEEE-754 float || '''[Far : Flat]''' || Angle | + | | 0x3C || IEEE-754 float || '''[Far : Flat]''' || Angle above horizontal || 25.0 || 24.0 || 15.0 |
|- | |- | ||
| 0x40 || IEEE-754 float || '''[Far : Flat]''' || FOV || 26.0 || 25.0 || 30.0 | | 0x40 || IEEE-754 float || '''[Far : Flat]''' || FOV || 26.0 || 25.0 || 30.0 | ||
|- | |- | ||
− | | 0x44 || IEEE-754 float || '''[Far : Flat]''' || Vertical | + | | 0x44 || IEEE-754 float || '''[Far : Flat]''' || Vertical offset || 33.0 || 100.0 || 70.0 |
|- | |- | ||
| 0x48 || IEEE-754 float || '''[Far : Flat]''' || || 400.0 || 200.0 || 200.0 | | 0x48 || IEEE-754 float || '''[Far : Flat]''' || || 400.0 || 200.0 || 200.0 | ||
|- | |- | ||
− | | 0x4C || IEEE-754 float || '''[Far : Flat]''' || Motion | + | | 0x4C || IEEE-754 float || '''[Far : Flat]''' || Motion blur || 110.0 || || |
|- | |- | ||
− | | 0x50 || IEEE-754 float || '''[Near : Bird]''' || Distance | + | | 0x50 || IEEE-754 float || '''[Near : Bird]''' || Distance from leader || 900.0 || || 150.0 |
|- | |- | ||
− | | 0x54 || IEEE-754 float || '''[Near : Bird]''' || Angle | + | | 0x54 || IEEE-754 float || '''[Near : Bird]''' || Angle above horizontal || 60.0 || || 25.0 |
|- | |- | ||
| 0x58 || IEEE-754 float || '''[Near : Bird]''' || FOV || 10.0 || || 55.0 | | 0x58 || IEEE-754 float || '''[Near : Bird]''' || FOV || 10.0 || || 55.0 | ||
|- | |- | ||
− | | 0x5C || IEEE-754 float || '''[Near : Bird]''' || Vertical | + | | 0x5C || IEEE-754 float || '''[Near : Bird]''' || Vertical offset || 40.0 || || 45.0 |
|- | |- | ||
| 0x60 || IEEE-754 float || '''[Near : Bird]''' || || 1000.0 || || | | 0x60 || IEEE-754 float || '''[Near : Bird]''' || || 1000.0 || || | ||
|- | |- | ||
− | | 0x64 || IEEE-754 float || '''[Near : Bird]''' || Motion | + | | 0x64 || IEEE-754 float || '''[Near : Bird]''' || Motion blur || 50.0 || || |
|- | |- | ||
− | | 0x68 || IEEE-754 float || '''[Mid : Bird]''' || Distance | + | | 0x68 || IEEE-754 float || '''[Mid : Bird]''' || Distance from leader || 900.0 || || 200.0 |
|- | |- | ||
− | | 0x6C || IEEE-754 float || '''[Mid : Bird]''' || Angle | + | | 0x6C || IEEE-754 float || '''[Mid : Bird]''' || Angle above horizontal || 60.0 || || 35.0 |
|- | |- | ||
| 0x70 || IEEE-754 float || '''[Mid : Bird]''' || FOV || 20.0 || || 70.0 | | 0x70 || IEEE-754 float || '''[Mid : Bird]''' || FOV || 20.0 || || 70.0 | ||
|- | |- | ||
− | | 0x74 || IEEE-754 float || '''[Mid : Bird]''' || Vertical | + | | 0x74 || IEEE-754 float || '''[Mid : Bird]''' || Vertical offset || 70.0 || || 100.0 |
|- | |- | ||
| 0x78 || IEEE-754 float || '''[Mid : Bird]''' || || 500.0 || || | | 0x78 || IEEE-754 float || '''[Mid : Bird]''' || || 500.0 || || | ||
|- | |- | ||
− | | 0x7C || IEEE-754 float || '''[Mid : Bird]''' || Motion | + | | 0x7C || IEEE-754 float || '''[Mid : Bird]''' || Motion blur || 95.0 || || |
|- | |- | ||
− | | 0x80 || IEEE-754 float || '''[Far : Bird]''' || Distance | + | | 0x80 || IEEE-754 float || '''[Far : Bird]''' || Distance from leader || 1200.0 || || 250.0 |
|- | |- | ||
− | | 0x84 || IEEE-754 float || '''[Far : Bird]''' || Angle | + | | 0x84 || IEEE-754 float || '''[Far : Bird]''' || Angle above horizontal || 60.0 || || 50.0 |
|- | |- | ||
| 0x88 || IEEE-754 float || '''[Far : Bird]''' || FOV || 30.0 || || 90.0 | | 0x88 || IEEE-754 float || '''[Far : Bird]''' || FOV || 30.0 || || 90.0 | ||
|- | |- | ||
− | | 0x8C || IEEE-754 float || '''[Far : Bird]''' || Vertical | + | | 0x8C || IEEE-754 float || '''[Far : Bird]''' || Vertical offset || 100.0 || || 200.0 |
|- | |- | ||
| 0x90 || IEEE-754 float || '''[Far : Bird]''' || || 200.0 || || | | 0x90 || IEEE-754 float || '''[Far : Bird]''' || || 200.0 || || | ||
|- | |- | ||
− | | 0x94 || IEEE-754 float || '''[Far : Bird]''' || Motion | + | | 0x94 || IEEE-754 float || '''[Far : Bird]''' || Motion blur || 110.0 || || |
|- | |- | ||
− | | 0x98 || IEEE-754 float || '''[Plucking]''' || Distance from | + | | 0x98 || IEEE-754 float || '''[Plucking]''' || Distance from leader || 600.0 || || 130.0 |
|- | |- | ||
− | | 0x9C || IEEE-754 float || '''[Plucking]''' || Angle | + | | 0x9C || IEEE-754 float || '''[Plucking]''' || Angle above horizontal || 20.0 || || 10.0 |
|- | |- | ||
| 0xA0 || IEEE-754 float || '''[Plucking]''' || FOV || 10.0 || || 30.0 | | 0xA0 || IEEE-754 float || '''[Plucking]''' || FOV || 10.0 || || 30.0 | ||
|- | |- | ||
− | | 0xA4 || IEEE-754 float || '''[Plucking]''' || Vertical | + | | 0xA4 || IEEE-754 float || '''[Plucking]''' || Vertical offset || 25.0 || || 20.0 |
|- | |- | ||
| 0xA8 || IEEE-754 float || '''[Plucking]''' || || 1000.0 || || | | 0xA8 || IEEE-754 float || '''[Plucking]''' || || 1000.0 || || | ||
|- | |- | ||
− | | 0xAC || IEEE-754 float || '''[Plucking]''' || Motion | + | | 0xAC || IEEE-754 float || '''[Plucking]''' || Motion blur || 110.0 || || |
|- | |- | ||
− | | 0xB0 || IEEE-754 float || Other || Camera | + | | 0xB0 || IEEE-754 float || Other || Camera homing speed || 0.15 || || 0.45 |
|- | |- | ||
− | | 0xB4 || IEEE-754 float || Other || | + | | 0xB4 || IEEE-754 float || Other || FOV change speed || 0.15 || || |
|- | |- | ||
− | | 0xB8 || IEEE-754 float || Other || | + | | 0xB8 || IEEE-754 float || Other || Rotation speed || 1.0 || || |
|- | |- | ||
− | | 0xBC || IEEE-754 float || Other || | + | | 0xBC || IEEE-754 float || Other || Translation speed || 2.0 || || |
|- | |- | ||
− | | 0xC0 || IEEE-754 float || Other || L | + | | 0xC0 || IEEE-754 float || Other || L camera center rate || 0.3 || || |
|- | |- | ||
− | | 0xC4 || IEEE-754 float || Other || Automatic | + | | 0xC4 || IEEE-754 float || Other || Automatic camera turn rate || 0.6 || || |
|- | |- | ||
− | | 0xC8 || IEEE-754 float || Other || Camera | + | | 0xC8 || IEEE-754 float || Other || Camera zoom time || 0.5 || || |
|- | |- | ||
− | | 0xCC || IEEE-754 float || Other || | + | | 0xCC || IEEE-754 float || Other || Rotation button threshold || 0.1 || || |
|- | |- | ||
− | | 0xD0 || IEEE-754 float || Other || | + | | 0xD0 || IEEE-754 float || Other || Camera reserved 0 || 0.1 || || |
|- | |- | ||
− | | 0xD4 || IEEE-754 float || Other || | + | | 0xD4 || IEEE-754 float || Other || Camera reserved 1 || 0.9 || || |
|- | |- | ||
− | | 0xD8 || | + | | 0xD8 || IEEE-754 float || Other || Ignoring Piki distance || 0.0 || || |
|- | |- | ||
− | | 0xDC || | + | | 0xDC || IEEE-754 float || Other || Vibration distance || 0.0|| || |
|- | |- | ||
− | | 0xE0 | | + | | 0xE0 || IEEE-754 float || Other || Attention angle max speed || 0.3927|| N/A || N/A |
|- | |- | ||
|} | |} | ||
− | + | == Extra information == | |
− | ==Extra | ||
By default on day 1 (the tutorial), the camera is set to '''[Near : Flat]''' before immediately switching and locking to '''[Plucking]'''. | By default on day 1 (the tutorial), the camera is set to '''[Near : Flat]''' before immediately switching and locking to '''[Plucking]'''. | ||
* Though you were probably already aware, the camera usually defaults to '''[Mid : Flat]''' whenever one lands in a stage. | * Though you were probably already aware, the camera usually defaults to '''[Mid : Flat]''' whenever one lands in a stage. | ||
Line 170: | Line 165: | ||
There are no version differences for the camera parameters. | There are no version differences for the camera parameters. | ||
− | + | {{Credits|[[User:Minty_Meeo|Minty_Meeo]]}} | |
[[Category:Pikmin]] | [[Category:Pikmin]] | ||
[[Category:Parameters]] | [[Category:Parameters]] | ||
− |
Latest revision as of 20:04, 28 December 2019
To do: There are some undiscovered parameters. Let's try to figure them out! See the Extra Information section for more details.
Located in /dataDir/camera/
, there are three BIN files for camera parameters.
camepara.bin
- Used in the final game._camepara.bin
- Features a different set of [Far : Flat] parameters and a different value in the header[unsure]. It likely is a backup file left there by the developers while fine-tuning the camera.撮影camepara.bin
- The camera settings used in the Creature Montage and many pre-release trailers. 撮影 translates to "shoothing" in regards to photography, likely referencing its role in recording gameplay.
Unlike many other parameter files, the camera parameter files do not feature labels preceding the values. Instead, the values are presented one after another. Note: because there are no labels to denote the positions of values, they will be henceforth referred to by their hexadecimal offset and/or purpose in the file.
Like many other parameter files, the values are IEEE-754 floating point decimals with a few 32-bit integers thrown in here and there.
Contents
Vocabulary[edit]
Toggled with the R trigger:
- Near = The first zoom level, nearest in the vanilla game.
- Mid = The second zoom level, middle in the vanilla game.
- Far = The third zoom level, furthest in the vanilla game.
Toggled with the Z trigger:
- Flat = The normal viewing angle.
- Bird = The aerial viewing angle.
Other:
- Plucking = The camera setting when Olimar is plucking Pikmin (this feature gets disabled after 100 plucks).
Table[edit]
In this table, camepara.bin
is used as a baseline. The other, unused camera parameter files have values omitted if they are identical to the final file's values.
Offset | Data Type | Group | Description | camepara.bin | _camepara.bin | 撮影camepara.bin |
---|---|---|---|---|---|---|
0x00 | u32[unsure] | Header Data[unsure] | 00000007 |
00000004 |
00000004
| |
0x04 | u32[unsure] | Header Data[unsure] | Camera Switch | 00000000 |
||
0x08 | IEEE-754 float | [Near : Flat] | Distance from leader | 600.0 | 130.0 | |
0x0C | IEEE-754 float | [Near : Flat] | Angle above horizontal | 20.0 | 10.0 | |
0x10 | IEEE-754 float | [Near : Flat] | FOV | 10.0 | 30.0 | |
0x14 | IEEE-754 float | [Near : Flat] | Vertical offset | 25.0 | 20.0 | |
0x18 | IEEE-754 float | [Near : Flat] | 1000.0 | |||
0x1C | IEEE-754 float | [Near : Flat] | Motion blur | 50.0 | ||
0x20 | IEEE-754 float | [Mid : Flat] | Distance from leader | 600.0 | 400.0 | |
0x24 | IEEE-754 float | [Mid : Flat] | Angle above horizontal | 21.0 | 13.0 | |
0x28 | IEEE-754 float | [Mid : Flat] | FOV | 23.0 | 30.0 | |
0x2C | IEEE-754 float | [Mid : Flat] | Verical offset | 38.0 | 40.0 | |
0x30 | IEEE-754 float | [Mid : Flat] | 500.0 | |||
0x34 | IEEE-754 float | [Mid : Flat] | Motion blur | 95.0 | ||
0x38 | IEEE-754 float | [Far : Flat] | Distance from leader | 900.0 | 1200.0 | 800.0 |
0x3C | IEEE-754 float | [Far : Flat] | Angle above horizontal | 25.0 | 24.0 | 15.0 |
0x40 | IEEE-754 float | [Far : Flat] | FOV | 26.0 | 25.0 | 30.0 |
0x44 | IEEE-754 float | [Far : Flat] | Vertical offset | 33.0 | 100.0 | 70.0 |
0x48 | IEEE-754 float | [Far : Flat] | 400.0 | 200.0 | 200.0 | |
0x4C | IEEE-754 float | [Far : Flat] | Motion blur | 110.0 | ||
0x50 | IEEE-754 float | [Near : Bird] | Distance from leader | 900.0 | 150.0 | |
0x54 | IEEE-754 float | [Near : Bird] | Angle above horizontal | 60.0 | 25.0 | |
0x58 | IEEE-754 float | [Near : Bird] | FOV | 10.0 | 55.0 | |
0x5C | IEEE-754 float | [Near : Bird] | Vertical offset | 40.0 | 45.0 | |
0x60 | IEEE-754 float | [Near : Bird] | 1000.0 | |||
0x64 | IEEE-754 float | [Near : Bird] | Motion blur | 50.0 | ||
0x68 | IEEE-754 float | [Mid : Bird] | Distance from leader | 900.0 | 200.0 | |
0x6C | IEEE-754 float | [Mid : Bird] | Angle above horizontal | 60.0 | 35.0 | |
0x70 | IEEE-754 float | [Mid : Bird] | FOV | 20.0 | 70.0 | |
0x74 | IEEE-754 float | [Mid : Bird] | Vertical offset | 70.0 | 100.0 | |
0x78 | IEEE-754 float | [Mid : Bird] | 500.0 | |||
0x7C | IEEE-754 float | [Mid : Bird] | Motion blur | 95.0 | ||
0x80 | IEEE-754 float | [Far : Bird] | Distance from leader | 1200.0 | 250.0 | |
0x84 | IEEE-754 float | [Far : Bird] | Angle above horizontal | 60.0 | 50.0 | |
0x88 | IEEE-754 float | [Far : Bird] | FOV | 30.0 | 90.0 | |
0x8C | IEEE-754 float | [Far : Bird] | Vertical offset | 100.0 | 200.0 | |
0x90 | IEEE-754 float | [Far : Bird] | 200.0 | |||
0x94 | IEEE-754 float | [Far : Bird] | Motion blur | 110.0 | ||
0x98 | IEEE-754 float | [Plucking] | Distance from leader | 600.0 | 130.0 | |
0x9C | IEEE-754 float | [Plucking] | Angle above horizontal | 20.0 | 10.0 | |
0xA0 | IEEE-754 float | [Plucking] | FOV | 10.0 | 30.0 | |
0xA4 | IEEE-754 float | [Plucking] | Vertical offset | 25.0 | 20.0 | |
0xA8 | IEEE-754 float | [Plucking] | 1000.0 | |||
0xAC | IEEE-754 float | [Plucking] | Motion blur | 110.0 | ||
0xB0 | IEEE-754 float | Other | Camera homing speed | 0.15 | 0.45 | |
0xB4 | IEEE-754 float | Other | FOV change speed | 0.15 | ||
0xB8 | IEEE-754 float | Other | Rotation speed | 1.0 | ||
0xBC | IEEE-754 float | Other | Translation speed | 2.0 | ||
0xC0 | IEEE-754 float | Other | L camera center rate | 0.3 | ||
0xC4 | IEEE-754 float | Other | Automatic camera turn rate | 0.6 | ||
0xC8 | IEEE-754 float | Other | Camera zoom time | 0.5 | ||
0xCC | IEEE-754 float | Other | Rotation button threshold | 0.1 | ||
0xD0 | IEEE-754 float | Other | Camera reserved 0 | 0.1 | ||
0xD4 | IEEE-754 float | Other | Camera reserved 1 | 0.9 | ||
0xD8 | IEEE-754 float | Other | Ignoring Piki distance | 0.0 | ||
0xDC | IEEE-754 float | Other | Vibration distance | 0.0 | ||
0xE0 | IEEE-754 float | Other | Attention angle max speed | 0.3927 | N/A | N/A |
Extra information[edit]
By default on day 1 (the tutorial), the camera is set to [Near : Flat] before immediately switching and locking to [Plucking].
- Though you were probably already aware, the camera usually defaults to [Mid : Flat] whenever one lands in a stage.
The fifth parameter in each camera setting grouping has produced observable effects. However, they only occur in the OpenGL / Dolphin System.
- Setting [Mid : Flat] to an extremely large value (
0x7F7FFFFF
is the largest) and landing in any area causes anlibgeometry: !normalize:zero:-1.#IND00
error to be thrown, crasing the application. - Setting [Mid : Flat] to
0x7A04B1E4
, landing in the Forest of Hope, and moving at all causes anlibgeometry: !normalize:zero:-1.#IND00
error to be thrown, crashing the application. This value is the largest this parameter can be set before the game crashes on its own from the same error.
Presumably, there are parameters for both pressing the L trigger all the way down and just partially (or holding the L trigger all the way down for a certain length of time). Figure those out.
For an unknown reason, the OpenGL / Dolphin System is able to function without any camera parameter files. The parameters it pulls out of seemingly nowhere are unlike any file available. It most closely resembles _camepara.bin
, though that might be a coincidence.
- To add to the mystery, I have in my notes that attempting to input data the engine determined "invalid" resulted in these parameters instead[unsure]
Parameter 0xE0
is only present in the final camera parameters file. It does not seem necessary for the function of the camera, so it could be vestigial or a mistake.[unsure]
There are no version differences for the camera parameters.