unity 3D,镜头跟随鼠标移动

这篇具有很好参考价值的文章主要介绍了unity 3D,镜头跟随鼠标移动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、鼠标隐藏,使用UI图片作鼠标图

二、射线在屏幕中央,用于交互

using System.Collections;
using UnityEngine;
public class ScreenPointToRay_ts : MonoBehaviour {
    Ray ray;
    RaycastHit hit;
    //记录射线到屏幕上的实际像素坐标
    Vector3 v3 = new Vector3(Screen.width / 2.0f, Screen.height / 2.0f, 0.0f);
    Vector3 hitPoint = Vector3.zero;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        //控制射线不断进行左右方向的扫描
        v3.x = v3.x >= Screen.width ? 0.0f : v3.x + 1.0f;
        ray = camera.ScreenPointToRay(v3);
        if(Physics.Raycast(ray,out hit,100.0f))
        {
            Debug.DrawLine(ray.origin, hit.point, Color.green);
            Debug.Log("射线探测到的物体名称: " + hit.transform.name);
        }
    }
}

三、鼠标与摄像头跟随文章来源地址https://www.toymoban.com/news/detail-523179.html

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

public class CameraFlow : MonoBehaviour
{
    public float moveSpeed = 5.0f;
    public GameObject FirstCamera;
    // Use this for initialization
    public bool IsClock;
    void Start()

    {
        IsClock = false;
    }

    // Update is called once per frame

    void Update()

    {

        if (IsClock)
        {

        }
        else {


            // 获得鼠标当前位置的X和Y

            float mouseX = Input.GetAxis("Mouse X") * moveSpeed;

            float mouseY = Input.GetAxis("Mouse Y") * moveSpeed;


            Cursor.visible = false;
            Cursor.lockState = CursorLockMode.Confined;
            // 鼠标在Y轴上的移动号转为摄像机的上下运动,即是绕着X轴反向旋转

            FirstCamera.transform.localRotation = FirstCamera.transform.localRotation * Quaternion.Euler(-mouseY, 0, 0);

            // 鼠标在X轴上的移动转为主角左右的移动,同时带动其子物体摄像机的左右移动

            transform.localRotation = transform.localRotation * Quaternion.Euler(0, mouseX, 0);

        }

    }

}

到了这里,关于unity 3D,镜头跟随鼠标移动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】摄像机跟随鼠标移动以物体为中心旋转 物体根据视线方向移动

    描述 实现摄像机根据鼠标移动跟随物体旋转,以摄像机前物体为中心,摄像机围绕物体旋转,并使摄像机时刻指向物体 实现效果 Unity 组件设置 Camera 组件设置 Body 组件设置 实现代码 CameraRotateMove.cs 摄像机跟随和旋转 move_better.cs 物体根据按键移动

    2024年02月08日
    浏览(86)
  • Unity 3D 人物移动朝向跟随摄像机(第一人称)

    以人物身体旋转控制镜头左右滑动 以摄像机旋转控制镜头上下滑动 首先我们要知道 摄像机是作为人物的子物体的(充当眼睛) 所以当人物旋转时 摄像机会跟随它朝相同的方向旋转相同的角度 从而达到 眼睛(摄像机)注视的方向一定是人物的正前方 那么这样做有什么好处

    2024年02月21日
    浏览(52)
  • unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩

    将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件   using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour {     public float speed;     Rigidbody rigid;     void Start()     {                 rigid = GetComponentRigidbody();     }  

    2024年02月10日
    浏览(43)
  • Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)

    UI跟随鼠标移动, 当我们修改屏幕分辨率、锚点、pivot等参数时会动态自适应并始终让ui的pivot中心点位置跟随鼠标位置。同时脚本中包含3d物体跟随ui位置和3d物体直接跟随鼠标位置移动 在说功能原理之前我们需要先了解屏幕坐标、Canvas自适应、锚点、中心的特性和之间的关系

    2024年02月04日
    浏览(63)
  • Unity鼠标控制3D物体的移动、旋转、缩放

    1.使用协程 2.鼠标左键控制物体移动,鼠标碰到物体,物体颜色改变 1. 控制物体左右旋转,上下旋转 2. 控制摄像机以物体为中心旋转 脚本挂载到摄像机上 1. 基于物体本身的Transform的缩放 2. 基于摄像机的远近的缩放 脚本挂载到摄像机上

    2024年02月11日
    浏览(50)
  • 图片跟随鼠标移动效果的抖动问题

    图片跟随鼠标移动效果的实现思路: 触发mousemove事件响应时,通过e.offsetX,e.offsetY获取到当前鼠标的位置。再修改图片的css样式中的top, left属性(图片采用绝对定位)。 代码如下: 分析问题原因 offset是相对于事件源而言的,即,鼠标在哪个元素上移动,事件的offset属性就是

    2024年02月09日
    浏览(74)
  • vue中跟随鼠标移动和边界处理

    补充前端跟坐标有关的知识点 1.pageX和pageY是整个文档开始计算的坐标,  红色表示pageX和pageY 2.offsetX和offsetY是一个鼠标在一个元素内的坐标, 蓝色表示offsetX和offsetY 3.clientX和clientY是当前屏幕可视化局域计算的坐标,  当文档不向下滚动时,红色也可以表示clientX和clientY 分析得出

    2024年02月16日
    浏览(52)
  • html+css+js实现小红点跟随鼠标移动

    2024年02月06日
    浏览(85)
  • Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩

    Unity3D中运行场景时,实现摄像机的前、后、左、右、上、下,以及鼠标滚轮的放缩,鼠标右键的旋转操作。亲测有效,可供参考。 按键功能介绍:W——前;S——后;A——左;D——右;Q——下降;E——上升;鼠标右键——旋转;鼠标滚轮——放缩。 Tourcamera脚本需要挂在摄

    2024年02月11日
    浏览(60)
  • Unity3D实现第一人称移动,随鼠标转动视角+上楼梯(C#)

    第一人称移动: 1、在层级面板创建一个Capsule,命名为Player,将层级面板中的相机拖到Player下方 2、重置Player和摄像机的Transform数值(方便调整摄像机在Player上的位置),然后调整摄像机在Player上的位置 大概将摄像机放到Player眼睛的位置即可。 3、创建一个脚本,命名为Came

    2024年02月13日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包