[NEED HELP] Does anyone know why using Openbrf to import obj will look like the picture?

Users who are viewing this thread

I imported this model which I made myself from Blender 3.4, but I don't know why part of the surface disappeared after importing it. Since it's my first time to use Openbrf, please help.

Before Import​


Screenshot%202023-07-11%20015641.png
Screenshot%202023-07-11%20011901.png


After Import​

Screenshot%202023-07-11%20011819.png
Screenshot%202023-07-11%20015735.png


Screenshot%202023-07-11%20015802.png
 
Solution
Have you marked triangulate on export? If you have n-gons, OpenBRF can't import them correctly and can only guess how to triangulate the mesh and will create holes and make mistakes like that.
You need to recalculate your normals, the hollow looking hilt on that sword is because OpenBRF doesn't render back faces to match the game.

You're seeing the inner faces.



Covers how to quickly check face normal directions and how to quickly recalculate them.
 
Upvote 1
You need to recalculate your normals, the hollow looking hilt on that sword is because OpenBRF doesn't render back faces to match the game.

You're seeing the inner faces.



Covers how to quickly check face normal directions and how to quickly recalculate them.

Thank you for help! So change the directions of face to normal now, but in openbrf is still not showing correctly:
Screenshot%202023-07-12%20140035.png
 
Upvote 0
Have you marked triangulate on export? If you have n-gons, OpenBRF can't import them correctly and can only guess how to triangulate the mesh and will create holes and make mistakes like that.
 
Upvote 1
Solution
Looks like z-fighting from duplicate geometry, in Blender's edit mode you can use M (Merge) > By Distance to merge duplicate vertices and faces. Duplicate faces and z-fighting will cause flickering, even if they are uv'd and textured identically, so it's always best to get rid of them.

You also need to UV-map your mesh.

That square pattern is generated by the mesh's UV mapping, and is meant to help you see the relative UV scale on the faces and stretching and the like that will make texturing look worse.

Blender's Smart UV does a fine enough job when you're just learning or the geometry is fairly simple. For more complex or organic geometry, smart UV seaming and unwrapping are good skills to learn early in your modeling adventure.
 
Upvote 1
So does the scale has to be within the grid?
The grid is scaled such that each line translates to 50cm in engine. There is a built in measuring tool for weapons you can activate using Tools > Measure with ruler to see what the axis the engine will attach the weapon to the agents. You can set the intended length on the ruler and use the Roto-translate-rescale tool to adjust the model to where you want it to end.
UFfqC.png

YoZXv.png


Edit: you added a photo after I posted this, so some critique.

A lot closer to the WB scale for sure. The facing is incorrect though, open a BRF with an axe or scimitar to see the facing you will need for it to make sense.
 
Last edited:
Upvote 1
The grid is scaled such that each line translates to 50cm in engine. There is a built in measuring tool for weapons you can activate using Tools > Measure with ruler to see what the axis the engine will attach the weapon to the agents. You can set the intended length on the ruler and use the Roto-translate-rescale tool to adjust the model to where you want it to end.
UFfqC.png

YoZXv.png


Edit: you added a photo after I posted this, so some critique.

A lot closer to the WB scale for sure. The facing is incorrect though, open a BRF with an axe or scimitar to see the facing you will need for it to make sense.
Thanks for your critique.
So I use the axe from viking conquest as referance:
2023-07-13%20(3).png

So if i just turn this into brf and throw it in the resource, will it run?
 
Last edited:
Upvote 0
Thanks for your critique.
So I use the axe from viking conquest as referance:
2023-07-13%20(3).png

So if i just turn this into brf and throw it in the resource, will it run?
That'll put it into a format the game can read, absolutely.

To get it in game, you'll need to add the brf file name to the module.ini file for the mod, and that will allow the game to access the resource. At that point you just put the resource name as the mesh name for the item you want it to be and bingo-bango. In-game.
 
Upvote 1
That'll put it into a format the game can read, absolutely.

To get it in game, you'll need to add the brf file name to the module.ini file for the mod, and that will allow the game to access the resource. At that point you just put the resource name as the mesh name for the item you want it to be and bingo-bango. In-game.
Thank you for the answering
Do you know where has the descriptions of the item flags like:
itp_merchandise itp_always_loot itp_two_handed itp_primary itc_nodachi itcf_carry_sword_back

