Rich Appearance Format (RAF): Difference between revisions
Line 258: | Line 258: | ||
**<scene> | **<scene> | ||
==Textures (.JPG . | ==Textures (.JPG .DDS)== | ||
See [[Multimedia_Formats_and_Tools|Multimedia Formats and Tools page]] | See [[Multimedia_Formats_and_Tools|Multimedia Formats and Tools page]] | ||
Before compiling, only .dds and jpeg are supported. | Before compiling, only .dds and jpeg are supported. | ||
After compiling, '''G'''raphics '''T'''exture '''F'''ormat (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by [[RSX]]). | After compiling, DDS files are converted to '''G'''raphics '''T'''exture '''F'''ormat (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by [[RSX]]). And .JPG files are stored as .JPG without conversion | ||
==Script (.JS)== | ==Script (.JS)== |
Revision as of 18:54, 4 November 2014
Description
RAF (Rich Appearance Format) is a container, used by the animation when PS3 boots (coldboot.raf), and inside dynamic Themes (as the animated scene displayed at the background of the theme)
- RAF related firmware modules in dev_flashvsh/modules/:
- raf.sprx <--- generic animations
RAF structure
See: CXML Containers page
RAF contents
It must comply with these restrictions :
-Textures size max: 15 mb ( 15728640 Bytes ) ( on RSX local memory at run time ) -Geometry & script size max: 1 mb ( 1048576 Bytes ) ( on main memory at run time ) -Actor size max: 1.25mb ( 1310720 Bytes ) ( in the intermediate buffer ) -Actor number max: 128 -Cameras: 1 -Lights: 2 (ambient + point) -Scripts: 1 -Models: 64 (with 8 animations each model)
RAF Scene (.XML)
Code Sample
Root Element: <raf> | |
---|---|
Attribute | Description |
angle_unit | Unit of angles in the scene file (radian/degree) |
Model
Element: <model> | |
---|---|
Attribute | Description |
id | String accessed as the model attribute of the <actor> element |
file | Path to the model's .dae file exported by the DCC tool |
vertex_color | Usage (or lack) of color regarding each vertex
|
Sub Element: <animation> | |
Attribute | Description |
id | String accessed by scripts |
file | Path to the animation's .dae file exported by the DCC tool |
start | Start time |
end | End time |
sampling_rate | Sampling rate |
Material
Element: <material> | |
---|---|
Attribute | Description |
id | String accessed as the material attribute of the <actor> element |
effect | String specifying the effect. Effects are selected from the preset values in the system software.
|
Sub Element: <texture> | |
Attribute | Description |
file | Path to the texture file |
type | String specifying the texture map method. This is selected from the preset values in the system software:
|
Actor
Element: <actor> | |
---|---|
Attribute | Description |
id | String accessed by scripts |
model | String that accesses the id attribute of the <model> element |
material | String that accesses the id attribute of the <material> element |
position | Vector to the initial position (x, y, z) |
rotation | Vector to the initial rotation angle (x-axis, y-axis, z-axis) |
scale | Vector to the initial scale (x, y, z) |
color | Vector to the initial color (r, g, b, a) |
uv_scale | Vector to the texture coordinates' initial scale (u, v) |
uv_offset | Vector to the texture coordinates' initial offset (u, v) |
anim_weight | Vector to the animation's initial blend weights (anim0, anim1, anim2, anim3) |
anim_speed | Vector to the animation's initial speed (anim0, anim1, anim2, anim3) |
anim_time | Vector to the animation's initial time (anim0, anim1, anim2, anim3) |
zsort | String indicating the z sort type (unspecified/back to front/front to back) |
Camera
Element: <camera> | |
---|---|
Attribute | Description |
id | String accessed by scripts |
file | Path to the camera's .dae file exported by the DCC tool (if .dae is used) |
type | String indicating the camera type (perspective/orthographic) |
yfov | Scalar indicating the field-of-view in the vertical direction (perspective only) |
ymag | Scalar indicating the magnification in the vertical direction (orthographic only) |
znear | Scalar indicating the near clip plane |
zfar | Scalar indicating the far clip plane |
position | Vector to the initial position (x, y, z) |
direction | Vector to the initial direction (x, y, z) |
up | Vector to the initial up direction (x, y, z) |
Light
Element: <light> | |
---|---|
Attribute | Description |
id | String accessed by scripts |
file | Path to the light's .dae file exported by the DCC tool (if .dae is used) |
type | String indicating the light type (ambient/point) |
color | Vector to the initial color (r, g, b) |
position | Vector to the initial position (x, y, z) |
direction | Vector to the initial direction (x, y, z) |
attenuation | Vector to the initial attenuation (zero-order, first-order, second-order) |
Script
Element: <script> | |
---|---|
Attribute | Description |
file | Path to the script file |
- The maximum length of the string that can be specified to the id attribute of an element is 31 characters
Lights, Camera, Models, Animations (.DAE)
Dae files are geometric 3D objects, generated by collada plugin from one of the collada supported 3D tools (blender, maya, 3dmax, etc...)
The raf scene.xml takes .dae files as inputs, this files are converted to .edge and .skel (both seems raw geometric vertex info)
Dae files are xml based, and contains references to the libraries that were used by the 3D tool that build the object, this info is a collada standard and most of it is ignored when converted to .skel and .edge... in other words, most of the .dae info is lost when the .dae file is stored inside the .raf file (though is supposed to have some relationship with the graphic libraries availables in ps3 firmware)
- Typical entries found in models (3d objects)
- <asset>
- <library_physics_scenes>
- <library_images>
- <library_materials>
- <library_effects>
- <library_geometries>
- <library_visual_scenes>
- <scene>
- Typical entries found in models (3d lights)
- <asset>
- <library_physics_scenes>
- <library_lights>
- <library_visual_scenes>
- <scene>
Textures (.JPG .DDS)
See Multimedia Formats and Tools page
Before compiling, only .dds and jpeg are supported.
After compiling, DDS files are converted to Graphics Texture Format (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by RSX). And .JPG files are stored as .JPG without conversion
Script (.JS)
The raf scene.xml takes as input an script with file extension .js written in PlayStation JavaScript language
This script is converted into an intermediate .jsx file in VSMX format, and then stored inside the .raf file.
- Some examples of PS3 theme using PSJS:
RAF tools
Rich Apparence Maker
http://r.a.m.games-hack.fr/index.php
guide http://r.a.m.games-hack.fr/doc/Rich%20Appearance%20Maker%20-%20Quick%20Start%20Guide.pdf
R.A.M on PS3 News: http://www.ps3news.com/ps3-hacks-jailbreak/video-ps3-rich-appearance-maker-r-a-m-beta-is-now-open/
R.A.M on PSX Scene: http://psx-scene.com/forums/content/rich-appearance-maker-r-m-free-beta-now-open-dynamic-theme-maker-2161/
PS3 Color Logo Creator V2.511
PCLC Source: http://tizzyt-archive.blogspot.co.uk/2012/04/playstation-color-logo-creator-v2511.html
PCLC on PS3 News: http://www.ps3news.com/ps3-hacks-jailbreak/ps3-color-logo-creator-v2-50-v2-51-updates-now-available/
PCLC V2.511 Download: http://www.mediafire.com/download/zbb3e07wdx22jub
Links
- RAF pages in other wiki/s
- Interesting info about Animations/3D support in themes http://www.ps3hax.net/showthread.php?t=28426
- See also: Qt Resource Container (QRC)
|