FOnline Development > 3D Development

3D Tutorials and Links (20170222 Images Replaced 1/3)

(1/8) > >>

Luther Blissett:
NOTICE :
Megaupload has been closed down by "Federal prosecutors", as of 19th Jan 2012. The majority of these tutorial files were hosted on there. Will reupload them at some point soon. If anyone's previously downloaded these themselves and wishes to upload them somewhere, it would be much appreciated. [edit 22/01/2012] Most of it should be back up now. Still missing the base model files. Will have them shortly.
[edit 27/04/2012] Should be all relinked to mediafire now. Let me know if anything is missing.
[edit 22/02/2017] Have replaced images with new links, and replaced 3D "client only" with 3D "client/server and scripts".

#0 - 3D Tutorials and Links

It will take quite some time for all the 3D work to be complete. I would consider there to be enough time to learn basic 3D modelling, texturing or animating, then start to help out before it's finished. Even if you won't master these skills, there's plenty of tasks which can be done with entry level skills, and in some cases with little or no previous experience. I (and others) will try to outline some of the work that's been done and make files available so anybody interested can help out.

Most of the fine details are covered in the 3D Questions and Answers thread, with perhaps a key point being :

"Question: Why 3D is needed? A good-ol 2D looks somehow better and I'm used to it.
Answer: Because 3D is much easier to customize. Adding helmets, new clothes, having more variations in color (such as being able to play as a black skinned character) playing as a ghoul, super mutant, etc."

We are aiming to replicate the art style as close as possible, hopefully with the final models appearing almost indistinguishable from the sprites they are based off, but with the obvious customisation and development advantages. Though these are initially being produced for use in Fonline 2238, I believe the intention is that all the models and resources will ultimately be available for anyone wanting to work on Fonline based projects.

Notes :
The 3D development has nothing to do with the upcoming wipe.
The 3D development is a community project, separate from the general development of Fonline 2238


#0 - 3D Tutorials and Links
Basic Resource Links, Development trackers, Forum Links, SVN Links, Snapshot links, Tutorials and Appendices

Basic Resource Links

Base Human Male (model author : Karpov)


CR_HumanMaleStrong.X (from 3D repo)
base_male_human.obj
base_male_human.3ds
base_male_human.wings (Wings 3D project file)
(New links 27/04/2012)

Base Human Male Subset / texture map

1024x1024 layered PSD file, with outline, colour markers and base texture (~4.5MB)
subset map male.psd (New link 22/01/2012)

To add :
Max project file
Blender project file
High res base human texture

Base Human Female (model author : Karpov)


CR_HumanFemaleNormal.X (from 3D repo)
base_female_human.obj
base_female_human.3ds
base_female_human.wings (Wings 3D project file)
(New links 27/04/2012)

Base Human female Subset / texture map

1024x1024 layered PSD file, with outline, colour markers and base texture (~3.5MB)
subset map female.psd (New link 22/01/2012)

To add :
Max project file
Blender project file
High res base human texture


Development trackers

Graf's 3D development trackers show us what's to do and what's been done. Helpfully, they include original sprites and current in-game shots for comparison. Models from the trackers may be revised in future. If you plan on working on something for quite some time, it's best to make this known, else we may have multiple people working on the same object.

3D Weapon Development Tracker
3D Armour Development Tracker
3D Miscellaneous Development Tracker


Forum Links

Fonline 2238 3D Development Forum
Fonline.ru 3D Model Thread (google translated)
Fonline.ru 3D Model Thread (original Russian)


SVN Links
SVN links, for use in TortoiseSVN or similar.

Main fonline SDK
http://xp-dev.com/svn/fonline_sdk/
The main SVN of the Fonline Software / Server Development Kit (SDK).

Main 3D Repository
http://svn3.xp-dev.com/svn/FOnline3d
Playable in game repo

Test 3D Repository (also referred to as "Graf's repository")
http://xp-dev.com/svn/F3D_stuff/
Sharing of source models and in progress works


Snapshot links