Also do you know mean of the part that I underlined?
["sword_of_war", "Sword of War", [("b_bastard_sword",0),("scab_bastardsw_b", ixmesh_carry)], itp_type_two_handed_wpn|itp_merchandise| itp_two_handed|itp_primary, itc_greatsword|itcf_carry_sword_back|itcf_show_holster_when_drawn,
524 , weight(3)|difficulty(11)|spd_rtng(93) | weapon_length(130)|swing_damage(40 , cut) | thrust_damage(31 , pierce),imodbits_sword_high ],
 
Last edited:
Upvote 0
Thank you for the answering
Do you know where has the descriptions of the item flags like:
itp_merchandise itp_always_loot itp_two_handed itp_primary itc_nodachi itcf_carry_sword_back

Also do you know mean of the part that I underlined?
["sword_of_war", "Sword of War", [("b_bastard_sword",0),("scab_bastardsw_b", ixmesh_carry)], itp_type_two_handed_wpn|itp_merchandise| itp_two_handed|itp_primary, itc_greatsword|itcf_carry_sword_back|itcf_show_holster_when_drawn,
524 , weight(3)|difficulty(11)|spd_rtng(93) | weapon_length(130)|swing_damage(40 , cut) | thrust_damage(31 , pierce),imodbits_sword_high ],
https://earendil_ardamire.gitlab.io/modding-guide/Subpages/Documentation_Module_System/Module_Items.html
Will have all the flags and descriptions from each.

What you have underlined are the mesh entries. ("b_bastard_sword",0), sets the main mesh, 0 is main/equipped mesh, as b_bastard_sword and
("scab_bastardsw_b", ixmesh_carry) sets the carry/scabbard mesh as scab_bastardsw_b.

Those need to match the name of the mesh inside the BRF exactly. So if you named your mesh my_cool_sword inside OpenBRF you would need to do ("my_cool_sword",0), to have that item reflect your new sword mesh.

You don't need a carry mesh declared, it's just if you have one. I suggest you search for a tutorial on adding scabbards and their vertex animations if you are interested in that.
 
Upvote 1
https://earendil_ardamire.gitlab.io/modding-guide/Subpages/Documentation_Module_System/Module_Items.html
Will have all the flags and descriptions from each.

What you have underlined are the mesh entries. ("b_bastard_sword",0), sets the main mesh, 0 is main/equipped mesh, as b_bastard_sword and
("scab_bastardsw_b", ixmesh_carry) sets the carry/scabbard mesh as scab_bastardsw_b.

Those need to match the name of the mesh inside the BRF exactly. So if you named your mesh my_cool_sword inside OpenBRF you would need to do ("my_cool_sword",0), to have that item reflect your new sword mesh.

You don't need a carry mesh declared, it's just if you have one. I suggest you search for a tutorial on adding scabbards and their vertex animations if you are interested in that.
Thank you for your answering!(y)
 
Upvote 0
https://earendil_ardamire.gitlab.io/modding-guide/Subpages/Documentation_Module_System/Module_Items.html
Will have all the flags and descriptions from each.

What you have underlined are the mesh entries. ("b_bastard_sword",0), sets the main mesh, 0 is main/equipped mesh, as b_bastard_sword and
("scab_bastardsw_b", ixmesh_carry) sets the carry/scabbard mesh as scab_bastardsw_b.

Those need to match the name of the mesh inside the BRF exactly. So if you named your mesh my_cool_sword inside OpenBRF you would need to do ("my_cool_sword",0), to have that item reflect your new sword mesh.

You don't need a carry mesh declared, it's just if you have one. I suggest you search for a tutorial on adding scabbards and their vertex animations if you are interested in that.
thank you reply
So is ways to make a custom weapon only useable for player, not other npc?
 
Upvote 0
Also do you know how to make texture?
Check YouTube for some tutorials on how to texture models on Blender. It will be much more indepth than anything I can tell you here.

thank you reply
So is ways to make a custom weapon only useable for player, not other npc?
By default, any weapons you add will only be available to you. You will need to add it to the troops' inventories for them to have it. NPCs do not buy from shops like the player does.
 
Upvote 1
Check YouTube for some tutorials on how to texture models on Blender. It will be much more indepth than anything I can tell you here.


By default, any weapons you add will only be available to you. You will need to add it to the troops' inventories for them to have it. NPCs do not buy from shops like the player does.
So I know how to make texture in blender but I not sure how to import it to the game.
 
Upvote 0
Back
Top Bottom