- 博客(172)
- 问答 (1)
- 收藏
- 关注
原创 Unity An error occurred while resolving packages: Project has invalid dependencies: com.unity.tes...
打开Unity项目,项目无法打开,报错如下:An error occurred while resolving packages:Project has invalid dependencies:com.unity.test-framework: Package [com.unity.test-framework@1.4.2] cannot be foundClick on Retry to re...
2024-08-20 16:46:50 511
原创 Unity如何修改同一个材质的贴图
如果在Editor中直接修改贴图,修改的是整个材质的默认贴图(即便是已经挂在模型身上的材质也是)。但是直接在程序中更换材质的贴图,就可以让多个拥有相同材质的物体使用不同的贴图了。...
2024-08-20 16:44:44 496
原创 WorkBench/SQLProStudio等数据库管理软件连接不上本地数据库
啥也没干,服务器突然报错连不上本地数据库了。之后用管理软件查看,也连不上。本地是否有多个数据库?首先怀疑的是本地有多个数据库,互相影响了配置。于是把通过安装包安装的MySql服务删了,只通过brew来管理brew安装的数据库服务。但是在命令行中尝试启动mysql的时候也报错了,有提示,但现在复制不到了。大概是说连接.sock文件的时候出错。怀疑是配置问题搜了一下,说可能是skip-network...
2024-08-08 17:07:42 323
原创 使用Jetbrains.Rider反编译Unity的DLL文件看源码
直接将dll文件的打开方式用Rider打开即可,打开BattleSeqGenertor.dll文件的效果如下:
2024-07-31 17:43:57 528
原创 Unity Addressable加密实验
静态引用的资源是否受加密解密影响实验流程:将加密的资源的Group的Provider设置为普通Provider(无法正确解密资源),然后在场景中引用该资源,打包查看场景效果:实验结果:场景中有该资源的现实实验结论:静态引用的资源不受AddressableGroup加密的影响,应该读取的不是Addressable map中的资源,而是包中的资源。推论:想要使用Addressable中的资源,只能以...
2024-07-31 11:42:51 405
原创 【Addressable】Unity的AddressablesGroups管理面板Build按钮点不开
我遇到这个问题的原因是我之前在Addressable的配置文件(也就是Assets/Addressables目录下的AddressableAssetSettings.asset)文件中添加了一个自己的ScriptableObject文件作为自定义Builder,然后我将那个文件删了,但是AddressableAssetSettings.asset配置文件下的配置还在,已经变成了一个错误的形式。这...
2024-07-30 17:51:49 127
原创 C#同名类或同名方法报错/找不到
确保脚本顶部命名空间没有打错。如果没问题,再去查看程序集引用。下图方法报错从代码中找到该方法,加入其命名空间:using UnityEditor.Build.Pipeline.Interfaces;//成功不过上述案例有点特殊:Log是个接口的实现,这个接口在定义的时候并没有ScoptedStep这个方法,他的源码并不容易读懂。但搜与他相关的文件中的ScopedStep就可以了。...
2024-07-30 12:35:58 404
原创 【.netcore】服务端不接收无法解析的Json格式
我遇到的问题是,客户端想要把这个结构发给服务端:Dictionary<Tuple<int,int>,int>,但是服务端说无法将xxx转换成xxx。解决方案:编写自定义JsonConverter并且注解给指定字段:之后,在Program.cs中增加这个Converter:Done...
2024-06-24 11:30:11 326
原创 【Unity调用打印机】打印指定文本内容
你可以使用 .NET Framework 中的System.Drawing.Printing命名空间来实现打印功能using System;using System.Drawing.Printing;public class Printer{ private string _textToPrint; public Printer(string text) { _te...
2024-06-14 16:26:32 291
原创 C#中的record关键字
C# 中的 record 类型是 C# 9.0 中的一个新特性,用于创建不可变的数据类型。它可以用于定义简单的数据传输对象(DTO)、消息传递对象(MDO)等。以下是一个示例的 C# record 类型:public record Person{ public string Name { get; init; } public int Age { get; init; }}在这个示例中...
2024-04-28 17:12:18 344
原创 【前端】yarn命令运行不了,一直info There appears to be trouble with your network connection. Retrying...
多次重试后,报错error An unexpected error occurred: "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-2.2.8.tgz: ETIMEDOUT".这种情况首先想到命令行代理(只开VPN是没用的,命令行享受不到)之后再运行yarn,yarn的进度条开始动了。可以确认是否设置成功。
2023-12-13 17:50:57 475
原创 Visual Studio2010中的筛选器和文件夹
因为以前是做java的,对vs的目录结构不熟悉,之前简单地学习了一下,记录下心得。vs的解决方案管理器,默认的目录结构,是以筛选器划分的。而且,如果右键添加,会发现只能添加筛选器,不能添加文件夹。什么是筛选器筛选器是个逻辑概念,比如我新建几个筛选器:GameLogic,Utils,Data,然后就可以把各种cpp和.h文件分类放进去,看着很整齐。但实际上,那些文件并没有发生移动,原来在
2023-12-13 11:52:20 455 1
原创 “error LNK1169: 找到一个或多个多重定义的符号”的解决方法
问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。在编译时,编译能够通过,但链接时出了问题,出现”error LNK1169: 找到一个或多个多重定义的符号“的错误。经过分
2023-12-13 11:51:47 486
原创 XCode项目中的framework嵌套framework时,framework不识别
几番周折后,发现SDK中的一个framework不识别,我将那个framework从sdk中独立出来,单独导入Unity项目到自建的Plugins/iOS文件夹下,再打包XCode项目。使用Unity2018版本制作项目并使用了一个第三方SDK,在打包XCode时,成功build,但报错,说库不识别。但是这种情况在Unity2019或以上版本不会发生。
2023-12-13 11:07:34 175
原创 Objective-c OC中的application:openURL:options:方法始终不生效不被调用
Objective-c OC中的application:openURL:options:方法始终不生效不被调用
2023-12-10 12:22:02 272
原创 【UniRx】Unity的UniRx框架/插件使用经验
1. 如果想监听列表中的值而不是某个属性,考虑使用ReactiveCollection2.使用已有List<int>初始化ReactiveCollection<int>,然后再改变原有List<int>的值(包括增加/修改),不会影响ReactiveCollection<int>的值3. 如果是监听了ReactiveCollection的Add事件,...
2023-12-05 16:07:22 268
原创 Unity Resources资源管理总结
2. Resources方式加载出来的资源,只要还有引用,它占用的内存就无法被回收。只有所有用它Instantiate出来的物体都不存在的时候,他才可以被消除引用(通过myPrefab = null来消除引用),这时候通过Resources.Load加载进来的myPrefab的内存就会被回收。3. 场景切换后,Instantiate出来的东西的内存会被回收,但加载到内存中myPrefab的空间不会被回收。1. Resources文件夹下的资源最终会打包成一个总的资源文件。
2023-11-06 08:09:44 378
原创 【Unity保持物体大小不变】
unity 保持物体大小不变/// <summary>/// 在透视投影时,改变相机的fov或物体的位置,让物体保持在屏幕上看起来的大小一样的缩放值/// </summary>/// <returns></returns>publicstaticfloatKeepSizeLookSameScale(Vector3 pos, Camera cam...
2023-11-03 09:17:23 128
原创 【Unity坐标转换】UI坐标的本质
在Canvas是Overlay的情况下,直接用UITransform.position得到的其实就是屏幕坐标,不用再转了另外,想要让这些坐标跟UI元素的坐标扯上关系,还要用到ScreenPointToWorldPointInRectangle,否则出来的坐标用到UI的position上是不对的。Unity的坐标系统真麻烦啊。更多关于坐标转换的知识:https://blog.csdn.net/Cc...
2023-10-26 13:31:04 26
原创 【Unity DOTween】DOTween的部分代码无法在asmdef中运行
CanvasGroup canvasGroup = card.GetComponent<CanvasGroup>();Tween t = canvasGroup.DOFade(0.2f, 0.4f);以上代码,如果包含在asmdef中会报错,说canvasGroup上不存在DOFade方法,但是如果不是在asmdef中就不会报错。环境是Unity2021.3试过了在DOTween面...
2023-10-25 11:57:39 58
原创 【Unity】使用asmdef提高Unity构建效率和进行模块化开发
在Unity项目的开发过程中,我们经常需要使用各种第三方库,而这些库常常在构建时会导致无法正常编译。为了避免这种问题,Unity引入了asmdef,来解决依赖管理问题。本文将从多个方面来深入阐述asmdef的使用。一、asmdef的概念asmdef是指“Assembly Definition”,可翻译为“程序集定义文件”。它是Unity 2017.3版本引入的一项新功能,用于解决项目开发中出现的依...
2023-10-16 10:02:53 85
原创 【Unity报错解决】DOTWEEN ► An error inside a tween callback was taken care of Object reference not set ......
最终定位到问题是一个空指针异常,但是这个异常出现在了DOTween的一个回调里,所以不会被当作error抛出,只是当做了Warn,但实际上报错了之后会影响一些逻辑,所以这里很容易被大家忽略,一定要注意。...
2023-10-11 09:31:38 96
原创 【Unity踩坑】2021.3.22版本GridLayoutGroup会改变Item中不同物体的位置关系
如题,我在Grid布局时,在其中添加了许多我Instantiate出来的预制体。这些预制体每个包含两个物体:卡牌和卡牌说明但是每次添加到Grid布局后,卡牌和卡牌说明的相对位置关系总是和预制体中制作的不一样。猜测是Grid的cellSize改变了物体的预期大小,但是运行时,面板上的物体尺寸都是正确的,可能是Unity的一个bug。最终,我将卡牌说明添加到了卡牌物体上,将他们合成一个物体了,这个问题...
2023-09-27 11:27:38 94
原创 【架构案例】使用MVC思想设计战棋游戏技能系统
假设我们要制作一款战棋游戏,其中技能是一个单独的系统,本着独立系统负责独立功能的原则,他的功能是:1. 能够结合人物属性,提供与技能相关的可操作数据(如战士A的技能都可以在哪些格子释放,需要玩家选择其中一个格子释放)2. 能够控制技能的整个释放流程通过上图我们可以看到,这个技能系统非常贴合经典的MVC设计模式:技能的核心数据就是Model,技能的计算部分是Controller,技能的释放流...
2023-07-26 10:08:50 35
原创 【Unity】充满全屏的预制体动态添加后没有充满全屏
长宽的适配都已经设置为stretch,anchor也设置好了,但动态添加到Canvas后怎么也不出现屏幕中央,而是出现在屏幕左下角。原因是在Unity中,有两种设置父transform的方法:1. 在实例化一个预制体(Initialize)的时候传入父Transform2. 在实例化之后,调用SetParent来设置父Transform这两种方法的结果竟然是不一样的,这和cocos有所不同。像上面...
2023-07-21 08:40:48 142
原创 【UnityBug】TextMeshPro找不到
遇到过两次这种问题,都是在调整项目结构或者更新什么版本的时候出现的。解决方案都是调整项目路径就可以了,通常在根目录下的Script文件夹下的文件是没问题的。...
2023-06-30 11:20:59 82
原创 【Unity】如何在游戏中支持Mod?
参考:https://www.zhihu.com/question/452900048首先,想要支持Mod,必须在程序设计时就为其预留出接口。抽象配置比如想让用户自由编辑文字内容,可以将他们放到csv或json文件中,之后mod制作者可以随意修改这些文件。脚本语言可以通过js,lua等脚本语言的引入来让mod制作者可以调用你暴露的一些接口,来改变游戏内容。自定义数据格式类似于你自行设计一种语言,比...
2023-06-12 11:08:58 29
原创 【Unity】动态添加物体位置始终对不准
想要往人物的受击点上添加受击特效,但运行起来之后,暂停看物体的坐标始终没有对准人物。经过3小时调查发现,我的受击特效是个带子物体的复合物体,在运行中选择他,显示的坐标中心其实不是他的position!而是一个综合了这个复合物体所有子物体的一个平均位置!...
2023-05-23 15:59:34 113
原创 【Unity】导出资源包里的部分资源
方式1:直接在项目目录下选择资源,右键Export即可,勾选上包含依赖项,如果包含的东西明显有很多不需要的,则采用方式2。方式2:在目录下选择资源,右键选择依赖,会自动选中一些他依赖的资源,在多选这些资源的状态下,右键导出即可。...
2023-05-22 19:29:15 22
原创 决策纠结怎么办?
最近在做游戏的过程中,遇到了很多纠结的事情。比如怪物攻击到底是用序列帧还是粒子特效之类的问题。早些时候,流行网格化决策法,就是找个表格,把各项事情的优缺点都列下来,然后去打分,最终理智地选择一项分数最高的。但我发现这东西不太管用。因为很多时候,人的大脑会倾向于采用一种自己觉得完美的办法,如果一味地网格化打分,最终选出了一个只有20分的答案(满分100分),那这件事情要不要做都是个问题了。现在我会推...
2023-05-19 15:43:47 14
原创 【Unity】粒子效果在运行时不显示
在Editor里拖来拖去是正常的,有拖尾,但运行起来就没效果,只有个核心图片。原因是我运行的方式是动态改变transform.position,换成rigidBody.velocity就有效果了。...
2023-04-24 15:08:21 159
原创 【Unity】存档器(二进制形式)
简书贴代码太难了,难道放弃技术博客了吗?这个代码需要自己创建数据类和StreamingAssets目录,代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using System.Runtime.Serialization.Formatters.Binar...
2023-03-02 21:22:59 14
原创 【Unity】UI跟随物体GameObject
using System.Collections;using System.Collections.Generic;using UnityEngine;public class FollowingUI : MonoBehaviour{ public Canvas canvas; public GameObject target; private Camera uiCamera;...
2023-03-02 21:08:19 59
原创 你上班的原因是什么?
最近看到一个朋友圈让我感触颇深。讲的是上了这么多年班,到底是为了什么。很多人一项技能用十年,最终发现一旦这项技能没用了就会被淘汰。我觉得从积极的角度讲,上班应该是为了和公司共享资源。什么资源?比如商务人士,共享圈子、平台、商品,技术人员,学习技术、流程、模式,学到了这些,或者说享受到了这些,你就能为自己创造更大的价值。又或者你在一个公司什么都学不到了,那这个公司能够给你更多的空闲时间,我觉得这也是...
2023-02-27 09:40:42 4
原创 docker中arg和env的区别是什么
docker中arg和env的区别是:arg是在build的时候存在的,可以在Dockerfile中当做变量来使用,而env是容器构建好之后的环境变量,不能在Dockerfile中当参数使用。https://www.php.cn/docker/488438.html...
2023-02-24 11:53:31 30
原创 如何工作/做自己想做的事
1. 明确任务目标这一点很关键,要注意:一是目标一定要明确,可衡量,可实现;二是目标一定要在自己的能力范围内,否则,你做的就是一件大概率会失败的事情,不要用超越自己来看待这件事,你的身体和潜意识会不停告诉你你会失败。2. 先制定反馈在制定时间表之前,先设计反馈。没有反馈的事情,人是很难坚持下去的。3. 根据反馈,制定目标我知道这很反常识,通常情况下人们会说:完成了一件了不起的任务,你会获得成就感...
2023-02-24 11:40:45 10
原创 iOS打包出的Framework在M1芯片的Mac上无法运行#error unsupported structure
在制作MirrorSDK的过程中,使用Intel芯片的电脑打包出Framework给UnitySDK用的时候,出现了题目中的报错。解决方案:在打包iOS Framework的时候,将Build Active Architecture Only选项变为No,再打包给Unity,可以解决此问题。...
2023-01-09 10:46:21 18
空空如也
cocos2dx实现预加载资源的思路
2014-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人