-
Notifications
You must be signed in to change notification settings - Fork 747
Smoke - New Component #11220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Smoke - New Component #11220
Conversation
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
|
IMO a bit confusing to have a "smoke" addon that does not change the particles, though I can't think of a better name right now. |
Should it go in the goggles addon where eyewear is already providing protection from other things? |
rautamiekka
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Missing macros.
- Inconsistent
*_protectionspellings.
I agree that smoke is maybe not the best, but I also couldn't think of anything else that'd be better I don't think this should go in goggles, just because while they are related to face wear, that's about it. There is no overlap in config, settings, or functionality. |
| ]; | ||
|
|
||
| { | ||
| private _intersect = lineIntersectsSurfaces _x; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can use the alt syntax to multithread and run all 4 intersects in parallel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I pass four arguments into the alt syntax, will it return four in the result, even if a ray didn't collide?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
private _unit = player;
private _eyePos = eyePos _unit;
input = [
[_eyePos, _eyePos vectorAdd [5, 0, 0], _unit],
[_eyePos, _eyePos vectorAdd [-5, 0, 0], _unit],
[_eyePos, _eyePos vectorAdd [0, 5, 0], _unit],
[_eyePos, _eyePos vectorAdd [0, -5, 0], _unit]
];
input apply { lineIntersectsSurfaces _x }; x5
0.0203907 ms
lineIntersectsSurfaces [input]; x5
0.142939 ms
I know threading will have some overhead but it doesn't seem to break even until input count is over 16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. It behaves the same as running an apply loop.
But also Pabst benchmarked it
input apply { lineIntersectsSurfaces _x }; x5
0.0203907 ms
lineIntersectsSurfaces [input]; x5
0.142939 ms
With how short the distances are, the MT overhead is too large
|
After play testing this weekend, I found a problem with vehicles so I've just disabled it when inside one. I also had someone get the smoke effect standing in a particular spot, so I'll debug that further this week. Otherwise everything seemed to work well |
When merged this pull request will:
blockAIVisibilityhemtt launchfor ADTConsiderations:
IMPORTANT
Component - Add|Fix|Improve|Change|Make|Remove {changes}.