找回密码
 注册帐号

扫一扫,访问微社区

士郎 吃鸡开发实战之倍镜实现

28
回复
2549
查看
[ 复制链接 ]
排名
1
昨日变化

7836

主题

8394

帖子

3万

积分

Rank: 16

UID
1231
好友
186
蛮牛币
11039
威望
30
注册时间
2013-7-29
在线时间
4019 小时
最后登录
2019-6-17

活力之星原创精华达人突出贡献奖财富之证游戏蛮牛QQ群会员蛮牛妹VIP

2018-9-25 10:56:39 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
在吃鸡元年,你们是否也中了吃鸡的毒?在短短的半年时间内,吃鸡这个词仿佛病毒一样疯狂的入侵到每个人的日常生活中,我也不例外.
最近接到项目需求,要对项目引入吃鸡里面的某些功能元素.于是顺手把实现的过程也写成文章来分享一下.这篇文章主要分享吃鸡里面倍镜的实现效果.
在这里我用到的是Unity这个引擎来实现. 单纯的吃鸡倍镜效果实现起来是非常简单的.在这里我用两张图来给大家剖析一下他的实现原理。
1.jpg

1表示我们摄像机中的物体,2代表我们最后呈像的框,3代表我们摄像机渲染区域,可以看成是由无数个平面构成的 如图中4,这样构成一个平面,最后将这些平面按照我们的分辨率投射到呈像框里面.
第二张图是修改了我们摄像机渲染角度后的图片. 可以发现我们的渲染区域缩小了,然后我们的 物体在我们4号的平面里面所占的比例增加了.然后我们把他们两个摄像机所渲染出来的游戏视图展示出来
2.jpg
可以发现,我们的物体在缩小摄像机渲染角度之后,成像大小发生了变化.
这便是我们倍镜的实现原理了.
接下来我们将这个原理运用到我们的实验场景中看一下效果.
第一步
先创建出两个UI, 一个是我们的基础镜,一个是我们的倍镜
3.jpg
4.jpg
注意:镜子一定要放在我们屏幕的中心点,不能有误差,在这里我让镜子偏移五个像素我们看一下效果:
5.jpg

原本我们的点是对着靶子的十环处.放大之后他往下偏移了不少.因为在我们放大镜头的同时,我们的误差也在放大,所以一定要让我们的镜头对准屏幕的正中间.
第二步
通过开关镜的操作修改摄像机的照射角度
6.jpg

注意:在这里摄像机的渲染模式必须是Perspective广角渲染.
上面的原理我们已经分析出来了,就是修改摄像机的渲染角度,在这里并不是说去修改摄像机Transform里面的那个角度,而是要去修改Camera下面Field of View 这个属性的值。
如果说上面的原理分析不能理解的话呢,我们这里举一个栗子.
7.jpg
这就好比我们打开手机的拍照功能,然后放大镜头.会发现我们镜头内的照射区域变小了但是区域内的物体变大了,.在这里修改照射角度就是这个原理.
下面通过代码去修改它的值:
[AppleScript] 纯文本查看 复制代码
 public void OpenMirror(ScopeType _scope)
    {
        Float _timesScope = GetTimesScope(_scope);//获取倍镜缩放倍数
        Scope.gameObject.SetActive(true);//倍镜开启
        baseScope.gameObject.SetActive(false);//基础镜关闭
        mainCamera.fieldOfView /= _timesScope;//摄像机渲染角度修改
        mCurrScopeType = _scope;//将镜子的类型储存起来.
    }

第三步
在update里面进行检测, 当右键按下时判断当前的镜子类型,然后决定调用镜子开/关的方法即可.
[AppleScript] 纯文本查看 复制代码
void Update()
{
   if(Input.GetMouseButtonDown(1))
   {
     if(mCurrScopeType == ScopeType.BaseScope)
     {
         OpenMirror(mCurrChoseScope);
         //mCurrChoseScope存储了所选择的倍镜(尚未开启),mCurrScopeType是当前使用的倍镜
         //在这里注意区分好
     }
     else
     {
         CloseMirror();//关闭倍镜.  
     }
   }
}

最终实现的效果就是下面这样了:
1.1.gif


这也是当前吃鸡以及几款吃鸡手游倍镜的实现方式了.
就我个人观点.这种实现方式其实是不合理的,因为他是将我们整个游戏视图都给放大拉进了,并不是说在镜子区域内局部放大的.例如:彩虹六号里面的倍镜效果做的就比较舒服,他是在镜子区域内去局部放大物体的.
知乎@代码律动

回复

使用道具 举报

3偶尔光临
178/300
排名
11231
昨日变化

0

主题

41

帖子

178

积分

Rank: 3Rank: 3Rank: 3

UID
295480
好友
1
蛮牛币
180
威望
0
注册时间
2018-9-2
在线时间
47 小时
最后登录
2019-6-17
2018-9-25 11:56:26 显示全部楼层
666666666666666

点评

ffffff  发表于 2018-9-26 13:41
回复 支持 反对

