Unity3D&鼠标控制主摄像机(即时战略游戏视角)

更新时间:2023-06-08 22:44:56 阅读: 评论:0

< “情人明夷卦
放一个GameObject作为视角的中心点物体,渲染时后隐藏。主摄像机使用SmoothFollow,下面是我用到的参数
Field of View:35
Distance:6
Height:7
Target:指向中心点物体
画虾建立中心点物体控制脚本,我用的是C#
Start时,初始化中心点的位置,position的值时更加屏幕的分辨率的一半还要除100(比例问题),设定地图最大边界,我用的是1024x600的双屏大小。
这里要注意:因为摄像机的视角,初始位置会露出天空盒,所以这个值自己估计下,加上2或者3差不多(我这里没加)
private static int maxX = 2048/100;
private static int maxZ = 1200/100;
黑毛猪private int minX;
private int minZ;
void Start () {
initPosition();
}
private void initPosition()
{
符传泉
minX = Screen.width/2/100;
牌照螺丝怎么装图解minZ = Screen.height/2/100;
热气腾腾的Vector3 position =  new Vector3(minX,0,minZ);
transform.position = position;
}
Update里添加鼠标移动是摄像机视角移动的逻辑部分,uPosition可以得到以屏幕为参考的鼠标位置,GameObject轴方向移动用transform.Translate(Vector3.方向*偏移参数*Time.deltaTime)。
注意:鼠标竖轴会变成Y轴,而不是Z轴
void Update ()
{
moveView();
}
private void moveView()
{
//镜头向左
uPosition.x<10&&transform.position.x > minX)
{
transform.Translate(Vector3.left*10*Time.deltaTime);
}
//镜头向右
uPosition.x>Screen.width-10&&transform.position.x < maxX)
{
transform.Translate(Vector3.right*10*Time.deltaTime);
}
//镜头向下
修拉素描uPosition.y<10&&transform.position.z > minZ)
{
transform.Translate(Vector3.back*10*Time.deltaTime);
}
//镜头向上
uPosition.y>Screen.height-10&&transform.position.z < maxZ)
{
transform.Translate(Vector3.forward*10*Time.deltaTime);
}
}
分享: 分享到新浪Qing
实际容量
喜欢

本文发布于:2023-06-08 22:44:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/906195.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:视角   物体   摄像机   中心点   移动   鼠标   位置   屏幕
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图