Editing Tutorial: Beginners
Posted: 2008-01-05 17:02:52
I have added Editing Tutorial: Beginners into our wiki. Feel free to post suggestions, questions or other feedback.
OFP, ArmA, ArmA 2, ArmA 3, Falcon 4 Theater and Farming Simulator 19/22 forums
https://www.pmctactical.org/forum/
https://www.pmctactical.org/forum/viewtopic.php?f=29&t=21403
No, not really.T_Rex wrote:Is there a certain directory structure I need to have to be able to skin a model?
Well can you walk us through the steps how did you try to apply the texture?when I try to load the skin in O2PE, it doesn't do anything, and when I start Buldozer, it says it can't find the texture.
I have no tried to PBO pack the model. My config.cpp has the line:T_Rex wrote:I have a 3d rectangle. Eventually, it will be a hedgerow. It is in a folder \hedge\. I have a texture, in .pac format, which is in a subfolder, \data\. So, the path looks like (I used Z instead of P) Z:\models\hedge\data.
Code: Select all
model = "\rex\hedge\hedge01a.p3d";
it's a little hard to deduce what maybe wrong with your config... could you post it...T_Rex wrote:I have no tried to PBO pack the model. My config.cpp has the line:T_Rex wrote:I have a 3d rectangle. Eventually, it will be a hedgerow. It is in a folder \hedge\. I have a texture, in .pac format, which is in a subfolder, \data\. So, the path looks like (I used Z instead of P) Z:\models\hedge\data.
model="\models\hedge\hedge01a";
The model name is "hedge01a.p3d".
I go into ArmA, in the editor, and it "sees" the config entry and I can place it, but then I get a "cannot open object models\hedge\hedge01a.p3d" error.
There's a thread at BI where a guy had the same issue, then he posts "Solved it!" but didn't say what the problem was! Also, it appears that the paths are relative to the "ca" folder?
TIA.
PS In typing this out, I will need to double check that the model name in the cpp is really identical to the real modelname, but without looking, I'm 99% sure it is the same.
Code: Select all
class CfgPatches
{
class ModGroupBuildings
{
units[] = {};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {};
};
};
class CfgVehicleClasses
{
class ModGroupObjects
{
displayName = "ModGroup Objects";
};
};
class CfgVehicles
{
class nonstrategic;
class ModGroupBuildings: nonstrategic
{
model="\ModGroup\theaterA\structures\Hedge01\Hedge01a";
vehicleclass="JTDObjects";
armor=15000;
scope=2;
displayname="Hedge01";
};
};
Never had a problem myself... the only problem I ever had was with when I turned binarized .rvmats into there text equivalents. the CfgConvert.exe tool from BIS appends the drive letter to the front of the textures inside the .rvmat thereby causing problems further along...T_Rex wrote:Also, I changed my <armaworkspace> to Z: instead of P: by going to the mapdisk.bat and changing that. That shouldn't interfere, right?
It's probably best for you to work to that rule of thumb... and a model.cfg file as well...T_Rex wrote:Each model has a config.cpp in the same folder as the p3d, right?
Code: Select all
\ModGroup\theaterA\structures\Hedges\Hedge01a.p3d
\ModGroup\theaterA\structures\Hedges\Hedge01b.p3d
\ModGroup\theaterA\structures\Hedges\Hedge02a.p3d
.....
\ModGroup\theaterA\structures\Hedges\Hedge07a.p3d
Code: Select all
\ModGroup\theaterA\structures\Fences\Fence01a.p3d
\ModGroup\theaterA\structures\Fences\Fence02a.p3d
\ModGroup\theaterA\structures\Fences\Fence03a.p3d
.....
\ModGroup\theaterA\structures\Fences\Fence05a.p3d
Code: Select all
class CfgPatches {
class mgBuildings {
units[] = {"trxHedge01a"};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {"CABuildings"};
};
};
class CfgVehicleClasses {
class mgObjects {displayName = "ModGroup Objects";};
};
class CfgVehicles {
class nonstrategic;
class mgBuildingsBase: nonstrategic {
vehicleclass="mgObjects";
armor=15000;
scope=2;
};
class trxHedge01a : mgBuildingsBase {
model="\ModGroup\theaterA\structures\Hedges\Hedge01a.p3d";
displayname="Hedge01a";
};
};
Code: Select all
P:\ModGroup\mgBuildings\structures\Headges
Code: Select all
class CfgPatches
{
class JTDBuildings
{
units[] = {"jtdHedge01a"};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {"CABuildings"};
};
};
class CfgVehicleClasses
{
class JTDObjects
{
displayName = "JTD Objects";
};
};
class CfgVehicles
{
class nonstrategic;
class JTDBuildings: nonstrategic
{
vehicleclass="JTDObjects";
armor=15000;
scope=2;
};
class jtdHedge01a : jtdBuildings
{
model="\jtd\balkan\structures\hedges\jtdHedge01a";
displayname="Hedge01a";
};
};
sent... you are right ofcourse... I was just pointing out that your above setup was starting to get a bit long... your hedge01a.p3d was in...T_Rex wrote:No joy on the link, but if you want to email it: tdperkins2000 at gmail dot com.
In terms of structure, I'm open to learning from other people's experiences. Plus, logically, there is little difference between naming \jtd\balkans\buildings and \jtd\balkanbuildings\ so if the latter is better for ArmA purposes, I'm cool with that.
pretty much... it's an absolute arse most of the time...How do you do your model development, though.....That kind of workflow?
Yeah, but your way works. My way doesn't.Synide wrote:there is no 'best' way... there are just 'ways'...
And here's the example config Sy sent, so you can kinda see how it fits together:#include "hpp\basicdefines.hpp"
class CfgPatches {
class devnameAddonName
{
units[] = {"devnameModel"};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {"CAData","CABuildings"};
};
};
class CfgVehicleClasses
{
class devnameMetaClass
{
displayName = "JTD Objects";
};
};
class CfgVehicles {
class NonStrategic;
class devnameSubClass: NonStrategic
{
scope=protected;
access=ReadAndCreate;
side=TCivilian;
vehicleclass="devnameMetaClass";
armor=15000;
};
class devnameModel : devnameSubClass
{
scope=public;
displayname="devnameModel";
model="pathtomodel.p3d";
};
};
Code: Select all
#include "hpp\basicdefines.hpp"
class CfgPatches {
class jtdBalkanBuildings {
units[] = {"jtdHedge01a"};
weapons[] = {};
requiredVersion = 0.10;
requiredAddons[] = {"CAData","CABuildings"};
};
};
class CfgVehicleClasses {class jtdObjects {displayName = "JTD Objects";};};
class CfgVehicles {
class NonStrategic;
class jtdBuildings: NonStrategic {
scope=protected;
access=ReadAndCreate;
side=TCivilian;
vehicleclass="jtdObjects";
armor=15000;
};
class jtdHedge01a : jtdBuildings {
scope=public;
displayname="Hedge01a";
model="\JTD\jtdBalkanBuildings\jtdHedge01a.p3d";
};
};
Code: Select all
#define LockNo 0
#define LockCadet 1
#define LockYes 2
Code: Select all
xcopy *.bin P:\<YourNamespace>\ca\ /S /Y
Code: Select all
xcopy model.cfg P:\<YourNamespace>\ca\ /S /Y
Maybe, although I don't think it's gone 'way' beyond what a beginner needs to know... At the very first stage they need to know how to setup their build environment... Otherwise they won't get far with any sort of editing... don't you think?Snake Man wrote:Guys, I think the discussion has gone way beyond "beginners" here now...
I finally got around to add it to our wiki; PMC Editing Wiki: ArmA Build Environment.Synide wrote:As promised here is a .pdf on how to setup your Development Environment...
For novice's and budding Addon makers it might provide some guidance... dunno.
Cheers, Sy.
ArmABuildEnvironment.pdf 698 Kilobytes (Link not 24/7)
ArmABuildEnvironment.pdf 698 Kilobytes (from RKSL)