
C#
呼呼突突
这个作者很懒,什么都没留下…
展开
-
Unity创建模型BoxCollider碰撞
本文展示了一个C#代码片段,用于在Unity中为指定目标对象创建碰撞器(BoxCollider)。CreateCollider方法首先保存目标对象的原始位置和旋转,然后将其重置到原点并计算其边界(Bounds)。接着,检查目标对象是否已存在BoxCollider,若不存在则添加一个,并设置其中心和大小。最后,恢复目标对象的原始位置和旋转。ClacBounds方法通过递归遍历目标对象及其子对象的渲染器(Renderer)来计算最大和最小边界点,并进一步计算中心点和尺寸。RecursionClacBounds方原创 2025-05-19 15:56:12 · 93 阅读 · 0 评论 -
Unity 图片等比例自适应缩放
【代码】Unity 图片等比例自适应缩放。原创 2024-06-28 14:50:11 · 605 阅读 · 0 评论 -
Unity简单的主线程调度器
【代码】Unity简单的主线程调度器。原创 2023-11-29 11:46:39 · 208 阅读 · 0 评论 -
简单的加密解密(为了方便客户手动输入,不考虑安全性)
【代码】C#简单的加密解密(为了方便手动输入)原创 2023-10-13 15:30:54 · 137 阅读 · 0 评论 -
unity根据点生成mesh
【代码】unity根据点生成mesh。原创 2023-05-25 11:42:16 · 979 阅读 · 0 评论 -
.Net学习
【代码】.Net学习。原创 2023-05-08 10:02:26 · 107 阅读 · 0 评论 -
Unity中使用UIToolkit修改Inspector面板
使用UIToolkit创建一个VisualTreeAsset,然后拖拽到TestEditor即可。创建两个脚本test和testEditor。原创 2023-03-08 13:45:40 · 523 阅读 · 0 评论 -
Unity中使用VR手柄射线触发UI事件
【代码】Unity中使用VR手柄射线触发UI事件。原创 2023-03-03 17:04:07 · 2571 阅读 · 0 评论 -
Unity Timeline自定义学习
然后需要创建playable,也就是片段(TrackClip)上面的逻辑代码,再获取上面的Behaviour,对上面的属性赋值。1、首先需要创建一个轨道(Track),只需要限制一下轨道(Track)上面片段(TrackClip)的类型即可。的职责就是对片段(TrackClip)加工修饰,让片段可以挂场景中的物体,有逻辑代码(behaviour)。每一个片段可以理解成这是一个Asset资源,本身是找不到场景中的物体的,这时候需要。如果挂的是Asset中的资源则正常用即可。3、创建片段的Behaviour。原创 2023-03-01 14:41:37 · 473 阅读 · 0 评论 -
Unity相机设置CullingMask
unity中layers有固定32个,设置CullingMask可以理解成赋值一个32长度的二进制数字,0是关1是开。只开启第3个:1原创 2023-01-03 15:55:58 · 1355 阅读 · 0 评论 -
Dapper简单使用
【代码】Dapper简单使用。原创 2022-11-29 10:01:44 · 206 阅读 · 0 评论 -
Unity用UGUI实现简单的TreeView
【代码】Unity用UGUI实现简单的TreeView。原创 2022-08-29 17:34:16 · 1582 阅读 · 0 评论 -
C#获取接口下面的类,并执行方法
【代码】C#获取接口下面的类,并执行方法。原创 2022-08-22 17:14:25 · 598 阅读 · 0 评论 -
WPF使用Prism登录
思路在主窗体出来之前,弹出登录框,如果验证成功关掉登录框。原创 2022-07-28 10:41:08 · 2176 阅读 · 8 评论 -
Unity右键复制获取对象的路径
[MenuItem("GameObject/复制路径", false, 0)] static void CopyPath() { var select = Selection.activeTransform; copyPathStr = select.name; getPath(select); Debug.Log(copyPathStr); GUIUtility.systemCopyBuffer =......原创 2022-07-05 17:53:43 · 1426 阅读 · 0 评论 -
CinemachineVirtualCamera实现自由相机
CinemachineVirtualCamera原创 2022-06-28 10:52:47 · 587 阅读 · 0 评论 -
sqlite-net使用(unity、WPF、Winform使用sqlite)
引用包搜索sqlite-net包并引用进项目,unity直接复制SQLite、SQLiteAsync到项目中即可添加管理类public static class DatabaseHandler{ private static string connstr = UnityEngine.Application.streamingAssetsPath + "/data.db"; //没有数据库会创建数据库 public static SQLiteConnection db; pub原创 2022-02-14 17:24:26 · 4042 阅读 · 0 评论 -
Unity简单的场景状态
场景状态基类public abstract class ISceneState{ public abstract string SceneName { get; } public virtual void StateStart() { } public virtual void StateEnd() { } public virtual void StateUpdate() { } public virtual void SceneLoaded() { }}原创 2022-02-10 15:57:07 · 1764 阅读 · 0 评论 -
Unity简单的对话框(Dialog)
1.对话框所有代码public class DialogManager : Singleton<DialogManager>{ public static Dictionary<string, object> DialogDic = new Dictionary<string, object>();//储存所有对话框,可以根据自己需要进行管理 private static Transform panelParent;//对话框根目录 stati原创 2022-01-24 16:05:10 · 5334 阅读 · 2 评论 -
Unity根据两点创建射线
Vector3 a = Camera.main.transform.position; Vector3 b = transform.position; float a_b = Vector3.Distance(a, b); Ray ray = new Ray(a, b - a); RaycastHit hit; if (Physics.Raycast(ray, out hit, a_b)) {...原创 2021-12-16 19:42:57 · 2672 阅读 · 0 评论 -
Unity Addressables使用
设置主要把使用的核心写出来了,如果需要详细的讲解可以去官方api去看1.全局设置2.group设置这个是使用远程更新的组3.调试设置4.profile设置确定这里使用的profile代码catalog更新代码 private IEnumerator CheckCatalog() { yield return Addressables.InitializeAsync(); var checkHan.....原创 2021-12-16 19:27:02 · 4710 阅读 · 1 评论 -
WPF、Winform嵌套Unity
嵌套了两个Unity程序,修复焦点丢失的问题前端代码:<WindowsFormsHost Grid.Row="1"> <form:Panel x:Name="left_unityHost" Resize="left_unityHost_Resize" AutoSizeMode="GrowAndShrink"></form:Panel></WindowsFormsHost>后端核心代码 /// <summar原创 2021-12-14 11:50:38 · 3247 阅读 · 0 评论 -
Unity多相机OnMouseEnter等失效问题
用的unity版本为2021.1.11 URP,鼠标点击模型的OnMouseEnter失效1、创建脚本,绑定在模型对应相机上public class LiveCameraController : MonoBehaviour{ Camera cam; private IMouseEvent current; void Start() { cam = GetComponent<Camera>(); } void Upd原创 2021-12-09 16:07:29 · 2094 阅读 · 1 评论 -
UserHelper代码
/// <summary> /// 截取字符串(中英文) /// </summary> public static string CutString(string text, int length, string replacetxt = "") { int strLength = 0; StringBuilder strb = new StringBuilder(); char[] Temp ...原创 2021-09-26 10:29:50 · 287 阅读 · 0 评论 -
C#, .Net添加log4net日志功能
添加NuGet包log4netlog4net.config配置文件<?xml version="1.0" encoding="utf-8"?><configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,
log4net-net-1.0转载 2021-08-27 10:44:58 · 457 阅读 · 0 评论 -
开发日志,发送和解析Modbus协议(测速度仪器)
每台设备的解析方式都有区别,此代码仅为解析RS485测速仪器(modbus协议) public partial class Form1 : Form { public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } private void Form1_Load(obje.原创 2021-08-24 09:51:51 · 227 阅读 · 0 评论 -
LINQ发开记录
@[TOC](目录)多表查询var list = from u in _context.Users join c in _context.UserCharacters on u.Id equals c.UserId join t in _context.CharacterTypes on c.CharacterTypeId equals t.Id where c.CharacterTypeId == 0 &&原创 2021-08-12 14:51:46 · 100 阅读 · 0 评论 -
Unity画一条线,使用LineRenderer
public class WallCreater : BaseCreater{ private bool isDrawing;//是否在画线 private LineRenderer wallLine; private Vector3 StartPosition, EndPosition; private float wallWidth = 0.5f; private float wallHeight = 3f; void Start() {.原创 2021-08-06 10:49:49 · 1174 阅读 · 0 评论 -
Unity 向目标移动,并朝向目标
Unity 向目标移动,并朝向目标 var direction = Target.position - transform.position;//目标方向 transform.Translate(direction.normalized * Time.deltaTime * 0.5f, Space.World);//向目标方向移动,normalized归一实现匀速移动 var angle = Vector3.Angle(transform.forward,原创 2021-08-05 14:48:31 · 10442 阅读 · 0 评论 -
C#方法集合
使用拓展方法,方便调用 public static string Cut(this string str, int length, string replacetxt = "...") { int strLength = 0; StringBuilder strb = new StringBuilder(); char[] Temp = str.ToCharArray(); for原创 2021-07-19 13:45:25 · 158 阅读 · 0 评论 -
Unity简单的单例模式
1.非Monopublic class Singleton<T> where T : new(){ private static T instance; public static T Instance { get { if (instance == null) { instance = new T(); }原创 2021-07-12 12:57:01 · 279 阅读 · 1 评论 -
WPF 开发记录(持续更新)
1.当MVVM数据变化,更新XAML页面数据当List类型SelectMaterials 数据变化时,执行下面方法即可更新前端数据RaisePropertyChanged(nameof(SelectMaterials));原创 2021-05-27 11:30:20 · 516 阅读 · 0 评论 -
WPF 自定义ListBox MaterialDesign
<ListBox> <ListBoxItem > <StackPanel Height="60" Orientation="Horizontal" Margin="20 0 40 0"> <Image Source="/Images/图片.png" Stretch="None" /> <TextBlock...原创 2021-05-25 15:55:58 · 624 阅读 · 0 评论 -
Unity加载AB包(缓存)
/// <summary> /// load assetbundle manifest, check hash, load actual bundle with hash parameter to use caching /// instantiate gameobject /// </summary> /// <param name="bundleURL">full url to assetbundle file</param...转载 2021-05-17 17:33:16 · 1310 阅读 · 0 评论 -
.Net Code 5.x 学习(文件上传和下载)(未完成)
[HttpPost] public async Task<string> Upload(IFormFile formFile) { string path = Directory.GetCurrentDirectory() + @"\images\" + formFile.FileName; using (var stream = System.IO.File.Create(path)) ...原创 2021-05-12 18:11:19 · 426 阅读 · 0 评论 -
.Net Code 5.x 学习
1.请求错误Unsupported Media Type需要在参数添加标记[FromForm] [HttpPost] public async Task<ActionResult<User>> PostUser([FromForm] User user) { _context.Users.Add(user); await _context.SaveChangesAsync();原创 2021-05-11 18:20:59 · 394 阅读 · 0 评论 -
.NET Code Web 发布问题
.NET code web 发布问题1.HTTP 错误 500.19 - Internal Server Error解决办法https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-2.1.27-windows-hosting-bundle-installer调试的时候这样选择,会提示去下载原创 2021-05-07 18:04:38 · 163 阅读 · 0 评论 -
C#按长度拆分中英文字符串
/// <summary> /// 获取拆分后的字符串列表。 /// </summary> /// <param name="mOrigianlString"></param> /// <param name="subStringCharNumber"></param> /// <returns></returns> ...转载 2021-01-12 20:12:33 · 414 阅读 · 0 评论 -
C# 集合去重
C# 集合去重 Resolution[] resolutions = Screen.resolutions; var res = resolutions.GroupBy(x => new { x.width, x.height }).Select(x => new { width = x.First().width, height = x.First().height }).ToLis原创 2021-01-08 19:58:40 · 1566 阅读 · 0 评论