成都网站建设设计

将想法与焦点和您一起共享

Unity3D如何实现扭动挤压浏览效果-创新互联

这篇文章主要讲解了Unity3D如何实现扭动挤压浏览效果,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联建站是工信部颁发资质IDC服务器商,为用户提供优质的四川绵阳服务器托管服务

最近的项目中,想做到一种能够吸引眼球的一种角色选择浏览效果

最终实现了下按如下图这么一种浏览效果:

Unity3D如何实现扭动挤压浏览效果

效果图一

Unity3D如何实现扭动挤压浏览效果

效果图二

可能要实现这么一种效果用动画插件会很快,但总感觉有点大材小用
这里我向大家分享一个极简方式来实现这么一种效果

目录结构如下

其中Items有4个Image子节点

Unity3D如何实现扭动挤压浏览效果

在父节点Items下添加如下图横向布局组件

Unity3D如何实现扭动挤压浏览效果

在其4个Image子节点下添加如下图布局元素组件

Unity3D如何实现扭动挤压浏览效果

完成这些步骤后接下来就是代码实现了
在Items添加如下脚本组件

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class Items : MonoBehaviour
{
 public List items = new List();
 
 //缩放时间
 public float time = 1.3f;
 
 //原先大小
 public Vector2 oldSize;
 
 //放大缩小速度
 public float speed;
 
 private void Start()
 {
 for (int i = 0; i < items.Count; i++)
 {
 EventTriggerListener.GetComponent(items[i]).onEnter = OnMouseEnter;
 EventTriggerListener.GetComponent(items[i]).onExit = OnMouseExit;
 }
 }
 
 
 void OnMouseEnter(GameObject go)
 {
 EventTriggerListener.GetComponent(go).UpdateSize(oldSize * time, speed);
 }
 
 void OnMouseExit(GameObject go)
 {
 EventTriggerListener.GetComponent(go).UpdateSize(oldSize, speed);
 }
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:Unity3D如何实现扭动挤压浏览效果-创新互联
转载注明:http://chengdu.cdxwcx.cn/article/dpepep.html