使用道具 举报

5熟悉之中
799/1000
排名
3927
昨日变化

1

主题

157

帖子

799

积分

Rank: 5Rank: 5

UID
204004
好友
0
蛮牛币
566
威望
0
注册时间
2017-1-22
在线时间
261 小时
最后登录
2019-6-17
2018-9-25 13:23:29 显示全部楼层
感谢分享!!!!!!!!!

点评

赞一下  发表于 2018-9-26 13:38
回复

使用道具 举报

排名
14229
昨日变化

0

主题

15

帖子

90

积分

Rank: 2Rank: 2

UID
259863
好友
0
蛮牛币
188
威望
0
注册时间
2017-12-15
在线时间
19 小时
最后登录
2018-12-5
2018-9-25 14:38:41 显示全部楼层
我也感觉局部放大真实点,感觉
回复 支持 反对

使用道具 举报

3偶尔光临
156/300
排名
12675
昨日变化

0

主题

42

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
271893
好友
0
蛮牛币
57
威望
0
注册时间
2018-3-12
在线时间
42 小时
最后登录
2019-2-19
2018-9-25 15:32:14 显示全部楼层
感谢大佬
回复

使用道具 举报

6蛮牛粉丝
1129/1500
排名
3138
昨日变化

1

主题

311

帖子

1129

积分

Rank: 6Rank: 6Rank: 6

UID
57841
好友
4
蛮牛币
11
威望
0
注册时间
2014-11-26
在线时间
345 小时
最后登录
2019-5-8
2018-9-25 20:26:31 显示全部楼层
看下下喜爱西安啊啊啊
回复 支持 反对

使用道具 举报

7日久生情
2880/5000
排名
2524
昨日变化

2

主题

1849

帖子

2880

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
241666
好友
0
蛮牛币
10773
威望
0
注册时间
2017-9-6
在线时间
453 小时
最后登录
2019-1-31
2018-9-26 06:40:15 显示全部楼层
感谢分享寄东西
回复

使用道具 举报

5熟悉之中
715/1000
排名
3915
昨日变化

1

主题

74

帖子

715

积分

Rank: 5Rank: 5

UID
288982
好友
0
蛮牛币
1254
威望
0
注册时间
2018-7-8
在线时间
258 小时
最后登录
2019-6-17
2018-9-26 08:28:30 显示全部楼层

感谢分享!!!!!!!!!
回复

使用道具 举报

5熟悉之中
899/1000
排名
3155
昨日变化

0

主题

204

帖子

899

积分

Rank: 5Rank: 5

UID
267103
好友
0
蛮牛币
3312
威望
0
注册时间
2018-1-31
在线时间
225 小时
最后登录
2019-6-17
2018-9-26 09:02:32 显示全部楼层
{:107:}
回复

使用道具 举报

7日久生情
1790/5000
排名
1989
昨日变化

6

主题

542

帖子

1790

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
54335
好友
2
蛮牛币
5436
威望
0
注册时间
2014-11-9
在线时间
560 小时
最后登录
2019-6-17
2018-9-26 09:19:41 显示全部楼层
回复

使用道具 举报

7日久生情
1678/5000
排名
1851
昨日变化

2

主题

433

帖子

1678

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
213483
好友
0
蛮牛币
2502
威望
0
注册时间
2017-3-21
在线时间
521 小时
最后登录
2019-6-14
2018-9-26 09:33:42 显示全部楼层
跟我念“站长妹纸萌萌哒!”我说站长,你说YO!
回复 支持 反对

使用道具 举报

4四处流浪
482/500
排名
8330
昨日变化

3

主题

193

帖子

482

积分

Rank: 4

UID
252298
好友
1
蛮牛币
301
威望
0
注册时间
2017-11-3
在线时间
140 小时
最后登录
2019-6-17
2018-9-26 10:02:06 显示全部楼层
感谢分享
回复

使用道具 举报

3偶尔光临
193/300
排名
10112
昨日变化

0

主题

26

帖子

193

积分

Rank: 3Rank: 3Rank: 3

UID
289014
好友
0
蛮牛币
174
威望
0
注册时间
2018-7-9
在线时间
61 小时
最后登录
2018-10-26
2018-9-26 10:03:58 显示全部楼层
感谢分享
回复

使用道具 举报

7日久生情
1612/5000
排名
1198
昨日变化

0

主题

230

帖子

1612

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
137070
好友
0
蛮牛币
3279
威望
0
注册时间
2016-2-20
在线时间
406 小时
最后登录
2019-6-15
2018-9-26 10:09:24 显示全部楼层
666666感谢楼主分享!
回复 支持 反对

使用道具 举报

7日久生情
2303/5000
排名
2248
昨日变化

0

主题

1285

帖子

2303

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
189581
好友
0
蛮牛币
3512
威望
0
注册时间
2016-12-5
在线时间
392 小时
最后登录
2019-6-5
2018-9-26 10:26:26 显示全部楼层
可以的给力啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则