3D冒险类小游戏《侠客之路》
此游戏只用于个人学习 ,绝无任何商用及利益行为,若有侵权可联系立即删除。
相关地址
git仓库地址:https://gitee.com/hyuhyua/chivalrous
游戏视频
《侠客之路》 一款3d动作游戏小demo 具有战斗模块 自动寻路组件 ui模块 音效模块
可以很简易的熟悉Unity 包含一些unity基础操作
Shader作品
B站教程庄懂老师的Shader课程 其中所有的案例和作业(自己写的)
基础&风格化等Shader合集
UnityShader的大作业
有两个作品分别是科技类Shaders与风景类Shaders 并分别为其加上了交互的使用方法
科技Shaders
包括:溶解shader 蜂巢护盾shader 光线团shader 光盾shader
风景Shaders
包括:水面shader 草shader 物体上积雪shader
HyuFramework
介绍
自己总结并使用的一套基于IOC模式的Unity框架
地址:https://gitee.com/hyuhyua/hyu-framework
Base
- Singleton:单例模式
- ManagerBase:管理类的基类(框架核心)
Globals
- GameStatus:需要存档的文件,在里面定义存档数据的类型即可
- GlobalEvents:全局事件,观察者模式
- GlobalVariables:常量所放的地方,定义方式:
- 需要在Inspector窗口显示的定义public普通变量(调用要多写一个Instance)
- 不需要显示的定义public的static变量(调用不用写Instance)
- 需要编译后赋值的定义static readonly
- 固定的不需要改变的,且不用显示的用const
Interfaces
一些基类接口(均与ManagerBase相关)
- ICleanUp:用于被管理类LateUpdate后的清理
- IDestroyed:用于被管理类的销毁行为
- IExecute:用于被管理类每个Update的行为
- IInitialize:用于被管理类的初始化
- IService:服务类型需继承的接口
- ISystem:系统类型需继承的接口
Services
- ServiceBase:各种服务需继承此类
- ServiceManager:管理ServiceBase的类
- AB:AB包管理加载的服务
- Audio:声音服务
- AudioController:使其更方便的管理AudioSource的类
- AudioHelper:方便播放AudioSource,执行AudioSource的一系列操作
- AudioHub:管理AudioController(AC),有AC池,获取AC等(需继承)
- MutiAudioHub:继承AudioHub,多个AC的Hub,会动态加载生成AC。
- SingleAudioHub:继承AudioHub,唯一AC的Hub,指同一时间只能播放一个音源
- Persistent:存档服务
- Pool:缓存池服务
- Res:资源加载服务
UIManager
- UIManager:管理UI的类,管理UI需继承UI的基类(UIPanel)
- UILoader:加载UI的工具类
- UIPanel:被管理UI的基类
- UIPage:继承UIPanel,一个最大页面的UI基类:整个Canvas只能存在一个UIPage,打开会自动隐藏前一个UIPage,关闭会打开前一个UIPage(栈实现)
- UIPageChild:继承UIPanel,非UIPage的UI,生成会自动实例化到最上面的UIPage上
- UIWindow:继承UIPageChild,一个普通窗口的UI基类
- UIWidget:继承UIPageChild,一个控件的UI基类
- UIUtils:实用的通用UI脚本
- ImgCover:点任意处关闭(或其他行为)的UI
- TwinkleText:渐隐渐亮闪烁的文字(建议单独一个Canvas,否则会有性能消耗)
Utils
工具类
- Utility:通用的工具类:路劲,Debug,字符串,颜色,集合,随机,游戏物体,Component,UI
- FileUtils:文件相关工具类
- JsonUtils:Json相关工具类
- MathUtils:数学相关工具类