gamophyte on 16/8/2022 at 02:08
Quote Posted by john9818a
I used the same naming format as what Larry posted in his tutorial. Honestly I don't think you can use more than one sub object on the same joint, but if you could then both sub objects would have the same parameters in the Joints property in dromed, so there would really be no reason to not make the two sub objects into a single sub object. I don't think bsp would be able to deal with two sub objects in line on the same joint.
When I made the triple expansion engine in Derelict Dock District FM I had some really complicated jointed objects, and since I had so many joints for the whole engine I had to make the moving parts in three objects. I'll go back and look at how I did it & post back here.
Ah I misread your comment. Yeah I wish I could explain better without spoiling - it was something psychedelic with shapes on the same plane spinning. It would require multiple subs on the same joint, to get the effect but sadly it sounds like it can't be done. I will try to mock up something that is just one sub-object, that looks okay enough, perhaps once it starts going. Even then, I am going to be clipping my Base Object for sure (on purpose for the psychedelic effect).
If in the end bsp doesn't care at least having the clipping of the base object, whos to say I can't just have the second joint near the first, and the player couldn't really tell. I dunno, but I have some backup ideas to keep this AI pretty neat. I had a lot of fun learning about Vhots but never did learn much or tackle joints. I appreciate any knowledge, and or examples.
The other idea is what if the sub-objects were actually other AI that were deaf and blind but have to follow the main AI flying about. Even the lag behind would actually look good for this concept AI, so I have to go look up the best / clean way to have AI follow AI closely (best if right on top themselves).
gamophyte on 16/8/2022 at 02:14
This is the joint settings for sliptip's rock elemental so yeah even though they looked like it was spinning around the same central rock, looks like it was two diff joints.
Inline Image:
https://i.imgur.com/Q4gVlSL.png
john9818a on 16/8/2022 at 02:57
I just looked at my engine from DDD (and got my headache again :D ) and in just one part of the engine which includes 1/3 of the crankshaft and one pushrod, I used 3 joints. One is for the crankshaft, the second is for a bushing-like object that is in between the crankshaft and the pushrod. In order for the pushrod to move up and down while keeping the top at the center of the cylinder (different object), I had to rotate the crankshaft forward at 18, rotate the bushings backwards at -18, and rotate the pushrod at -1.615 between -8 and +8. It took me hours to narrow that figure down. The crankshaft is a sub object of the main object, the bushings are sub object of the crankshaft, and the pushrod is a sub object of the bushings. I wonder if sliptip used a similar method.
btw AI can't be sub objects because they are totally different types of objects. When you make an object it is either an AI type or a non-AI type. I have used the rotate property on a corpse before though.
If you want to use my DDD engine as a reference if it would help at all, just move object #54 to the engine room and make it frobable. When you frob it the engine will start.
gamophyte on 16/8/2022 at 03:22
Firstly, wow! That's wild, I gotta see that in-game! I thought I played all your stuff but I don't remember this. Will have to download it to marvel at it tomorrow.
Oh and the AI thing no, it's just a regular "shape" model etc. But I will wanted other AI to follow it so closely as to clip into it. Not unlike the old school trailing mouse:
Inline Image:
https://c.tenor.com/DQ0qKtRKkLAAAAAM/cursor-heart.gifThe lackies will follow the main AI, and they will be blind and deaf, then slain once the main is slain.
gamophyte on 17/8/2022 at 23:59
Went back into making a joint again today, but yeah, because my BASE and SUB objects would intersect along the rotating path, it errors out in the bsp.exe.
Quote:
hey, merging one atomic, one not!
Inline Image:
https://i.imgur.com/wMSx9Lr.pngBut yeah, I had fair warning. Sadly, it's how I want the AI to look. In the sketch below, so I don't spoil I will use a simple cube. Imagine the blue line as the joint and the cube is one instance of BASE and in the same exact place is another cube that is the SUB.
Inline Image:
https://i.imgur.com/wAZExyP.pngIf anyone has any clever way around this, maybe even hacking something into the .e file, let me know. But for now, I'm giving up on this AI. That said, I had a lot of fun learning here, and pretty much ready to make some cool hinged objects when the time comes.
Edit1: In the sketch I have the joint wider than the objects just for example. I did however try this, as well as inside/small, and even the same size as the base. Funny enough one of my 3DS exporters converts stand-alone edges to a plane. This made it work in the sense that bsp didn't error, but rather chose the top of the plane and made the [cube] flip end over end, even clipping the base object!Edit2: WAIT. So I offset the inside joint a little and it worked! Before it was as you saw in the sketch. Dead center of the objects. Interesting. I will see how little I can move it from center, where bsp doesn't yell at me. If very little, players wouldn't notice the misalignment. Still if anyone else has ideas, I'm all ears.
R Soul on 18/8/2022 at 17:43
We can see a mesh called "Model" and another called "aa". I think BSP will combine multiple meshes into one (except for "@..." meshes). The output text suggests that the name of the combined root mesh is Model, but the joint refers to aa.
gamophyte on 18/8/2022 at 18:55
My apologies R Soul, that was a rushed screenshot. I open in anim8tor to clean up the groups, so there isn't that model group there normally. This issue still happens even without the "model" there. I just happen to have this model open already and quickly took the screenshot to show the error.
The issue was the perfect alignment of the base with sub.