Jump to content

zooloo75

Member
  • Content Count

    1973
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by zooloo75


  1. Preview of the shoulder-cam position toggling coming in v0.13:

     

    Edit: Released v0.13!

    Changelog:

    Allow for shoulder-cam to flip position offset depending on player's lean direction.

    Added keybinding to manually toggle shoulder-cam position (accessible via Options > Controls > Configure Addons > CineCam > Toggle Camera Shoulder).

    Allow for inventory to be accessed while in third-person.

    Fixed issue where sprinting while the weapon was lowered caused the camera to go into shoulder-cam mode (should only happen if the weapon is raised).

    Added mild post-process effects for eyecandy.

    Removed inadequate camera shake that represented weapon recoil (will be revisited at a later date).

    Improved combat lean stance detection for shoulder-cam flipping.

    • Like 2

  2. 2 hours ago, LykosMactire said:

    any chance for stance adjustment based leans? like the sniper crouch (prone + Control-W) raising a bit above character more

     Disregard previous. However bug report: cannot Remote control units in zeus when using this mod

    Thanks for the report. I'm aiming to have CineCam be a reliable replacement for the third-person camera. As there's quite a bit of camera manipulation involved with Zeus, compatability with it (and any other mission that manipulates the camera) might not be too well at the moment.

     

    On another note, I'm going to be making shoulder cam position switching key-bindable. If a key binding is not defined, then the automatic shoulder switching will take effect based on the direction the player is leaning. If a key binding is defined, then the player has manual control of shoulder switching, and the automatic switching will be disabled.

    There will also be an option to disable shoulder-cam position switching altogether, for whatever use-case that enables.

    • Like 1

  3. For those that want to tinker with the camera settings, you can manipulate these via the ingame debug console:

    ThirdPerson_CameraPositionOffset = [0.025, -1, 0.2];
    ThirdPerson_FreeLookCameraPositionOffset = [0.1, 0.45, 0.02];
    ThirdPerson_ProneCameraPositionOffset = [-0.1, -0.3, 0.15];
    ThirdPerson_WeaponRaisedCameraPositionOffset = [0.35, 0.15, -0.15];
    ThirdPerson_WeaponRaisedCameraPitchOffset = 10;
    ThirdPerson_WeaponRaisedCameraBankOffset = -1.5;
    ThirdPerson_CameraPitchOffset = -5;
    ThirdPerson_CameraBankOffset = -3.5;
    ThirdPerson_CameraPositionLeanRightOffset = 0.75;
    ThirdPerson_CameraPositionLeanLeftOffset = 10;
    ThirdPerson_CameraMovementSpeed = [0.35, 0.35, 0.35]; // XYZ values must be the same. As of v0.12 the camera movement speed doesn't work on separate axis as expected. 
    ThirdPerson_CameraRotationSpeed = 0.15;

     


  4. 11 minutes ago, LykosMactire said:

    Love the feeling of this. But here's some things i noticed in my short tests, some may fall under known catagories already

    -Cant change firemode in third person (Atleast when i tested it only did semi auto, even when i changed it in first person to full)

    -Zooming in with holding right click (not aiming down sights) forces you back into first person

    Will look into this, thanks for the heads-up!


  5. CineCam | Cinematic Third-Person Camera Replacement
    by Zooloo75

     

    Steam Workshop Page: https://steamcommunity.com/sharedfiles/filedetails/?id=1551751531

    Version: 0.15 / Nov 1, 2018

    Development Began: Oct 27, 2018

    License: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

    88x31.png


    Disclaimer:
    This mod is not for everyone. Some players may feel motion sickness.
    Some features are unavailable or are not fully implemented while in CineCam's third-person.
    CineCam could break or cause issues in missions that manipulate the camera.


    Description:
    This mod replaces the third-person camera. This replacement is more dynamic, moving based on context.
    The camera positions itself according to the player's actions. If the player is moving with their weapon lowered,
    then the camera will follow centered behind the player, exuding a feeling of tranquility.
    When the player has their weapon raised, the camera will go over the player's shoulder, allowing for a clear
    shot of what's ahead. Free-look moves the camera in closer towards the player's head, improving feedback.
    The camera's motion is derived from various properties of the player. The weight of the player's movement can

    be felt through the camera.


    Known Issues / ToDo:
    [Issue] Reloading a secondary weapon while in third-person will reload the primary weapon first if it needs to be reloaded (limitation of `reload` command).

    [Issue] Reloading in third-person sometimes doesn't work.
    [Issue] Action menu cannot be accessed while in third-person due to technical limitations of being switched to a separate camera.

    [Issue] Aiming down sights can stop working in both third or first person.

    [Issue] Zooming in by holding right click while in third-person, and then releasing zoom, doesn't return back to the third-person camera.

    [Issue] Sprinting while the player's weapon is lowered causes the camera to go into shoulder-cam mode (`weaponLowered` command is unreliable).

    [Issue] Switching fire modes in third-person sometimes fails.

    [Issue] Firing full-auto in third-person for certain weapons does not work (need to build up list of full-auto fire mode names -- if you come across a weapon that doesn't fire in full-auto while in third-person, let me know).

    [Issue] Clicking in menus causes the player's weapon to fire.

    [ToDo] Add crosshair to third-person, which can be toggled via CineCam's Addons Settings.

    [ToDo] Make camera translations work with relative-space vectors, instead of global-space for easier camera manipulation.
    [ToDo] Camera yaw does not utilize torque yet (need to figure out how to handle rotation from 359deg to 0deg, as it rotates 359deg backwards instead of 1deg forward).
    [ToDo] Respect different vision modes, such as night vision, and thermal vision.
    [ToDo] Separate camera position offset handling for both left and right leaning (common problem of limited visibility when leaning left with right-oriented shoulder cam).
    [ToDo] Improve recoil feedback (perhaps tie it to arm/shoulder movement since that should accurately represent the recoil motion?).
    [ToDo] Make camera settings user-configurable.
    [ToDo] Handle third-person vehicle camera.

    [ToDo] Potentially use `cameraEffect` to allow for various post-process effects and the ability to change field of view (player loses control of character when using `cameraEffect` at the moment).

    [ToDo] Initialize camera position on player.

    [ToDo] Allow for shoulder-cam to be toggled between left and right shoulder.

    [ToDo] Allow for shoulder-cam position switching to be disabled.
    [ToDo] Obligatory code refactor.

     

    Changelog:

    0.16 / TBA:

    Code cleanup.

    0.15 / Nov 1, 2018:

    Made camera settings configurable (via Options > Addon Options > CineCam).

    Reduced default film grain value.

    Disabled CineCam's post-process effects by default (can be enabled via Addon Options).

    0.14 / Oct 31, 2018:

    Improved camera offsets for practicality.

    Prevent firing while viewing map.

    Fixed issue where attempting to fire in full-auto with an empty magazine would playing the click sound every frame.

    Fixed issue where firing in full-auto for certain machine guns would only fire single shots.

    Remove inadequate night-vision handling.

    0.13 / Oct 31, 2018: 

    Allow for shoulder-cam to flip position offset depending on player's lean direction.

    Added keybinding to manually toggle shoulder-cam position (accessible via Options > Controls > Configure Addons > CineCam > Toggle Camera Shoulder).

    Allow for inventory to be accessed while in third-person.

    Fixed issue where sprinting while the weapon was lowered caused the camera to go into shoulder-cam mode (should only happen if the weapon is raised).

    Added mild post-process effects for eyecandy.

    Removed inadequate camera shake that represented weapon recoil (will be revisited at a later date).

    Improved combat lean stance detection for shoulder-cam flipping.

    Prevent firing while in dialogs.

    0.12 / Oct 30, 2018:

    Fix issue where player can't aim down sights while in first-person.

    0.11 / Oct 29, 2018: 

    Fix issue where players couldn't fire in full-auto while in third-person.

    0.1 / Oct 29, 2018:

    Initial release.

     

    Media:

     

    • Like 13
    • Thanks 1

  6. Is Intercept currently working? I've followed the wiki on Github and the example code doesn't seem to do anything ingame.

    I've confirmed that the dll is in use by failing to delete it.

     

    #include "stdafx.h"
    
    // required exported function to return API version
    int __cdecl intercept::api_version() {
    	return 1;
    }
    
    // This function is exported and is called by the host each frame.
    void __cdecl intercept::on_frame() {
    	// get the player object and store it
    	intercept::types::object player = intercept::sqf::player();
    
    	// get the post of the player
    	intercept::types::vector3 pos = intercept::sqf::get_pos(player);
    
    	// build a string...
    	std::stringstream side_chat_msg;
    	side_chat_msg << "Hello Arma World, here is the player pos: " << pos.x << "," << pos.y << "," << pos.z;
    
    	// send it to the binary SQF sideChat command
    	intercept::sqf::side_chat(player, side_chat_msg.str());
    }
    
    // Normal Windows DLL junk...
    BOOL APIENTRY DllMain(HMODULE hModule,
    	DWORD  ul_reason_for_call,
    	LPVOID lpReserved
    )
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    		break;
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }

    BattleEye is disabled, and I created the addon and confirmed that its config is present ingame and that the pluginName is accurate. The dll exists in my addon folder "Arma 3\@intercept-playground\intercept\intercept-playground_x64.dll"


  7. 2 hours ago, Strike_NOR said:

     

    This is an excellent idea, man and I'm liking where you are going with it.

     

    Standard ARMA 3 effects are, well, predictable and dull. It's really hard to see if you scored a hit. Your mod has brought a lot of detail into a very overlooked part of the game. I think it brings more immersion because of its "shock and awe" effect. Seeing a teammate go ragdoll and collapse is one thing, but seeing the blood spray from him next to that supersonic crack as the bullet impacts is something else!

     

    If you want my sincere feedback on the new animated spray effects, please read on!

     

    The effects themselves are really nice and generally look good, but if you want to strive for perfection I would recommend trying the following:

     

    • Slightly increase transparency, right now it almost looks as dark-red paint. 
    • The showcased hits look like hits from .50cal size weaponry. No way you will get these kind of sprays from regular rifle ammo unless you actually hit the heart and tear it open. I suggest keeping the current animated effects for large-caliber hits, and reducing them to about 50% size for rifle/pistol.
    • Experiment with adding some white/grey dust/mist to the impacts. As the bullet passes through tissue, it creates an expanding cavity. As this collapses, it tends to blow/spray out some dust and blood. Also, the shockwave travelling with the bullet tends to kick off a lot of dust from clothes upon entry/exit. (Albeit I must say it's hard to see from these GIF's if the dust is coming from ground impacts or your body impact effects... But I'm pretty sure the "dust" is coming from bullets striking the pavement).

     

    Keep in mind that I mean it in a constructive way and it only reflects my personal taste, which normally leans towards realism. Your mod completely transforms my experience of infantry combat in ArmA3 into something more immersive and I am truly grateful for that :)

     

    Finally I'd like to point out that everyone has their own taste, and I know bloodlust is already quite tweakable. Maybe you can set a player-selectable spray size for each type of blood effect (the caliber dependent ones). You know.. in case some of us sick guys want bloodbath 80's action movie style effects :)

    Thanks for your feedback, I totally agree with your points and will try to strive towards this over the course of the mod's development. 

    • Like 5

  8. 6 minutes ago, das attorney said:

     

    Well why are you posting here in the first place?

     

    I assumed it was to help the OP, but if you want to turn it into some kind of power struggle, then carry on.....

    I'm posting a solution that might be of use to the right person to further progress the OP towards having moving targets. No where did I say that I was going to provide an implementation of said solution. Especially at 1AM.

     

    You seem eager to solve the OP's problem, so I'll give you the pleasure of handling this issue ;)

     

     

    Please don't be oblivious to your own messages and take a stance that my response is uncalled for.

     


  9. 13 minutes ago, das attorney said:

    The proof is in the pudding, so if you think it is good enough, then make a test mission for this guy and his buddies.

     

    No point debating it with me until we are both blue in the face.

     

     

    There was no point in starting a debate with me about my solution when you admitted that you couldn't comprehend it in the first place.

     

    If someone explains how to catch a fish, and I know very little about fishing, then it wouldn't be wise of me to start critiquing the person's fishing techniques.

     

    Also, how dare you order me to take additional time out of my day to work on something just to prove you wrong. You have some nerve, bud. I hope I'm just mischaracterizing the tone of your message.


  10. 4 minutes ago, das attorney said:

     

    How is time consistent on clients? That would be a shitshower to assume that.  It's all over the place.  As you know, everyone's fps is different, and their PC's perception of "time" is different.

     I think you're mistaking my meaning of time with a computer's system time. I am referring to the ingame time of day, which would be consistent. 

     

     

    Your game may run at 1000 frames per second, but that doesn't mean a second is going to elapse any quicker.


  11. 8 minutes ago, das attorney said:

     

     

     

    ^^ this network traffic

    Time is already consistent across the clients. It does not need to be broadcasted. As long as everyone joins the game with the correct time (which the game does for you), they'll have the same time being passed to the positioning function, since their clocks will tick at the same rate.

     

    Only one piece of information is sent across the network, and that is a signal that the object was hit.


  12. 4 minutes ago, das attorney said:

     

    That's going to be a shitload of network traffic, just to have some local objects sync up with each other.  Probably easier to have a global object and use:

     

    https://community.bistudio.com/wiki/setVelocityTransformation

     

    Or just build a target model with a proper animation to handle all this crap.

    What network traffic would there be? The only thing being sent over the network is the event of a client's target being hit, which is barely anything. 

     

    Your idea would still suffer from stuttering as the server would still be responsible for synchronizing the position, sending that position data constantly across the network, which when paired with UDP, would result in a high probability of the packets containing the position data to be received and processed by the clients out of order.


  13. 17 minutes ago, das attorney said:

    So you're saying do it locally, but if there's a hit, then sync it up over the network?

    Create an object that is local to the client that will act as a target. This can be done with the createVehicleLocal command.

     

    With that object, we need to set its position at an interval based off of the current time. This time value must be consistent across all clients to ensure that everyone sees their instance of the target at the same position.

     

    With this in mind, we can write a function that returns the position that the target should be at given the current time. This function would take the current time, the starting position of the target, and direction to be applied to the offset position. Figure out the math to calculate the position based off of the current time, and you can then use that position for your target. 

     

    When the target is hit, we want the target to do an animation, or something, so we need to add an event handler for when the target gets hit. Since the object is local to the client, we need to broadcast to all other clients when the player hits the target, possible with the remoteExec command. Other clients will then receive this message and should then make their local target perform the desired action.

×