linking presets [message #486053] |
Thu, 13 February 2014 13:18 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
I'm looking for a way of attaching a preset to another preset at a set coordinate on the preset using level editor and current scripts.
i.e. helipad with construction zone attached and a console attached at one end of it.
(a create preset xyz, facing will work too if it positions itself according to the object it's attached to)
Level edit is my play ground
[Updated on: Thu, 13 February 2014 13:22] Report message to a moderator
|
|
|
Re: linking presets [message #486054 is a reply to message #486053] |
Thu, 13 February 2014 13:53 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
You mean like relative cordinates? You need to store the relative cordinates somewhere like: ChildObjPosition - ParentObjPosition and ChildObjRotation - ParentObjRotation. The child needs to be positioned when the parent is rotated with 0 degrees. Then whenever you move around/rotate the parent you need to recalculate the child position(s). The algorithms for this can be found on the internet.
Does not need to be related to c++, these problems occur at multiple places.
EDIT: with parent 0 rotation i mean like the default rotation of the thing...
EDIT #2: You can get the full translations of objects with Get_Transform, this returns a Matrix3D object which contains position and rotation. And you can apply that with Set_Transform
[Updated on: Thu, 13 February 2014 13:55] Report message to a moderator
|
|
|
|
Re: linking presets [message #486056 is a reply to message #486054] |
Thu, 13 February 2014 13:58 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
Neijwiert wrote on Thu, 13 February 2014 15:53 | You mean like relative cordinates? You need to store the relative cordinates somewhere like: ChildObjPosition - ParentObjPosition and ChildObjRotation - ParentObjRotation. The child needs to be positioned when the parent is rotated with 0 degrees. Then whenever you move around/rotate the parent you need to recalculate the child position(s). The algorithms for this can be found on the internet.
Does not need to be related to c++, these problems occur at multiple places.
EDIT: with parent 0 rotation i mean like the default rotation of the thing...
EDIT #2: You can get the full translations of objects with Get_Transform, this returns a Matrix3D object which contains position and rotation. And you can apply that with Set_Transform
|
I thought it might end up that I need to do a custom script for it, so I'm installing the 2012 vs express, but I'm still very new to it, so is it possible for someone to give me an example script to start with?
edit: also, how would you do something like add a bandana or back packd to a soldier? (knowing this should give me an idea of my options)
Level edit is my play ground
[Updated on: Thu, 13 February 2014 14:01] Report message to a moderator
|
|
|
Re: linking presets [message #486057 is a reply to message #486053] |
Thu, 13 February 2014 14:00 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
For starters: don't start with this... If you have no experience whatsoever it is far out of your how to range.
You should look into the scripts source and fine the readmexx.txt files. In there, there are several scripts documentated and what they do. Then look for that name in the actual source and see how they are scripted.
And you should take a gander in some calculus. These are common math problems and should be easially found. You just need to understand what's going on, then you can translate it to c++
EDIT: what do you need it for if I may ask?
[Updated on: Thu, 13 February 2014 14:02] Report message to a moderator
|
|
|
Re: linking presets [message #486058 is a reply to message #486057] |
Thu, 13 February 2014 14:02 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
Neijwiert wrote on Thu, 13 February 2014 16:00 | For starters: don't start with this... If you have no experience whatsoever it is far out of your how to range.
You should look into the scripts source and fine the readmexx.txt files. In there, there are several scripts documentated and what they do. Then look for that name in the actual source and see how they are scripted.
And you should take a gander in some calculus. These are common math problems and should be easially found. You just need to understand what's going on, then you can translate it to c++
|
Thanks for the tip, I'll look into it, but how would you do something like add a bandana or back packd to a soldier? (knowing this should give me an idea of my options)
Level edit is my play ground
|
|
|
Re: linking presets [message #486059 is a reply to message #486053] |
Thu, 13 February 2014 14:05 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
Use: Commands->Attach_Object_To_Bone (if i can remember it correctly its written like this). If you want it positioned correctly you probably need to make custom bones for models.
This is a feature in the ren engine that does what you need.
Basicly it attaches an object to a bone in the bone structure of a model. and whenever a translation is applied to that particular bone, then the object(s) attached to it will move along with the same relative translation.
|
|
|
Re: linking presets [message #486060 is a reply to message #486059] |
Thu, 13 February 2014 14:11 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
Neijwiert wrote on Thu, 13 February 2014 16:05 | Use: Commands->Attach_Object_To_Bone (if i can remember it correctly its written like this). If you want it positioned correctly you probably need to make custom bones for models.
This is a feature in the ren engine that does what you need.
Basicly it attaches an object to a bone in the bone structure of a model. and whenever a translation is applied to that particular bone, then the object(s) attached to it will move along with the same relative translation.
|
Now this sounds more like what I was looking for, but is this level editor or gmax?
Level edit is my play ground
[Updated on: Thu, 13 February 2014 14:12] Report message to a moderator
|
|
|
Re: linking presets [message #486061 is a reply to message #486053] |
Thu, 13 February 2014 14:13 |
|
Gen_Blacky
Messages: 3250 Registered: September 2006
Karma: 1
|
General (3 Stars) |
|
|
Not sure what your trying to do but make your own leveledit script to do what you want.
Create_Preset_Object_Location, create a preset at an object's location and set facing.
void Create_Preset_Object_Location::Created(GameObject *obj)
{
Vector3 Pos = Commands->Get_Position(obj);
Pos.Z += 0.2f;
const char *Preset = Get_Parameter("Preset");
GameObject *o = Commands->Create_Object(Preset,Pos);
Commands->Set_Facing(o,Commands->Get_Facing(obj));
}
ScriptRegistrant<Create_Preset_Object_Location> Create_Preset_Object_Location_Registrant("Create_Preset_Object_Location","Preset:string");
Manipulate the position X Y Z to move the object where you want
[Updated on: Thu, 13 February 2014 14:15] Report message to a moderator
|
|
|
Re: linking presets [message #486062 is a reply to message #486061] |
Thu, 13 February 2014 14:19 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
Gen_Blacky wrote on Thu, 13 February 2014 16:13 | Not sure what your trying to do but make your own leveledit script to do what you want.
Create_Preset_Object_Location, create a preset at an object's location and set facing.
void Create_Preset_Object_Location::Created(GameObject *obj)
{
Vector3 Pos = Commands->Get_Position(obj);
Pos.Z += 0.2f;
const char *Preset = Get_Parameter("Preset");
GameObject *o = Commands->Create_Object(Preset,Pos);
Commands->Set_Facing(o,Commands->Get_Facing(obj));
}
ScriptRegistrant<Create_Preset_Object_Location> Create_Preset_Object_Location_Registrant("Create_Preset_Object_Location","Preset:string");
Manipulate the position X Y Z to move the object where you want
|
I didn't know you did scripts.
Can I talk to you on t.s. for a min about this?
Level edit is my play ground
|
|
|
|
|