Forum rules - please read before posting.
Tech questions during the weekend? Drop in on the community Discord channel!

Advanced Third Person Camera

Hi,
I started an empty screen. I read the tutorials etc, and I can't set in play mode the "Advanced Third Person Camera" working.

If I set the Movement Method: First Person, after it automatically start the game in FPS mode.

I think it would be very good if Third Person option would be in movement method, what user can select and after it works.

Can somebody helps me about it, how can I set it to work? What settings are good for it? Maybe I was blind when read the manuals, don't know, but I need little help.:)))

By the way, I've used the AC already and it's a very good system, and I'm very satisfied with it and Chris's ultra fast support!!!!

Comments

  • First-person is listed as it's own "Movement method" because it affects the way the character moves - not just the camera style. In third-person, there is no such restriction - you can use a third-person camera with point-and-click / direct movement / etc.

    In what way exactly are things not working? Screenshots and details (including AC/Unity version numbers) will help to understand the actual problem.

    For a basic setup to getting the advanced third-person camera working:

    1. Set your Movement method to Direct
    2. Place in the Demo game's character, Tin Pot, into your scene (just for testing - he can be found in /Assets/AdventureCreator/Demo/Resources)
    3. Place in an instance of the AdvancedThirdPersonCamera prefab (found in /Assets/AdventureCreator/Downloads/Advanced third person camera)
    4. Set this camera as the "Default camera" in the Scene Manager
    5. Make sure that "Is player?" is checked in the camera's "Target" panel in the Inspector

    This camera should then be active, and follow the player, when the scene starts. You can configure the Inspector further to control how it moves (i.e. with the CursorHorizontal / CursorVertical inputs, or drag-control).

  • Thank you Chris, it works like always! Can you suggest something for that, I would like to First Person movement (with cursor closed to the middle of the center of the screen) with Advanced Third Person Camera, so a RPG game movement solution?

  • In your Settings Manager's "Interface settings", check Lock cursor in screen's centre when game begins? to lock your cursor in the middle of the screen.

  • edited January 7

    Yes I tried it, but I don't have free look with mouse. The camera follows the player,but when I move my mouse, no movement on the screen, just freezed:/

    Edit: Now okay, I set the cursorhorizontal and vertical into Unity Input manager, now the free look works. Can I set that when the characters moves and I move my mouse the character go there where I see the mouse?

  • Sounds like you want to set your Movement method to either "Point And Click" or "Straight To Cursor" - both rely on the cursor's position to direct player movement.

  • I would like and RPG movement solution, like new Star Wars, if my player is walking and I move my mouse vertical, the player is turning when the mouse, if my player is standing and I move my mouse the player isn't turning. Sorry for my English, I hope I could write it clearly.:)

  • When the Movement method is Direct, then the player will move according to the camera - so if the camera turns (due to mouse movement), then the player should also turn with it.

    As an action game, the new Star Wars game isn't what AC is intended for. If you want behaviour that's different from traditional adventure mechanics, likely you'll need to look into a custom motion controller. See the Manual's "Custom motion controllers" chapter for more on this topic.

  • Have you ever "heard" from someone who tried to use custom motion controllers from the asset store before? Maybe you can offer what would be easy to implement. Because my C# knowledge is little, and can write just easy codelines.:/ So I tried to figure out now, what controller would be good for me. If you can offer me something maybe in private message or can help me to implement what you can offer and easy, I would pay your time of course. Just I learnt and know AC "skills" already and I really love to work with it and would like to work in the future too.:)))

  • I'm using Opsive TPC for some sections, it has a basic integration that works.
    Invector used to have one, but the last time I tried hasn't working.
    BTW, I think that the AC controller supports "free look", check that you haven't ticked "always behind character" or something like that in the camera.

  • Thank you for everybody the helpful answers. I'll try today the Opsive TPC integration what you suggested, and maybe I check the Unity TPC integration too.

    After I will write.:)

  • I implemented Opsive UCC into my project and I did your article about it, but no success.:/ I don't know what could be the problem, be the camera is not moving and my character can't move, my character can only defend herself (right mouse clicking)

  • maybe new Unity Input neccessary? Unity Input should be UCC Input settings, or leave just AC settings?

  • Update: Now it starts to look much better. Simple movements are okay, and turning is okay too, but not perfect yet, because when I turn with mouse, my character is shaking...
    So when in an Actionlist I would move my player to a door, AC can't move my character because of Opsive UCC, right? Or just can't play the animation?

  • Once you run an AC ActionList that places the game into "Cutscene" mode (i.e. the ActionList's When running field is set to Pause Gameplay), then motion control over the character reverts back to AC.

    This is handled by the integration script's implemention of the OnEnterGameState event:

    private void OnEnterGameState (GameState newGameState)
    {
        if (newGameState == GameState.Normal)
        {
            EventHandler.ExecuteEvent <bool> (gameObject, "OnEnableGameplayInput", true);
            player.motionControl = MotionControl.Manual;
        }
        else
        {
            EventHandler.ExecuteEvent <bool> (gameObject, "OnEnableGameplayInput", false);
            player.motionControl = MotionControl.Automatic;
        }
    }
    

    Keep your Player Inspector open when the ActionList runs. What happens to the Motion control setting near the top? It should turn to Automatic.

    Keep in mind that you'll need to set up your scene's navigation method for the Player to move under AC control - i.e. bake your NavMesh and set the pathfinding method in the Scene Manager.

  • Thank you, I see how it's working. When I'm in interaction I switch to a gamecamera, but after I can't switch back to the Main Camera (Opsive UCC), what script schould I put to the camera, how I can put my Main Camera end of my actionlist, when I would like to switch back. The Main Camera script is on the camera of course, my controller is perfect too. My temporary solution is that I put a First Person Camera script of AC, and now the AC system "know" my camera, and I could pull it to the Camera: Switch actionlist.

    Thank you for your help!

  • If you attach a Basic Camera component to your own custom Camera, then you can select it with the Camera: Switch Action.

  • Thank you, after I attached it to the camera and I clicked play mode, the Camera (built in Unity) component is turn off to inactive and "no cameras rendering" on the screen, if I activate it on play mode, it stays in active and the camera work with the game. What can be the reason of this deactivating? What should I modify? (There is the Ac's Main Camera, and Basic Camera component, and the Opsive's camera components on the camera.

  • edited January 24

    Don't put all three on the same object - the AC MainCamera should be left as a separate object.

    Remove the MainCamera, and add a new instance of the MainCamera prefab to the scene. This can be found in /Assets/AdventureCreator/Prefabs/Automatic.

    AC GameCameras (Basic Camera included) work by acting as references for the MainCamera, so aren't used to render anything. To use this method, you'll have to set this Basic Camera as the Scene's default camera - but it depends on whether or not Opsive's camera script works even if the Camera component itself is disabled.

    The other method would be to keep AC's MainCamera and Opsive's Camera system totally separate - and only have one active at a time. This would mean removing the Basic Camera component, and then disabling the AC MainCamera during regular gameplay. When you want to cut to an AC GameCamera, you'd then have to disable Opsive's camera, and enable AC's MainCamera, from a custom script.

    See the Manual's "Disabling the MainCamera" chapter for more details.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.
Do NOT follow this link or you will be banned from the site!