项目笔记
文章平均质量分 77
一克拉绿豆
U3D游戏开发从业者
展开
-
Unity美术字体教程--BMFont美术字体的制作流程以及在unity中美术字体的生成
在unity的开发过程中,为了实现更好的表现,经常要使用美术字体,记录下美术字体的制作流程。首先,美术的同学会给一张制作好的美术字的图片,当然如果能直接给fnt文件就更省事了。拿到图片后,将图片的spriteMode设置为Multiple,然后Sprite Editor进行图片区域的划分,把图片分成宽度高度一致的小图,分享一个在unity中使用的图片切割的工具脚本:/*** UnityVersion: 2018.3.10f1* FileName: ImageSlicer原创 2020-11-27 21:58:19 · 2540 阅读 · 1 评论 -
Unity UGUI 按钮呈半圆型滑动的无限列表 可左右镜像排列
上一篇是实现了按钮可拖拽并自动吸附在屏幕两侧,接着呈半圆分布。之前是道具按钮比较少的情况,道具按钮一多,屏幕空间又局促的情况下,按钮就要适当隐藏了,所以做成一个可以滑动的列表。滑动的轨迹是一个圆形。这个需求还挺有意思的,记录一下代码: using DG.Tweening;using System.Collections;using UnityEngine;using UnityEngine.UI;usi...原创 2020-08-19 21:57:26 · 2944 阅读 · 2 评论 -
Unity UGUI 按钮自动吸附在屏幕边缘,并成半圆分布
在有些屏幕空间比较局促的游戏中,可能会采用可活动的按钮,根据点击的位置灵活摆放按钮,为了不遮挡其他物体和UI,自动吸附在屏幕边缘。我们的游戏还提了一个多按钮呈半圆分布的需求。具体的代码如下:using DG.Tweening;using System.Collections;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;using UnityEngine.SceneManagement;name原创 2020-07-15 01:54:50 · 1530 阅读 · 0 评论 -
Untiy UGUI ToggleGroup 多按钮互斥 只选中一个按钮并监听按钮点击方法
使用方法:1.新建一个panel,挂上ToggleGroup组件和Tab组件2.新建Toggle,看需要多少按钮就新建几个,Toggle里面的Chectmark换成想要点击选中之后的效果3.获取Tab组件,在开始方法中注册监听事件,RankTab.AddSelectedListener(SelectRankType)4.在监听事件中能根据toggleName识别点击的是哪个Toggleprivate void SelectRankType(string toggleName,int i原创 2020-06-23 01:45:59 · 4409 阅读 · 3 评论 -
Unity类似桌球的物体反弹实现
在游戏开发中经常会碰到物体碰撞之后的反弹需求。一般情况的需求是入射角度和出射的角度是一致的,也是就在被反弹的物体和反射的物体之间作一个法线。类似打桌球,球碰到桌台的效果。由于我们是休闲小游戏的项目对性能要求不是很严格,所以直接用了unity的碰撞器检测碰撞。给反弹的物体和添加Collider被反弹的物体添加Collider和Rigidbody,由于我们项目的不会使用刚体去控制移动,所以把position和rotation都Freeze掉。如果对性能要求较高,不推荐使用刚体,可以自己写算法实现...原创 2020-06-14 23:48:07 · 2695 阅读 · 0 评论 -
Unity角色实时阴影方案
角色实时阴影是游戏开发中比较常见的需求了,但是阴影的实现原理比较难懂,网上有很多关于阴影原理的解释和案例,可以研究一下,这里给出两种在unity中阴影的具体实现。1.使用Untiy自带的实时阴影unity自带的实时阴影锯齿比较严重,而且性能不高,一般只给主角使用,由于锯齿严重,可以把影子的质量调高,锯齿感就少了。有时使用unity引擎自带的阴影在game场景看不到,或者与scene场景看到的表现不一致,注意调整这几个地方。1.光照的Inspector面板:阴影类型选择soft sh...原创 2020-06-14 15:03:16 · 5100 阅读 · 0 评论 -
Unity 游戏数据的存档读档,数据加密与解密
untiy中单机游戏的读档与存档有4方式,一种是unity自带的数据持久化方案PlayerPrefs 采用键值对的方式, 可以存储Int,Float,String类型的数据。一般复杂和大量的数据通过序列化(Serialize)来保存数据常见的3种:二进制,XML方法,Json方法二进制方法:简单,但可读性差 XML方法:可读性强,但是文件庞大,冗余信息多JSON方法:数据格式比较简单,易于读写,但是不直观,可读性比XML差这里介绍JSON(LitJson)方法:using ..原创 2020-06-09 03:48:11 · 7335 阅读 · 0 评论 -
GameFramework使用教程
今年开始接触这个框架,最开始技术选型的时候是准备使用这个框架进行弱联网小游戏的开发,做一些休闲小游戏的开发。由于一些原因项目在demo阶段告一段落,算起来使用这个框架一共是4个月左右的时间。不知道下一个项目还会不会采用这个框架,利用缓冲时间来整理一下技术以及自己在项目中的收获。 一.框架介绍:Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。GameFrame...原创 2020-05-28 00:54:13 · 6802 阅读 · 1 评论 -
Unity3D物体在UI界面的显示
3D物体在UI界面的显示是个比较常遇到的需求,实现这个需求,首先要做的是创建一个专门拍摄模型的摄像机,和创建RenderTexture赋值给相机。这里具体的操作可以参照:https://www.cnblogs.com/chinarbolg/p/9601376.html上面有相应的图文说明。最后在模型的展示按钮上添加如下脚本:using System.Collections;using System.Collections.Generic;using UnityEngine;...原创 2020-05-27 02:14:45 · 4188 阅读 · 0 评论 -
Unity 项目知识积累
项目知识积累UGUI自动布局Auto LayOut图片自适应文字Content Size Fitter加 Horizontal Layout Group刘海屏手机怎么处理UI1.所有UI界面统一右移动处理2.自行对刘海的尺寸固定一个保守估计值来规避UI上的遮挡3.监听手机翻转事件及时调整设置Mask组件Mask组件会产生一个DrawCall,在Mask中的图片无法与外界的图片进行合批模态对话框是指这个对话框弹出的时候,鼠标不能单击这个对话框之外的区域,.原创 2020-05-26 01:36:15 · 1039 阅读 · 1 评论 -
Unity在Text中添加下划线(通过添加顶点来渲染)
最近在准备做富文本控件,方便后期在游戏项目中使用,自己负责做一下在Text文本添加下划线功能。在NGUI的富文本中是有添加下划线功能的,但是在unity自带的UGUI的富文本控件中没有提供这个功能,需要自己手动拓展。看了下网上的博客教程大多数的解决方案是在Text下面添加Text或者通过拉伸Image的方式来解决,这种两个方式在解决普通需求时问题不到,但是在性能要求比较苛刻的手游环境来说,如果重复...原创 2019-05-26 23:54:37 · 7382 阅读 · 6 评论 -
Unity实现动态资源加载的4种方式
前几天老大要做一下unity资源的加载熟悉下unity资源加载的API,自己的代码还是有点烂啊,在老大的教导下,现在能将就看看了。使用unity开发游戏的过程中,资源的加载一直都是需要重点关注的。unity一共提供了5种资源加载的方式,分别是Resources(只能加载Resources目录中的资源),AssetBundle(只能加载AB资源,当前设备允许访问的路径都可以),WWW(可以加载...原创 2019-05-06 21:26:31 · 34191 阅读 · 5 评论 -
OneAlive--游戏音效管理器
/* 游戏音效管理器 * 功能:管理游戏中音效的播放和声音的调节 * audioSourceBG是背景(2D)音乐,挂在相机上即可 * gamesound是游戏音效(3D)挂在人物角色身上 */using System.Collections;using System.Collections.Generic;using UnityEngine;public cl...原创 2018-05-15 09:40:34 · 1065 阅读 · 0 评论 -
OneAlive--数据库的搭建测试
using UnityEngine;using System;using System.Collections;using System.Data;using MySql.Data.MySqlClient;using UnityEngine.UI;public class DBdata : MonoBehaviour{ //建立连接的语句 //如果是本地数据...原创 2018-05-08 10:14:29 · 229 阅读 · 0 评论 -
OneAlive--SMSSDK接入--短信验证登录游戏
using System.Collections;using System.Collections.Generic;using UnityEngine;using cn.SMSSDK.Unity;using UnityEngine.UI;using System;public class UItest : MonoBehaviour, SMSSDKHandler{ priv...原创 2018-04-07 20:45:27 · 380 阅读 · 0 评论 -
OneAlive--DOTweent使用--毒圈设计
/*** * OneAlive 放逐勇士 * 控制层 * 时间控制脚本 * 控制毒圈的刷新时间以及毒圈的缩小和刷新(demo) * 何张强 * 2018.3.19 第一次创建 * ***/using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine...原创 2018-03-19 18:55:57 · 582 阅读 · 1 评论