ColAndreas
#1

Credits:

[uL]Chris420 - Huge work on his part to disassemble the ide/ipl/col files and generate a loadable binary
[uL]Slice - Helped in the early stages of development particularly with the data structures to read the .col files
[uL]Pottus - Bullet physics / samp plugin implementation
Bullet Physics - http://bulletphysics.org/wordpress/

We required more than what MapAndreas could offer for the DayZ server so we worked on creating a server side collision plugin. It currently only uses raycasting to detect object collisions by providing an origin and destination vector the nearest collision will be returned.

Code:
native CA_RayCastLine(Float:StartX, Float:StartY, Float:StartZ, Float:EndX, Float:EndY, Float:EndZ, &Float:x, &Float:y, &Float:z);
It can also support custom map collision but that still needs a bit of work to make dynamic creation/destruction through pawn.

Now since this is a production plugin for 420DayZ server it is not for release unfortunately at this time in fact it's not even implemented on our server yet.

Demonstration of ColAndreas

[ame]http://www.youtube.com/watch?v=aSabQWqQBkI[/ame]
Reply
#2

nice man
Reply
#3

Holy shit Pottus, I had my own way of creating a MapAndreas substitute, which took me a lot of time. But that's by far not as accurate as this and doesn't detect collisions in buildings.
Sadly enough I do not know a lot about Raycasting, but you've made me interested. I will look into it and try it myself in case you won't release this. I'd really like to have such a feature.

Quote:

It can also support custom map collision but that still needs a bit of work to make dynamic creation/destruction through pawn.

Could you explain this a bit better?



And you really should release it, it would be a major contribution to the community!
Reply
#4

great job uL Team & Pottus ofcourse gj!
Reply
#5

@Strawhats - That means when you create an object it will also add the collision in ColAndreas making custom map objects also detectable.

As for Raycasting it is very simple with Bullet once you have your world created it's just a simple call.
Reply
#6

Quote:
Originally Posted by Pottus
View Post
@Strawhats - That means when you create an object it will also add the collision in ColAndreas making custom map objects also detectable.

As for Raycasting it is very simple with Bullet once you have your world created it's just a simple call.
Ah like that, still I think you should release it (:3) or gift it to me (lol).
Reply
#7

Isen't this like super simple to make?

Good job anyway.
Reply
#8

Quote:
Originally Posted by Turn
View Post
Isen't this like super simple to make?

Good job anyway.
Do you plan on using MapAndreas? Then this won't work, since you can't detect collisions inside a building, however you can with this plugin.
Reply
#9

Thats a really interesting way.

How fast is it?
Ive done something similar for sutd years ago, without using .col files, but manually fitted hitboxes, and this was pretty slow, even though the math behind it is simple.
If this is actually fast enough to be used continuosly its even more impressive.

Ive recently planned to update MapAndreas for multiple layers, but if theres any chance that youll ever release this I could save that work. Alternatively, would you eventualyl be willed to generate the layer data using this? (else id have to do that manually, and thats gonna take 1000 times longer Anyways im not sure if, or when Id update mapandreas with that)
Reply
#10

Mauzen, at the far end of the video, there is a benchmark of a 1000 collisions.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)