当前位置: 首页 > news >正文

做网站应聘平台安徽做网站公司哪家好

做网站应聘平台,安徽做网站公司哪家好,网站做cpa,wordpress 管理插件下载文章目录 问题描述功能展示技术细节小结 问题描述 本文提供的功能是摄像机朝向目标移动,并确定整个目标出现在摄像机视角内,针对不同尺寸的模型优化。 功能展示 提示:这里可以添加技术名词解释 技术细节 直接上代码 using UnityEngine;…

文章目录

    • 问题描述
    • 功能展示
    • 技术细节
    • 小结

问题描述

本文提供的功能是摄像机朝向目标移动,并确定整个目标出现在摄像机视角内,针对不同尺寸的模型优化。

功能展示

提示:这里可以添加技术名词解释
在这里插入图片描述

技术细节

直接上代码

using UnityEngine;public class CameraController : MonoBehaviour
{public Transform target; // 模型的Transform组件public float moveSpeed = 5.0f; // 摄像机移动速度public float rotationSpeed = 2.0f; // 摄像机旋转速度public float minDistance = 2.0f; // 摄像机与模型的最小距离public float maxDistanceMultiplier = 1.0f; // 最大距离的倍数private Vector3 targetOffset; // 目标相对于中心的偏移private void Start(){if (target == null){Debug.LogWarning("目标模型为空,请在Inspector中指定目标模型的Transform组件。");return;}// 初始化目标偏移targetOffset = target.position - transform.position;}private void Update(){if (target == null)return;// 计算摄像机指向目标的方向Vector3 targetDirection = target.position - transform.position;targetDirection.y = 0; // 如果只关注水平方向,可以将y轴置为0// 计算摄像机应该旋转的角度Quaternion targetRotation = Quaternion.LookRotation(targetDirection);// 平滑地旋转摄像机朝向目标transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotationSpeed * Time.deltaTime);// 计算摄像机与目标的距离float distance = Vector3.Distance(transform.position, target.position);// 根据模型的大小自动调整最小距离float modelSize = CalculateModelSize();float minDistance = modelSize * 0.5f;// 计算最大距离float maxDistance = modelSize * maxDistanceMultiplier;// 限制距离在最小和最大范围内distance = Mathf.Clamp(distance, minDistance, maxDistance);// 移动摄像机向前transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);// 计算目标的期望位置Vector3 desiredPosition = target.position - targetOffset - targetDirection.normalized * distance;// 平滑移动摄像机到期望位置transform.position = Vector3.Lerp(transform.position, desiredPosition, Time.deltaTime * moveSpeed);}// 计算模型的大小private float CalculateModelSize(){// 这里可以根据模型的具体情况来计算大小// 例如,可以获取模型的包围盒尺寸// 也可以根据模型中的特定标记来计算大小// 这里只是一个示例,需要根据实际情况进行调整Bounds bounds = new Bounds(target.position, Vector3.one);Renderer[] renderers = target.GetComponentsInChildren<Renderer>();foreach (Renderer renderer in renderers){bounds.Encapsulate(renderer.bounds);}// 返回模型的大小(包围盒的对角线长度)return bounds.size.magnitude;}
}

小结

后期可扩展功能:类似点击目标完成视角移动等。

http://www.zhongyajixie.com/news/63936.html

相关文章:

  • 网站用ps下拉效果怎么做上海关键词优化排名软件
  • 如何鉴定网站做的好坏如何在各大网站发布信息
  • 昆山公司做网站太原网站关键词推广
  • 空间网站购买百度上首页
  • 如何做网站的的关键词怎样做平台推广
  • 郑州响应式网站制作搜狗搜索引擎入口
  • 学做网站需要多久时间互联网培训机构排名前十
  • h5网站开发环境河南网站seo
  • 学校诗歌网站建设抖音seo推广外包公司好做吗
  • .net建设网站步骤详解头条新闻
  • 网站建设包含哪些费用怎么制作公司网页
  • 深圳网警北京网站seo哪家公司好
  • iis 网站打不开刷外链网站
  • 男的做直播网站小说推文推广平台
  • 微信小程序网站建设哪家好北京网站seowyhseo
  • 展示网站百度指数批量查询工具
  • 大型网站建设完全教程seo短期培训班
  • php做的网站如何该样式建网站用什么软件
  • 一站式服务广告语百度广告联盟平台的使用知识
  • 国外网页素材网站网页友情链接
  • 湖南网站制作收费标准市场营销十大经典案例
  • 怎么做盗版小说网站吗seo培训机构
  • 创一个app需要多少钱seo搜索是什么意思
  • 彩票游戏网站开发最简短的培训心得
  • 网站定制开发怎么写谷歌推广怎么做
  • 初创企业网站建设流程seo手机优化软件哪个好用
  • 新乡网络网站建设最佳搜索引擎磁力
  • 个人网站如何备案重庆搜索引擎seo
  • 做系统哪个网站好游戏推广赚佣金平台
  • 九江哪家网站建设公司好网络营销特点