Fonline engine snapshot link (updated 22/02/2017
An old stable version, useful for quick testing 3D without SVN (includes server and client)
[edit] link updated 22/02/2017

3D models snapshot link (New link 22/01/2012)
Snapshot of 3D repo 23rd September 2011, with Luther Blissett's test files

Fonline 2238 forum post relating to using these snapshots


Tutorials and Appendices

#1 Setting up 3D SDK (please test this and report back with any problems / mistakes etc)
Setting up a 3D compatible SDK to test existing items
part 1 part 2 part 3

#2 Testing custom textures example (to be completed, working on this now)
Checking your own textures on in-game models
All parts

Basic modelling and rigging (to be completed, finishing soon)
Preparing a model for rigging in Wings 3D
Basic rigging in Fragmotion
Putting a rigged model in game

Commands for testing (to be completed)
Basic info on in-game commands for testing 3D models

Subsets (to be completed)
Information on the texture subsets and how to use them

Game Compatible Models (to be completed)
Modelling problems / hints / suggestions for game-compatible models

Model Layers (to be completed)
Layers / understanding how the game treats the models


Some ways YOU can help

Preparing template files for other softwares
Base models saved in Max, Blender, others. Rigged skeleton transferred to Blender and others etc. Trying to make sure all base material is accessible in as many formats / programs as necessary, particularly focusing on Free and Open Source Software.

Weapon item coordinates
If you've managed to set up a test SDK, you can do this with just the SDK and a text editor. Forum link : Weapon and Items coordinates

Modelling items from the Misc item tracker
There are lots of unmade objects on here. Some are as simple as making a box and pasting a texture on, so suitable for beginners. Forum link :3D Miscellaneous Development Tracker

Modelling of suggested items
Armour and clothing models suggested in this thread. Particular focus on those which have been confirmed as "useful" by devs. Forum link : NEW armors/clothes suggestions

Resizing of armours for other body types
Many of the newer models have only been produced for the male hero model. They will need reshaping for female equivalents. At a later date, this will also need doing for other body types.

Rigging models
Many armour, weapon and object models will need rigging and testing. Tutorial on how to do this will follow shortly. At a later date, this may involve the rigging of other body types.

General opinions, testing, advice, support
Check through the 3D forums, test models in game, offer thoughts and suggestions

Others (not 100% confirmed)
Hair types (reshape VB ones, or make new ones)
Facial hair (beards and moustaches)
Improving existing models and textures (aiming for as close as possible match to sprites)
Production of normal and specular maps for models
Production of "in hand" and "ground" versions of armours?
Creating inventory icons for any new content


Further questions / notes
Please use the Questions and Answers 3D thread, unless the question specifically relates to what is written here.

These will need checking, adding to and adjusting. Please feel free to adjust / reedit etc. With adjustments, could be set up as a 3D intro page on wiki.

Surf:
Excellent, very good Luther! I am sure this will come in handy for a-many of people. I have stickied it - don't know if you forgot it or were just too humble. :P

Luther Blissett:
[edit 22/02/2017]Replaced image links

It's all taking longer than I thought to put this stuff together, but it's on its way :)

First half of "setting up 3D SDK" one below. Again, once finished it'll all need adjusting / revising / fixing etc. Apologies in advance if I end up doing a bunch of double posts whilst trying to put this stuff together.

A lot of this will probably need disassembling / reassembling for use on the Wiki, but if I just start to chuck all the information out there, we can discuss the best way of presenting it for clarity. Obviously the rigging one is the "biggy", but my notes are in a right mess, so I'm sort of trying to do it all in order so I don't miss stuff.

Also, each of these posts is going to be massive, so I'm going to "spoiler" them all. If anyone with editing powers has thoughts on the best way of presenting this info in the forum, i.e. "spoilering" individual sections but leaving the sub-titles visible or something, then please feel free to edit.

#1 - Setting up 3D SDK
This should cover the steps necessary to get a basic 3D compatible client up and running. From there, you should be able to test any of the existing game models, or add your own for testing in-game.

