更多项目

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:数学相关工具类