美文网首页
unity 第一人称和第三人称视角的切换

unity 第一人称和第三人称视角的切换

作者: Zi_Fi | 来源:发表于2021-02-17 22:06 被阅读0次

滑动屏幕旋转摄像机

image.png

using UnityEngine;

public class CameraSwitch : MonoBehaviour
{
    private float lastPosX;
    private float lastPosY;
    public Transform CameraX;
    public Transform CameraY;
    private float RotaSpeed ;
    public float Speed = 100;
    private float range = 2;
    
    void Update()
    {
        RotaSpeed = Speed * Time.deltaTime;

        if (Input.GetMouseButton(1))
        {
            if (Input.mousePosition.x > lastPosX + range)
            {
                CameraX.Rotate(Vector3.up, RotaSpeed);
                lastPosX = Input.mousePosition.x;

            }
            else if (Input.mousePosition.x < lastPosX - range)
            {
                CameraX.Rotate(Vector3.up, -RotaSpeed);
                lastPosX = Input.mousePosition.x;
            }

            if (Input.mousePosition.y > lastPosY + range)
            {
                CameraY.Rotate(Vector3.right, -RotaSpeed);
                lastPosY = Input.mousePosition.y;

            }
            else if (Input.mousePosition.y < lastPosY - range)
            {
                CameraY.Rotate(Vector3.right, RotaSpeed);
                lastPosY = Input.mousePosition.y;
            }
        }
    }
}

第三视角相机跟随

image.png

using UnityEngine;

public class CameraFollower : MonoBehaviour
{
    public Transform Target;
    public Transform Offset;
    private float mMoveSpeed=1f;
    private Vector3 offset;

    private void Start()
    {
        offset =  Target.position - Offset.position;
    }

    void Update()
    {

        transform.position = Vector3.Lerp(transform.position, Target.position-offset, Time.deltaTime * mMoveSpeed);
    }
    
}

视角互相切换

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ViewCtrl : MonoBehaviour
{
    public Button ViewChangeBtn;
    private bool firstViewState=true;

    public Transform FirstCamera;
    public Transform ThirdCamera;

    public Transform Offset;
    private void Start()
    {
        ViewChangeBtn.onClick.AddListener(ChangeView);

        FirstCamera.gameObject.SetActive(firstViewState);
        ThirdCamera.gameObject.SetActive(!firstViewState);
    }

    private void ChangeView()
    {
        firstViewState = !firstViewState;
        FirstCamera.gameObject.SetActive(firstViewState);
        if(!firstViewState)
        {
            ThirdCamera.position = Offset.position;
        }
        ThirdCamera.gameObject.SetActive(!firstViewState);
    }
}

相关文章

  • 10主角视角(第一人称视角与第三人称视角)

    第三人称视角### 第一人称视角###

  • ZZ写作视角

    视角分六种——第一人称、第二人称、第三人称、限制性第三人称、上帝视角、pov视角。ps:有人把上帝视角和第三视角并...

  • 一、视角控制:PC游戏中人物视角控制

    通常3D游戏视角控制有第一人称视角和第三人称视角,其中各有优劣。第一人称身历其境,但是视野受限,有些人会感觉比较晕...

  • 小说结构·下篇

    【寻找写作的真相】目录 人称视角 在小说创作中,人称视角有第一人称,第三人称。最常见的视角是第三人称,这也是读者最...

  • 小说的人称

    小说最常见的有两种人称:第一人称和第三人称。 第三人称是属于全知视角,也是上帝视角。我们在读小说的时候,我们可以看...

  • 写作小白向大神的进阶之路(二)

    本期主题为谨防写作时视角混乱。写小说有第一人称视角和第三人称视角,两种视角写法。有很多人在写作小说,叙述故事...

  • 《小说密码》读书笔记——虚构的语言(二)

    按照常规,平时我们使用语言以两种人称为主,第一人称和第三人称。一般来说,第一人称是主观视角,第三人称则经常是...

  • 故事视角

    视角,可以理解为故事场景是由谁的眼来看的。 视角和人称不一样。一般故事会更多采用第一人称或第三人称来写。 第一人称...

  • 三种视角的解读

    #微写作#第40篇 人的认知模式和思维方式可以简单归纳为三种视角:第一人称视角、第二人称视角与第三人称视角,而实际...

  • 读书笔记|如何塑造好人物形象——大师写作课的精华(二)

    文/大森 3 掌握第一人称的写法,减少视角切换的频度。 第一人称写作,首先是为了消除视角混乱。“上帝的全知视角”是...

网友评论

      本文标题:unity 第一人称和第三人称视角的切换

      本文链接:https://www.haomeiwen.com/subject/nquwxltx.html