Downloading / Installing (simple, without SVN)

Firstly, if you don't have any of these files already, you'll need to download the following :

Fonline engine snapshot link
An old stable version, useful for quick testing 3D without SVN

3D models snapshot link (New link 22/01/2012)
Snapshot of 3D repo 23rd September 2011, with Luther Blissett's test files

Extra dat files (New link 22/01/2012)
These are the extra dats containing custom frm files. They can also be downloaded via the updater.exe.

This should give you the following files :

FOnline_v2_200111.zip
LB 3D repo 20110923.zip
fonline_3d_dats.zip

Then :
1) Extract FOnline_v2_200111.zip wherever you would like to set up the folders
2) Extract the other two .zip files
3) Copy the contents of "LB 3D repo 20110923" into the new folder, merging with the existing \client\data\ folders as necessary
4) Copy the contents of "fonline_3d_dats" into the root of the new folder client folder.

Now open \Client\FOnline.cfg and look for the lines regarding master.dat and critter.dat. Set these up in the same way as you have done with Fonline 2238. You may also want to change the language setting at the top of the FOnline.cfg to "Language=engl", unless you can read good Russian.

Now open \Server\FOnlineServer.cfg and scroll to the bottom, and add a password to the "Access_admin=" line, like so :

Access_admin=password (use your own password)

This should now be ready to play and test.


Game startup and character creation

Run the link to Fonline single player

Select New game

You should now have an expanded 3D character screen.

Ultimately, what you select here is irrelevant, as we can change all this via the in-game commands. Note that most of the options are not implemented fully.

Body type
Only two are currently set up, which are :
- Male Strong
- Female Normal

The others will link to the Van Buren models, which won't work with our armours and textures.

Skin
For the male, all of the options will do something, but not necessarily what you'd expect by reading the writing. The female seems to have a few options missing. Pick any of them that work - you can rechoose the skin in game.

Hair
Most of the hair types are not implemented yet. These certainly won't correspond to the writing. I believe the only options that will work currently are :
- Crown

With any of these colours :
- black
- white
- greywhite
- blond
- grey blond

Again, you can choose this in game later.

Other options
None of the other visual options (beard, moustache etc) are currently implemented, so it shouldn't matter what you leave them on. Pick any skills, stats, name etc as you see fit. It doesn't matter, as we can boost them all in game if you need to.

Click Done. Your firewall may ask permission for Fonline. Allow it to do so.

Starting

So, you are in this library, you are stood next to Martin Frobisher and you're wearing a lovely leather jacket and some odd half-length trousers. Don't panic.



Speak to Martin Frobisher. He will explain some background information in Russian, then you can speak to him in English. Click through the speech (first option for everything will do). You will reappear in a facility.

Run up-left, through the automatic doors, then go into the jacket-stealing lift.


The game will fade to black and someone will steal your jacket.

You will reappear, without your jacket. Don't panic.

Run down-right, round the corner and then down-left to near the exit grid. Ignore the little shop.


Admin access and first commands

Press enter to bring up the chat bar, and type :
~getaccess admin password

The ~ key might be in the "wrong place" to you, depending on keyboard layout. Try shift and the key in the top left of the keyboard, below Escape and left of number 1. Anyway, it should say "access changed". You're in "god mode" now.

During the following steps, it's often worth knowing that you can press the "UP" arrow to return to previously typed sentences.

Gender
You can change gender without complex surgery by simply inputting one of the following :

