Unity
MoonWinding
这个作者很懒,什么都没留下…
展开
-
动画播放器(自开发版)
图中的MainDirector 为播放器主驱动脚本,AnimatroMove 为移动的数据存储脚本。播放器Editor.cs。移动脚本数据储存逻辑。原创 2024-04-18 20:39:31 · 175 阅读 · 0 评论 -
【MVC界面框架搭建 三】
上面界面的代码除了一个登录界面的事件实现,其他代码逻辑都是自动生成,界面层的点击或者其他事件通过CtrlEvent 传递。前二章主要分享的框架层代码。登录界面的ctrl 和面板。原创 2023-04-21 10:53:07 · 118 阅读 · 0 评论 -
【MVC界面框架搭建 二】
打开界面策略:PolicyStack 栈式打开策略 同一时间只允许一个打开操作PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等PolicyMul /// 同时可以打开多个界面当然可以根据项目需求自由扩展自己打开的扩展需求界面管理类 UIManager下面是View 层代码:View 层代码比较简单 ,主要是实现显示的功能和自动生成Ctrl 和View 层代码的逻辑ViewReference 界面的mono 物件挂载者界面原创 2023-04-21 10:34:39 · 131 阅读 · 0 评论 -
【MVC界面框架搭建 一】
b.PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等。支持界面的Prefab 的摧毁和恢复,Ctrl 层的动态数据保存,可以用类恢复界面。总界面可以加载子界面, 总界面,子界面,单元界面都可以再次载入单元界面。c. 同时可以打开多个界面 比如tips 重复弹出之类的。a. 栈式打开策略 同一时间只允许一个打开操作。单元界面: ItemCtrl。1.界面的Ctrl 层基类。总界面:PanelCtrl。子界面 :SubCtrl。原创 2023-04-20 22:55:44 · 170 阅读 · 0 评论 -
UGUI 无限循环列表分享
设置原理,没有处于列表可视范围的元素将列表系统隐藏回收,用于可视范围的列表元素进行显示1.可视范围的判断:public static class RectTransformExtensions{ public static bool Overlaps(this RectTransform a, RectTransform b){ return a.WorldRect().Overlaps(b.WorldRect()); } public static bool O原创 2022-03-03 18:21:32 · 889 阅读 · 3 评论 -
Unity MlAgent 使用介绍
分享github 工程:https://github.com/IsaWinding/mlagent02.git1.本文介绍要一个战斗中,英雄Ai行为操作用MlAgent来训练操作图中为英雄训练的次数,生成的不同.onnx 文件。训练次数较少的时候,训练的英雄会随机在周围的墙边移动随着训练次数变多,训练的英雄会直接奔向敌方小兵的位置,进行攻击操作。英雄行为脚本:using System.Collections;using System.Collections.Generic;using U原创 2021-12-14 18:36:48 · 3275 阅读 · 0 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(三)
最后添加一下Addressable资源服务器ip 地址的动态修改,以及xluahotFix 的使用:分享一下个人Demo工程:https://github.com/IsaWinding/AddressableXluaFramework.git希望大家多多点赞,谢谢有些包可能涉及到母包出很多渠道包,有些渠道可能会布置和维护自己的资源服务器,那么就必修动态修改自己的资源服务器地址了建议新的ip 地址通过其他信息后台获取后设置更改动态修改Addressable资源服务器地址: private bo原创 2021-12-07 10:34:38 · 860 阅读 · 1 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(二)
分享Addressable 资源加载:using System.Collections;using System.Collections.Generic;using UnityEngine;public class AssetManager{ private static AssetManager instance; public static AssetManager Instance { get { if (instance == null) instance = new A原创 2021-12-03 16:19:43 · 662 阅读 · 0 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(-)
1.本来关于Addressable 的文章已经写了2篇了,但对这个addressable系统有些地方还是不清楚怎么用,这次就用来记录一下结合xlua 实现资源和代码的全更新方案。列取一下一开始遇到的问题:1.xlua 开发的时候我们用的都是.lua 文件,这个是unity 无法识别的文件这个要怎么解决?2.xlua 读取文件的bytes 都是同步读取方式,最新的addressable 很多的同步读取方式都已经弃用。怎么解决这个同步读取问题?带着这些问题,下面介绍我提供的解决方案。分享一下个人Dem原创 2021-12-03 16:07:04 · 2001 阅读 · 0 评论 -
unity Mirror使用心得二(服务器端的怪物创建,及其怪物AI的行为)
1.怪物必须由服务器创建:创建代码:using Mirror;using System.Collections;using System.Collections.Generic;using UnityEngine;public class MonsterCreater : NetworkBehaviour{ public Vector3 Pos; public GameObject projectilePrefab; private NetworkIdentity i原创 2021-11-25 10:45:14 · 5024 阅读 · 1 评论 -
unity Mirror使用心得一(玩家角色创建,控制,及其攻击其他玩家的血量同步设置)
先分享下个人mirrordemo 的github :https://github.com/IsaWinding/MirrorDemo.gitmirror 的官方下载地址:https://assetstore.unity.com/packages/tools/network/mirror-1293211.添加NetworkManager2.添加NetworkMangerHud3.制作玩家角色预制体并添加mirror 相关组件networkTransform 和networkAnimator原创 2021-11-25 10:16:52 · 5712 阅读 · 0 评论 -
unity Addressable 使用心得
Addreseable 组的设置1.设置文件分组 [MenuItem("AddressableEditor/SetAllDirectorToAddress", priority = 2)] public static void SetAllDirectorToAddress() { var arr = Selection.GetFiltered(typeof(DefaultAsset), SelectionMode.Assets); string fold原创 2021-09-09 11:42:06 · 855 阅读 · 0 评论 -
时间轴上的定时行为
public class TimeActioner{ private float loadTime; private float delayTime; private float repeatTime; private int totalRepeatCount = 1;//如果为-1 就永不停止 private int curRepeatCount = 0; public int TimeAcId; private System.Action<原创 2021-08-18 17:49:58 · 108 阅读 · 0 评论 -
仿Dota2战斗属性系统
1.属性的类型:public enum AttributeType : byte{ Hp = 0,//血量 Mp = 1,//魔量 PhyAtk = 2,//物理攻击 PhyDef = 3,//物理抗性(护甲) MagicDef = 4,//魔抗 HpRecover = 5,//Hp 恢复 MpRecover = 6,//Mp 恢复 AtkSpeed = 7,//攻击速度 AtkCd = 8,//攻击间隔 AtkRange原创 2021-08-18 17:44:19 · 278 阅读 · 0 评论 -
UGUI游戏摇杆
using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// UGUI游戏摇杆/// </summary>public class Joystick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler{ public static Joystick Instance = null; public T原创 2021-08-13 15:47:17 · 138 阅读 · 0 评论 -
PhotoServer使用心得(FPS战斗的创建及其流程运行,包括客户端和服务器代码共享)
服务器篇1.服务器windows10 64位启动路径:C:\PrivateSpace\PhotonServer\Photon-OnPremise-Server-SDK_v4-0-29-11263\deploy\bin_Win64\PhotonControl.exe2.服务器Ip配置,在统计目录的PhotonServer.config 中添加<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs原创 2021-07-23 18:04:56 · 664 阅读 · 0 评论 -
关于unity加密相关的分享
关于unity global-metadata.dat 机密问题。还有其他的加密破解问题可以看下面链接,对自己的项目进行安全构建。https://www.gameres.com/844907.html原创 2021-07-09 15:30:44 · 261 阅读 · 3 评论 -
unity 事件系统
事件的基类:using System;using System.Collections.Generic;public class EventSender<TKey,TValue> { private Dictionary<TKey, Action<TValue>> dic = new Dictionary<TKey, Action<TValue>>(); public void AddListener(TKey pKey,Acti原创 2021-02-27 18:12:55 · 263 阅读 · 0 评论 -
unity UIFrameWork
MVC 设计架构:C基类的创建:using UnityEngine;public class UICtrlBase{ protected virtual string Key { get { return "UICtrlBase"; } }//C 的key 数值 protected virtual string Path { get { return ""; } }//加载的资源路径 /// <summary> 打开流程 /// OnInit --> OnPost -原创 2021-02-27 17:37:05 · 1004 阅读 · 0 评论 -
Unity Addressable资源加载
下载安装设置方面的不讲了直接上使用的加载卸载代码using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement;public class ResLoader { private string path; private UnityEngine.Object asset_; private GameObject go_; private System原创 2021-02-27 17:11:07 · 737 阅读 · 0 评论 -
Unity WorkFlow
工作流设计简单的流步骤的创建。public class FlowStep { private int stepId; private System.Action<System.Action<bool>> action_; public FlowStep(int pStepId,System.Action<System.Action<bool>> pAction) { stepId = pStepId; action_ = pAction原创 2021-02-27 17:04:42 · 314 阅读 · 0 评论