====== Using the Resource Pack Creator ======
| {{ :resourcepack:make:rpc_home.png?200 }} |
| Time to get something done... |
When you finish your train model, there's no point in adding it into a resource pack and calling it a day, and expecting the game to magically understand your logic. It is not impossible to write up all the definitions and properties by yourself, but the complication will certainly make you feel overwhelmed. Resource Pack Creator is designed to allow you to create custom trains, boats, cable cars, and aeroplanes with a live preview, making the process of creating a resource pack easier for everyone.
===== Dependencies =====
- A web browser, such as Google Chrome. In MTR4 Resource Pack Creator runs as a website hosted on your computer, so you will not find the Resource Pack Creator item in your Creative Mode Inventory.
- Models and textures, if you're going to start from scratch.
- A resource pack, if you're going to edit an existing resource pack.
===== Create New Resource Pack =====
>//The sky's the limit! //\\ //- Resource Pack Creator//
==== Importing models ====
To import your models, click ''Manage Models'', then ''Add Model''. You can now input your models. When you have finished selecting the files, press Open.
If you're importing **OBJ** files, you **MUST** also upload the corresponding **MTL** file. If you forget to do this, the model will not load.
Press ''Close'' to leave the model manager.
==== Importing textures ====
Similarly, click ''Manage Textures'', then ''Add Textures''. You can now input your textures. When you have finished selecting the files, press Open.
==== Vehicle Properties ====
| {{ :resourcepack:make:veh_properties.png?200 }} |
| The Vehicle Properties of a train. |
Before we start adding models, let's take a look at what you can customise in the Vehicle Properties Menu. Click ''Edit Vehicle Properties'' and the menu will be shown.
=== What do each options do? ===
^ Name ^ Data type ^ Explanation ^ Condition ^ Default value ^
| ID | string | The unique ID for each vehicle. | N/A | my_vehicle |
| Name | string | The name for your vehicle. | N/A | My Custom Vehicle |
| Colour | hex | The hex colour code for the little square appearing next to the train name in the vehicle selection screen. | N/A | (Random) |
| Description | string | Description that appears to the left of the vehicle selection screen when you hover your mouse over it. | N/A | This is my custom vehicle! |
| Wikipedia Article | string | A link to a Wikipedia Article related to that train.((
You should input the string after ''wiki/''. You must input the exact link to the article (e.g. ''SP1900_EMU''), pages that redirect to your desired page (e.g. ''SP1900'') will NOT work.
)) | N/A | N/A |
| Length | float | The length of your vehicle. Must be a positive number bigger than 0.5. | N/A | 25 |
| Width | float | The width of your vehicle. Must be a positive number bigger than 0.5. | N/A | 2 |
| Has Two Bogies | boolean | If TRUE, 2 bogies can be rendered on this vehicle. | N/A | TRUE |
| Front Bogie Position | float | Position for the bogie model (s) to be rendered. Calculated in metres from the centre of the train. | Has Two Bogies = TRUE | -8.5 |
| Back Bogie Position / Bogie Position | ::: | ::: | N/A | 8.5 |
| Front Coupling Padding | float | Padding to be added to the front/end of the vehicle. Calculated in metres. Must be a positive number or 0. | N/A | 0 |
| Back Coupling Padding | ::: | ::: | N/A | 0 |
| Has Front Gangway | boolean | If TRUE, players can walk through to the previous/next carriage. If the previous/next carriage is non-existent, or doesn't have a back /front gangway, the player will force dismount from the train. | N/A | FALSE |
| Has Back Gangway | boolean | ::: | N/A | FALSE |
| Has Front Barrier | boolean | If TRUE, a train barrier will be rendered between this and the next carriage. | N/A | FALSE |
| Has Back Barrier | boolean | ::: | N/A | FALSE |
| Sound | radio | Determines the type of sound the train will use. | N/A | BVE Format |
| BVE Sound ID | string | The ID for the BVE Sound | Sound = BVE Format | a_train |
| Test Motor sound | slider | An option to test your motor sound. The game must not be paused while testing the sound. | Sound = BVE Format | N/A |
| Test Door Open sound | button | An option to test your door open sound. The game must not be paused while testing the sound. | Sound = BVE Format | N/A |
| Test Door Close sound | button | An option to test your door close sound. The game must not be paused while testing the sound. | Sound = BVE Format | N/A |
By setting all these up, you're ready to add your models in.
==== Adding models ====
| {{ :resourcepack:make:model_added.png?200 }} |
| A new model without specifying a model and a texture. |
| {{ :resourcepack:make:model_added.png?200 }} |
| A new model with a model and a texture specified. |
| {{ :resourcepack:make:model_properties_gangways.png?200 }} |
| Model Properties menu when ''Has Front'' \\ ''Gangway'' or ''Has Back Gangway'' is enabled. |
| {{ :resourcepack:make:model_properties_nogangway.png?200 }} |
| Model Properties menu when ''Has Front'' \\ ''Gangway'' or ''Has Back Gangway'' is disabled. |
Your model and textures can be put into the following groups:
- Main Vehicle: All your normal parts should go here.
- Front/Back/Bogie: All parts for bogie(s) should go here.
We will start by adding the main vehicle models. Click ''Main Vehicle'' and press ''Add model''. A model named ''(Untitled)'' will be added to the list.
=== Model Properties ===
^ Name ^ Data type ^ Explanation ^ Condition ^ Default value ^
| Model Resource | string | The path to your model resource for this model. | N/A | N/A |
| Texture Resource | string | The path to your texture resource for this model.((
If you're using an OBJ model, you don't have to fill this text box out.
)) | N/A | N/A |
| Y Offset | float | Offset of your model from the ground. This value can be a negative number. | N/A | 1 |
| Flip Y | boolean | When FALSE, the texture will be flipped. This only applies to OBJ models. | N/A | TRUE |
| Gangway: (Inner/Outer) (Bottom/Side/Top) Texture Resource | string | Texture resource of that specific side of the gangway. \\ ''Inner'' means interior, ''Outer'' means exterior. | ''Has Front Gangway'' or ''Has Back Gangway'' is TRUE | N/A |
| Gangway: Width | float | The width of the gangway. | ::: | 1.5 |
| Gangway: Height | float | The height of the gangway. | ::: | 2.25 |
| Gangway: Y Offset | float | Offset of your gangway from the ground. This value can be a negative number. | ::: | 1 |
| Gangway: Z Offset | float | The length of the gangway. Calculated by input*2. If set to 1, the gangway will be 2 metres in length. | ::: | 0.5 |
| Barriers: (Inner/Outer) (Bottom/Side/Top) Texture Resource | string | Texture resource of that specific side of the barriers. \\ ''Inner'' means interior, ''Outer'' means exterior. | ''Has Front Barrier'' or ''Has Back Barrier'' is TRUE | N/A |
| Barriers: Width | float | The width of the gangway. | ::: | 1.5 |
| Barriers: Height | float | The height of the gangway. | ::: | 2.25 |
| Barriers: Y Offset | float | Offset of your gangway from the ground. This value can be a negative number. | ::: | 1 |
| Barriers: Z Offset | float | The length of the gangway. Calculated by input*2. If set to 1, the gangway will be 2 metres in length. | ::: | 0.5 |
=== Edit Model Parts ===
Here's where the main thing about building the train goes. Clicking ''Edit Model Parts'' and you'll see a window with all the parts you've defined, of which it should be empty when you enter the window for the first time. Press ''Add'' to add new parts to the model.
You will not be able to edit model parts if you selected a model with associated JSON files in Model Properties (e.g. `sp1900.bbmodel + sp1900_common.json + sp1900.json`)
^ Name ^ Data type ^ Explanation ^ Condition ^ Default value ^ value(s) ^
| Name | enum | The name of the part you want to render. | N/A | N/A | ((
(All available groups in your BBModel / All objects in your OBJ file)
)) |
| Condition | enum | The rendering condition of the part (see value(s)) | N/A | Normal | ((
* Normal
* Always rendered parts
* At Depot
* On Route, Moving Forwards
* On Route, Moving Backwards
* Doors Closed
* Doors Opened
* Christmas Lights (Red/Yellow/Green/Blue)
)) |
| Type | enum | The role of this part in the vehicle (see value(s)) | N/A | Normal | ((
)) |
| Positions | string | Positions of that part to be rendered. The format should be x,y,z. Hit ''Enter'' for another position to render the part at. | N/A | N/A | N/A |
| Flipped Positions | string | Same as above, except the part will be flipped. | N/A | N/A | N/A |
| Render Stage | enum | How the part will act in the vehicle in terms of lighting (see value(s)) | N/A | N/A | ((
* ''Light''
* Renders in full brightness and will render the same way as ''Exterior'' when at the depot. Supports transparency.
* ''Light (Always On)''
* Same as ''Light'', except it will render full brightness even at the depot. Supports transparency.
* ''Interior''
* Renders with brightness (not full brightness) and will render the same way as ''Exterior'' when at the depot. Transparency not supported.
* ''Interior (Translucent)''
* Renders the same way as Interior, except it supports transparency.
* When the option ''Hide translucent parts on vehicles'' is set to ''On'', the part will not render.
* ''Exterior''
* Renders with brightness according to the vehicle's surroundings. If it is running in a tunnel with no light around, the part will render at light level 0.
)) |
| Door X Multiplier | float | How many pixel units((
16 pixel units = 1 metre
)) should the part move in the X axis (i.e. only work for plug doors) | N/A | 0 | N/A |
| Door Z Multiplier | float | How many pixel units((
16 pixel units = 1 metre
)) should the part move in the Z axis | N/A | 0 | N/A |
==Display Options==
^ Name ^ Data type ^ Explanation ^ Condition ^ Default value ^ value(s) ^
| Type | | | | | |
| Default Text | | | | | |
| X Padding | | | | | |
| Y Padding | | | | | |
| Colour (CJK Text) | | | | | |
| Colour (Non-CJK Text) | | | | | |
| Max Line Height | | | | | |
| CJK Size Ratio | | | | | |
| Single Line | | | | | |