~run debug body 1 292 1 (sets the character's gender to Male)

~run debug body 1 295 1 (sets the character's gender to Female)




Switch to whichever you prefer. The soldier nearby will not even blink. He's seen it all before. Note that the male has a more full set of animations, and currently will have a slightly wider range of armours to test.

Param codes
We can now change a lot about our character, from appearance to stats by using param codes. There are two different codes which will do this, in the format :

~run debug SetCritParam x y z

x = character ID. Use 1 for this.
y = parameter number. 150-165 are our appearance parameters.
z = value of parameter y

we can also use

~param x y z

x = unknown. Use 0 for this.
y = parameter number. 150-165 are our appearance parameters.
z = value of parameter y

The second is shorter, so I will use this throughout the rest of this tutorial.

Skin tone
The character is made up of different layers. The lowest layer (parameter 150) is the skin tone. We can use param codes to change this, like so :

~param 0 150 z

For layer 150, the value (z) can be :
1-24 skin tones (various)
25-30 test skins

For example, try :
~param 0 150 1 (white man)
~param 0 150 4 (black man)
~param 0 150 30 (orangey skin from recent skintone test)


Again, the soldier nearby will not even blink. He's seen it all before.

Upper / Lower clothing layers
There are two layers which we're going to disable, as they override the clothing layer which we will need for testing. These are upper clothing (164) and lower clothing (163). They're responsible for the half-length trousers. By setting these layers to -1, we turn them off.

~param 0 164 -1 (turns off upper clothing layer)
~param 0 163 -1 (turns off lower clothing layer)


As you will notice, you're now stood in a futuristic facility, near a well armed soldier, in your underpants. Let's fix that.

Armour and Clothing layers
So, layer 150 can be considered to be the bottom layer. We can place clothing (155) on top of that, which is simply texture based, on the existing model, or we can add body armour (153) to that as well. So, let's try :

~param 0 155 1 (black trousers)
~param 0 153 1 (leather jacket)



Now, it looks like you've got your jacket back from the "jacket stealing lift", but it only appears to be so. If you look in your inventory, there is no jacket. We'll sort that out later. If you want to try out some other clothing, we will use

~param 0 155 z (clothing)

For layer 155, the value (z) can be :
1, 2, 4, 5, 7, 8, 10, 13, 16-18 (from main 3D repo)
19-30, 34 (my own test stuff)



Any layers which don't correspond to a _FOHuman.fo3d entry will leave him stood in his underpants. Layers which do correspond to a _FOHuman.fo3d entry, but the file link is incorrect (i.e. filename of graphic is wrong or nonexistant) will leave it transparent.

This should all work roughly the same for the armour layers :

~param 0 153 z (armour)

For layer 153, the value (z) can be :
1-3, 5-18 (from main 3D repo)
26-30, 34 (my own test stuff)





Any value which doesn't correspond to an entry in _FOHuman.fo3d will show no extra armour. Additionally, any which link to nonexistant graphics will do the same. You can't tell which is which just by looking.


(continued below)

Luther Blissett:
Wouldn't re-edit into the above post. It just sat spinning with "connecting" forever. This is just the hair, hat and increasing stats section.

Still got Adding items to yourself, Armour object / model linking basics and Parameter Summaries to follow.

#1 Setting up an SDK (continued)


Hair
Hair is on layer 157. This is a model layer which sits above the base model. There's currently only a couple of hair types implemented currently. We could certainly do with a few more. We could either convert Van Buren resources, or make new models ourselves, and try to replicate the existing hair types which already exist in game.

~param 0 157 z

For layer 157, the value (z) can be :
42, 44-47 (from main 3D repo)



It's hopefully becoming increasingly evident how quick and easy this process can be for adding new critters into the game. If that base human had all the animations, so do any of the texture / armour / hair variants shown since.

Hats and Helmets
Hats and Helmets are on layer 154. This is again a model layer which sits above the base model. If you look in the #head section of the _FOHuman.fo3d, you'll see some of these hats contain a "DisableLayer 7" before the attach command (they probably all should do - the ones that don't are my error). This "layer 7" refers to 157, the hair. Consider layer numbers in the _FOHuman.fo3d to be counting from 150. This DisableLayer command is there to basically "delete the hair", so it doesn't clash with the hat or helmet. This will probably need thinking about in future, because we're going to end up with the old "hats make you suddenly bald" problem.

~param 0 154 z

For layer 154, the value (z) can be :
5, 6, 9, 13-18 (from main 3D repo)
26-34 (my own test stuff)

Here's two which include the DisableLayer7 (I guess he bunches his hair under it) :



And here's two which currently don't :



It might not be so clear here, because the hair and hat are both quite dark, but that "big hair" sticks through the top of the hat. If that hair was ginger, you'd spot it a mile off. It's good that it hangs downwards, of course, but the "tall" parts of the hair are going to cause problems, unless we make hatwearers bald.

Ideas for a solution are welcome.

Editing your stats
When you're thinking about buying a new pair of shoes, you may test them by putting them on, walking around the shop a little to see what they feel like... flex your feet a little, try to imagine what these shoes would be like walking, running, going upstairs etc. We should do similar to test our 3D models, except if we really want to check those errors and glitches, we're going to need to take things a little further and go and kick something in the face.

Testing animations
Problems in the rigging and textures normally won't become apparent until all the animations have been tested. Unfortunately, your character is currently very weak. Though that might be useful for testing the death animations, we're probably going to want to check how the models move in combat too. We'd want to check the different weapon animations and the punching and kicking. We're going to want to make sure the arms don't disappear when punching, or that the helmet doesn't end up on your arse when firing a rifle.

If you'd like to level up your character by the traditional manner of fighting rats, bigger rats and then working your way up, please skip this section.

Otherwise, we're simply going to cheat.

Parameter names
Firstly, we're going to see where the parameter reference info is stored. Have a look at this file :

\server\data\ParamNames.lst

You can open it with notepad or equivalent, it's text readable.

As with changing the appearance, we can use the same param code as before :

~param x y z

x = unknown. Use 0 for this.
y = parameter number. See below.
z = value of parameter y

SPECIAL
Firstly, lets look at the top of the file. Straight up, there's your SPECIAL stats.

0      ST_STRENGTH
1      ST_PERCEPTION
2      ST_ENDURANCE
3      ST_CHARISMA
4      ST_INTELLECT
5      ST_AGILITY
6      ST_LUCK

So, like a bad solution to a player complaining that his "PVP ape" character can't speak to shopkeepers because he has the Charisma of a child molester, we're simply going to set everything to 10.

~param 0 0 10 = strength 10
~param 0 1 10 = perception 10
[...]
~param 0 6 10  = luck 10

You'll notice this follows onto a few other stats.

A few other stats

7      ST_MAX_LIFE

This is your max hit points. Might as well boost that a little.

~param 0 7 1000 = >1000 hit points (it will be slightly above 1000, because it also includes the HP calculated by endurance etc)

So, you can have over 1000 HP, but you now look severely injured.

72     ST_CURRENT_HP

~param 0 72 1000 = 1000 current hit points.

There you go.

Skills
You're still too rubbish to actually hit anything though, so we'll sort out those skills too.

200*
0      SK_SMALL_GUNS
1      SK_BIG_GUNS
2      SK_ENERGY_WEAPONS
[...]
17     SK_OUTDOORSMAN

Note the 200* - this means "counting from 200". In other words, 200-217 are the skills - 200 for Small guns, 201 for Big guns etc.

~param 0 200 300 = 300 Small Guns
[...]
~param 0 217 300 = 300 Outdoorsman

Perks
Perks are all under the "300" section.

300*
0      PE_BOOKWORM
1      PE_AWARENESS
2      PE_BONUS_HTH_ATTACKS
[...]
139    PE_NCR_REPAIR

Again, it's using :

~param x y z

z = value of parameter y, in this case it refers to number of levels (or 1 = on, 0 = off)

~param 0 301 1 = Turn on awareness perk
~param 0 314 1 = Turn on Strong Back perk

You can have multiple levels it seems, and we're going to give our character lots of items, so lets try :

~param 0 314 39 = 39 levels of strong back.

This should give you a healthy carryweight of over 1000. Setting the carry weight parameter otherwise doesn't seem to work.

Graf:
Phew, that was epic. Great work, Luther. Keep it up. I've just finished translating it to Russian. Hopefully, I'll be able to translate everything without of a significant delay.

Navigation

[0] Message Index

[#] Next page

Go to full version