C#
文章平均质量分 79
C#脚本语言类
小程小程,永不消沉
一个专注于游戏开发的程序小伙。
不定期与大家分享 Unity3D、AR、VR、MR 等游戏开发及周边技术。
展开
-
Unity2020 AR传送门开发(ARFoundation)
Unity版本:2020.3.0先看看成品效果目录一、AR环境搭建二、AR传送门原理三、代码控制AR的状态检测、开启及关闭1、如何判断设备是否满足AR硬件需求2、如何主动开启、关闭AR功能四、项目下载链接一、AR环境搭建我这边开发AR用的是ARFoundation,集成了ARCore和ARKit的功能,AR环境的搭建有两种方式:1、直接使用unity提供的AR模板在unityHub面板新建项目,弹出如下弹框,选择AR模板,设置好项目名称和位置,创建。2、如果是在已有项目上添加AR功能,则可以原创 2021-10-21 15:48:29 · 18458 阅读 · 30 评论 -
Unity几个重要路径的区别及文件处理
Unity几个重要的路径的区别一、Resources(只读)二、 StreamingAssets(只读)三、 Application.dataPath(只读)四、Application.persistentDataPath(可读写)五、在unity代码中进行文件增删改查处理一、Resources(只读)• Resources文件夹下的资源无论使用与否都会被打包• 资源会被压缩,转化成二进制• 打包后文件夹下的资源只读• 无法动态更改,无法做热更新• 使用Resources.Load加载二、 S原创 2021-10-20 17:22:58 · 1060 阅读 · 4 评论 -
C# 进程(Process)与线程(Thread)的理解及运用
线程的理解及运用一、进程、线程和协程的理解1、进程、线程、协程的定义2、串行,并行和并发的基本概念二、线程的使用一、进程、线程和协程的理解在unity中可以使用多线程去做 解压资源、更新资源等操作。因为单开线程的话 不会影响主线程卡顿,这样UI就不会卡了。但是开的线程里边不能执行unity主线程的mono代码。线程启动后,执行完毕自动结束该线程、可以同时启动多个线程做事。比如微信,在启动的时候就会开两个线程。微信有两个进程分别是com.tencent.mm(A), com.tencent.mm:pus原创 2021-10-11 11:48:26 · 3819 阅读 · 4 评论 -
Unity3D实现页面的滑动切换功能
https://blog.csdn.net/mumu6200/article/details/91989449原创 2021-09-23 09:53:07 · 4005 阅读 · 13 评论 -
游戏开发面试题分享
分享一波 Unity3D面试经常被问的基础问题及答案。一:动态加载资源的方式?他们之间的区别1.Resources.Load();2.AssetBundle二:请描述游戏动画有哪几种,以及其原理?主要有关节动画、骨骼动画、单一网格模型动画(关键帧动画)。关节动画:把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活,Quake2中使用这种动画;骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构,有关节相连,可做相对原创 2021-07-19 15:50:55 · 1403 阅读 · 1 评论 -
Unity 直指灵魂的代码详解——委托、事件与Observer设计模式
委托、事件与Observer设计模式一、委托 delegate 的用法1、将方法作为另一个方法的参数2、将方法绑定到委托二、事件 Event一、委托 delegate 的用法1、将方法作为另一个方法的参数委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句和枚举定义,同时使得程序具有更好的可扩展性。没看懂?没关系,看代码一目了然!定义及使用方式案例:public class Sh原创 2021-06-29 21:16:34 · 698 阅读 · 7 评论 -
Unity3D 项目优化干货分享
一、程序方面 01、务必删除脚本中为空或不需要的默认方法; 02、只在一个脚本中使用OnGUI方法; 03、避免在OnGUI中对变量、方法进行更新、赋值,输出变量建议在Update内; 04、同一脚本中频繁使用的变量建议声明其为全局变量,脚本之间频繁调用的变量或方法建议声明为全局静态变量或方法; 05、不要去频繁获取组件,将其声明为全局变量; 06、数组、集合类元素优先使用Array,其次是List; 07、脚本在不使用时脚本禁用之,需要时再启用; 08、可以使用Ray来代替原创 2021-04-16 17:36:20 · 300 阅读 · 6 评论 -
在线玩家人数上限实时监测(Photon)
https://www.jianshu.com/p/f3f9123df1b9https://www.jianshu.com/p/fb6db20766d9?from=groupmessage原创 2021-03-29 14:52:09 · 4102 阅读 · 16 评论 -
超级方便的Lambda表达式
https://www.cnblogs.com/xu-yi/p/10372394.html原创 2021-03-19 15:14:24 · 276 阅读 · 4 评论 -
C# 工具类:时间戳转换日期格式
给大家分享一个静态类,可以很方便地把时间戳转换日期格式输出。调用方法和效果如下:using System;using UnityEngine; private void Start() { DateTime dateTime = TimestampHelper.GetDateTime(1482115779); Debug.Log(dateTime.Year+"年"+ dateTime.Month+"月"+ dateTime.Day + "日");原创 2021-03-11 18:18:35 · 1481 阅读 · 1 评论 -
Unity 文件操作及各路径总结
Unity 数据存储及各路径总结一.Resources文件夹。二.Windows平台文件处理三.StreamingAssets文件夹。四.使用Application.persistentDataPath操作文件五.使用Application.temporaryCachePath操作文件六.文件目录介绍一.Resources文件夹。可以使用Resources.Load(“文件名字,注:不包括文件后缀名”);把文件夹中的对象加载出来。注:此方可实现对文件实施“增删查改”等操作,但打包后不可以更改了。二.原创 2021-03-06 09:17:21 · 4372 阅读 · 17 评论 -
Unity 图片及截图本地存储、相册更新等系列问题总结
https://www.cnblogs.com/zhepama/p/4362312.html原创 2021-03-04 16:30:24 · 3904 阅读 · 10 评论 -
Unity 打包APK 适配全面屏、刘海屏、水滴屏、挖孔屏
上述两种屏幕都可以统称为刘海屏,不过对于右侧较小的刘海,业界一般称为水滴屏。目录一、全面屏适配细节二、刘海上方有黑条怎么解决?一、全面屏适配细节目前国内流行的手机厂商主要有:vivo、oppo、华为、小米。各厂商对刘海屏的适配都大不相同,各自有各自对刘海屏的适配API,具体的适配方法可以阅读相应的官网:VIVO:https://dev.vivo.com.cn/documentCenter/doc/103OPPO:https://open.oppomobile.com/wiki/doc#id=10.原创 2021-03-04 15:35:30 · 6221 阅读 · 27 评论 -
Unity开发 MMORPG类游戏引导系统
下面展示一些 MMORPG类游戏引导系统逻辑代码。using LitJson;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI; class GuideController : MonoBehaviour { public static GuideController instance; public List原创 2020-12-21 10:19:52 · 937 阅读 · 1 评论 -
Unity 自定义文本,自动写入Log日志
下面展示 自定义文本,自动写入Log日志。using BehaviorDesigner.Runtime.Tasks.Movement;using MR_LBS.Common;using System.IO;using UnityEngine;using UnityEngine.UI; public class AndroidLogHelper : MonoBehaviour { public static AndroidLogHelper instance = nul原创 2020-12-18 09:25:48 · 1830 阅读 · 9 评论 -
Unity开发 浅谈MVC、MVP、MVVM的特点、运用与区别
目录MVCMVPMVVM总结:MVCModel-View-Controller在ASP还在奋斗的时候WebForm突然到来,正如WebForm还在奋斗的时候MVC突然到来。当然,我这里讲的MVC还是最原始的MVC,因为MVC在我们还在争论的时候已经发展了许多不同分支了。有一点相信大家同意的就是,我们今天讨论争论的MVC、MVP、MVVM、Code Behind等等都源自于职能分化和规划的思想与目的,MVC不是它们的开始,但是一个很好的开始。相信MVC的模型大家很熟悉,也很容易找到,我们这里用一下某原创 2020-12-16 09:40:20 · 2128 阅读 · 2 评论 -
C# 如何使用Json+字典(Dictionary)处理 键值对
首先,引入命名空间:using LitJson;using System.Linq;下面展示 Json+字典(Dictionary)序列化和反序列化处理 键值对。 public void JsonTest() { //以LitJson方式存储键值对 JsonData jd = new JsonData(); jd["BattleStep"] = "1"; jd["sss"] = "2"; jd["aaa"] =原创 2020-12-11 14:58:36 · 2866 阅读 · 6 评论 -
Unity百例开发日记 之 静态批处理原理理解
转载自:https://www.cnblogs.com/zblade/目录一、静态批处理的时间点、静态批处理的基本原理三、为什么要用静态批处理?四、对于静态批处理后的物体,如何决定其可视?一、静态批处理的时间点在游戏导出的时候,在player setting中勾选static batching,这样在导出包的时候就进行批处理,导出来的包就会比较大。在游戏场景中勾选场景物体的static选项,在加载该场景的时候,会进行一次静态批处理的合并,这样导出来的包不大,但是在加载的时候会使得内存变大。、静态批原创 2020-11-22 22:54:27 · 1181 阅读 · 11 评论 -
Unity + Grpc + protobuf + C# 使用流程详解
最近公司的一个unity项目要把通信方式从Photon替换成grpc,正好系统学一下grpc,以下是我的学习心得。本篇博客系统详细地介绍了unity使用grpc通信的全部要点,希望可以帮助到大家。奥利给!详解目录一、本篇博客知识点简介二、资源及工具的下载地址1、protocolBuffer各个版本2、GRPC3、grpc_unity_package.2.27.0-dev4、.NET Core SDK 2.1及以上三、C#使用Grpc方法流程1、新建项目2、定义服务3、使用GRPC.Tools自动生成.c原创 2020-11-23 10:31:33 · 4551 阅读 · 16 评论 -
Unity与服务器通信博客网址大全
Unity与服务器通信博客网址大全搭建Web服务器,实现unity与服务器简单通信:https://blog.csdn.net/qq_27535197/article/details/83826600Unity直连MySQL:https://blog.csdn.net/qq_41387301在Unity中使用Grpc:https://blog.csdn.net/blueloveTH/article/details/85535554Unity与mySql连接和交互常用方法(增删改查):https原创 2020-10-23 15:41:49 · 337 阅读 · 2 评论 -
.proto转换为.cs解析报错处理
Protobuf 之 .proto转换为.cs文件方法及问题网上Protobuf 转换.cs的博客有很多,本文主要列举一下转换过程中可能出现的问题及报错的解决方法。目录Protobuf 之 .proto转换为.cs文件方法及问题一、正常转换方法1、准备资源2、命令行转换二、命令行转换报错解决方案1、提示路径错误,找不到.proto文件,如下图:2、Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".原创 2020-10-14 14:03:21 · 1032 阅读 · 8 评论 -
【C#】 .NET Reflector 安装与学习
转载链接:https://blog.csdn.net/ldy597321444/article/details/78051250资源下载地址:http://download.csdn.net/download/ldy597321444/9988584首先解释一下.NET Reflector 主要是两个版本:Standard(标准版)和VSPRO(VSPRO版)。他们的区别是:Standard版只能在.NET Reflector软件中查看反编译出来的代码,而VSPRO可以在VS中进行在线调试时,查看反转载 2020-10-13 09:28:44 · 5315 阅读 · 0 评论 -
免费福利 Unity3D 项目资源分享链接(消消乐、斗地主、AR等)
偶然整理云盘,发现曾经收藏过一些比较不错的资源,正好分享一下;1.C语言教程,郝斌老师作为读书时候的启蒙老师,推荐一波链接: https://pan.baidu.com/s/10NIZ3x4yPP4YP8bYmVENHg密码: 6jj12.UI框架链接:https://pan.baidu.com/s/1Q2Bj-i79C1gDWZSvfDVEeQ提取码:a47l3.UI万能框架链接:https://pan.baidu.com/s/1Ikvqo9mtabD104bWVLte2w提取码:y84转载 2020-11-18 09:15:07 · 7140 阅读 · 5 评论 -
Unity源码分享之 电视遥控器按钮事件控制
分享个Unity 电视遥控器按钮事件控制源码,方便大家不用重复造轮子。转载请附原文连接:https://editor.csdn.net/md?articleId=109031521这里写目录标题一、如何消除电视上的全屏提示弹窗二、遥控器按钮事件控制源码下面展示 `暂停双选`。下面展示 `三选`。下面展示 `上下左右键`。一、如何消除电视上的全屏提示弹窗在做unity手机游戏适配成电视游戏时,出现一个问题,在电视上打开unity打包出的apk时,顶上有全屏提示弹窗。解决方法:在开始场景的任意一个脚本原创 2020-10-12 17:20:38 · 3495 阅读 · 13 评论 -
Unity 游戏体缩放和透明闪烁的动画源码分享
分享个Unity 游戏体缩放和透明闪烁的动画源码,方便大家不用重复造轮子。下面展示一些 游戏体缩放源码。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class TweenScale : MonoBehaviour { private float tween; private bool sign; vo原创 2020-10-12 16:51:14 · 974 阅读 · 7 评论 -
Unity 代码计时在UI上显示时间
分享个Unity 代码计时并在UI上显示时间的源码,方便大家不用重复造轮子。下面展示一些 源代码。 public int TotalTime = 90;//总时间 public Text TimeText;//在UI里显示时间 private int mumite;//分 private int second;//秒 void Start() { StartCoroutine(startTime()); } public原创 2020-10-12 16:39:32 · 2627 阅读 · 1 评论 -
Unity监听判断鼠标点击按钮方式(左键、右键、中键)
Unity监听判断鼠标点击按钮方式(左键、右键、中键),可以通过继承IPointerClickHandler类来实现。该类在using UnityEngine.EventSystems;命名空间下。一、 新建Test脚本,复制下方代码。using UnityEngine;using UnityEngine.Events;using UnityEngine.EventSystems;public class Test : MonoBehaviour, IPointerClickHandler{原创 2020-10-10 09:59:13 · 8609 阅读 · 4 评论 -
Unity与服务器通信方式有哪些?
Unity与服务器通信方式:一、WWW:(短连接)二、Network:三、Socket(套接字):四、Photon:(长连接)五、第三方:一、WWW:(短连接)二、Network:using UnityEngine.Networking;三、Socket(套接字):using System.Net.Sockets;四、Photon:(长连接)using ExitGames.Client.Photon;五、第三方:...原创 2020-09-27 16:17:01 · 1694 阅读 · 5 评论 -
Unity与MySql交互之二 交互的常用方法
Unity与MySql交互之二 交互的常用方法关于MySql详细的安装与配置,可以看这篇博客:https://editor.csdn.net/md?not_checkout=1&articleId=108802685Unity与MySQL数据库连接和交互常用方法https://blog.csdn.net/wks310/article/details/86543891...原创 2020-09-25 23:07:28 · 1058 阅读 · 3 评论 -
Unity与MySql交互之一 mysql和Navicat的安装与配置
Unity与MySql交互之一 mysql和Navicat的安装与配置关于Unity与MySql如何交互,可以看这篇博客:https://editor.csdn.net/md?not_checkout=1&articleId=108802823最近在使用MySql,发现有些同行不知道怎么进到MySql的安装页面,下面我来仔细说一下。这里写目录标题一、资源下载1、MySQL下载2、Navicat下载3、微软常用运行库4、MySql.Data.dll二、安装微软运行库,防止缺少运行库时报错原创 2020-09-25 20:24:32 · 1844 阅读 · 7 评论 -
Unity3D 如何用3D游戏体播放视频 VideoPlayer
如何用3D游戏体播放视频?开发者在用Unity3D做工艺仿真、AR或者游戏时,经常要在各种形状的3D游戏体上插播视频充当广告或者教学,那到底怎样实现呢?这就要用到Unity内置的视频播放组件 —— VideoPlayer。Unity官方网址:https://docs.unity3d.com/Manual/class-VideoPlayer.html主题Demo效果展示如何在3D物体表面播放视频如何代码控制VideoPlayer1.代码控制视频播放、暂停,监听播放结束等2.如何监测3D游戏体是否在视野内原创 2020-11-19 13:18:30 · 11280 阅读 · 17 评论 -
Unity3D 基础教程免费直播课分享
最近每周都会在抖音平台更新 Unity3D基础教程免费直播课,刚入坑的伙伴们可以关注学习一下。复制下方口令或者抖音扫描下方二维码。【皇哈哈Unity3D的个人主页】长按复制此条消息,长按复制打开抖音搜索,查看TA的更多作品##7qRrGRBpLb8##[抖音口令]...原创 2020-09-18 11:01:33 · 1428 阅读 · 2 评论 -
游戏优化的本质
游戏优化的本质是什么?用人工代替(减轻)计算机的工作。现代计算机代码所做的工作,其实可以粗略分成两部分:为了达到预期目的所必须要做的工作为了减轻码农负担所做的工作程序层面的优化,其实就是人工解决2,让计算机专心在1,从而整体工作量贴合在关键最短路径上。比如,大家都知道一些高级语言,比如Python,运行效率是C/C++的1/10以下,甚至1/100。为什么呢?因为Python运行时除了要解决本来要解决的问题,还要补上所有程序员“偷的懒”。比如内存的分配与管理,比如类型安全与转换,等等。再比转载 2020-09-18 10:47:54 · 438 阅读 · 0 评论 -
史上最全Plastic SCM - Unity版本控制工具使用经验分享
最近使用了Unity版本控制工具 Plastic,遇到了很多坑,总结一下使用方法、注意事项以及可能出现的问题。其中有些报错暂未解决,希望知道的大佬能在下方评论,有错误的地方欢迎指正。一、正常安装使用顺序官网:https://www.plasticscm.com/download01 :安装选择团队版,Windows.选择默认安装选项一定安装到C盘一定安装到C盘一定安装到C盘不装C盘Unity中检测不到Revision Control 工具注册账号 申请团队版试用02 :创建仓库和工原创 2020-09-01 19:01:18 · 38875 阅读 · 30 评论 -
Unity3D RagDoll(布娃娃系统)详解
unity版本:2019.2.1Unity RagDoll 布娃娃系统添加Ragdoll系统后的效果如何给模型天添加布娃娃系统怎样控制布娃娃系统一些游戏中的角色死亡时,死亡的肢体动作十分逼真,例如人类一败涂地,Unity3D物理引擎中的Ragdoll系统,可以用来创建这种效果。添加Ragdoll系统后的效果技术先不说,先上视屏让大家看看加了RagDoll系统的人物模型效果: Unity Ragdoll布娃娃系统原创 2020-09-15 15:29:07 · 22090 阅读 · 21 评论 -
Json 数据的存储方法及LitJson使用方法
文章目录litJson与Json的区别Json 初级了解litJson 使用方法菜鸟教程(包含大部分程序员初级教程)litJson与Json的区别https://www.jianshu.com/p/05360f6775b7Json 初级了解https://www.runoob.com/json/json-tutorial.htmllitJson 使用方法https://blog.csdn.net/u011484013/article/details/51303674菜鸟教程(包含大部分原创 2020-09-02 14:16:26 · 969 阅读 · 0 评论 -
VS快速查看项目代码行数
VisualStudio如何查看项目代码行数b*[^:b#/]+.*$原创 2020-09-07 10:45:49 · 4354 阅读 · 1 评论 -
C#核心关键字分享
今天分享一下C#部分关键字详解:这里写目录标题GotoReturnBreakcontinueobjectForeach 循环params 参数数组delegate 委托虚方法 virtual(声明) override(重写)abstract抽象类sealed 声明密封类和密封方法接口 Interface (无方法体,不能被实例化)Gotowhile (true) {i++;if (i == 5) {goto myLable;}if (i == 9) {Console.Write(“哇原创 2020-09-07 10:36:00 · 241 阅读 · 0 评论