
Unity3D之日常开发
文章平均质量分 82
主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
恬静的小魔龙
优快云博客专家、Unity3D领域优质创作者,专注于VR、虚拟仿真开发。
《Unity 3D从入门到实战》作者。
展开
-
【Unity3D小功能】Unity3D中实现超炫按钮悬停效果
先来看一下效果图:感觉这种效果超炫酷,就根据大佬的文章复现了一下。并且详细补充了一下相机、Post、材质球和Shader的处理过程,接下俩就看一下如何实现吧。原创 2025-02-06 17:52:05 · 1076 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中打开Window文件对话框打开文件(PC版)
这篇文章继续讲如何使用Unity3D打开Window文件对话框选择文件。【Unity3D日常开发】Unity3D中适用WEBGL打开Window文件对话框打开/上传文件是基于WEBGL的。这篇文章是基于PC端的,也就是打包后是exe的版本。原创 2025-01-13 18:25:10 · 1147 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中适用WEBGL打开Window文件对话框打开/上传文件
Unity3D发布的WEBGL程序是不支持直接的I/O操作,所以也就不能直接访问用户电脑的文件。但是,也是有办法去访问电脑中的文件,打开文件的。比如情况一:如果知道电脑文件在什么位置、什么名字。【Unity3D小技巧】Unity3D中打包WEBGL后读取本地文件数据情况二:知道要上传什么类型的文件,但是需要弹出窗口来选择文件并打开。这篇文章就来讨论一下WEBGL打开Window文件对话框并打开文件后上传文件,显示图片/文本。原创 2025-01-08 18:03:14 · 1302 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D的Color Space(颜色空间)【全解析】
先放一张图感受一下:在Unity打包选项中,有一个Color Space的选项,有Gamma和Linear两个选项。主要作用是设置Unity是否对输入的默认贴图进行转换处理,法线贴图不存在这个问题。Gamma时,Unity不会在后台将图片进行转换,输入的即使是经过矫正的图片,Unity也不会处理,比如Remove Gamma Correction去除伽马校正Gamma Correction伽马校正都不会发生,除非自己手动实现。Linear时,Unity就会进行统一线性空间的流程,也就是。原创 2023-10-19 16:17:39 · 4088 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D的Resources不同目录的加载分析
xdm,国庆节快乐呀,无聊学习一会,跟大家分享一点点知识。Resources目录大家应该很熟悉了,这个是Unity3D的一个特殊文件夹,用来加载文件的。构建项目时,会将Resources目录中的所有的资源和对象都合并到一个序列化文件中,该文件中包含元数据和索引信息,该索引包含一个序列化查找树,用于将给定对象的名称解析为其适当的文件GUID和本地ID。这么一说,跟也有点类似哦。Resources的使用的话就很简单,将文件放到Resources文件夹内,然后使用。原创 2023-10-02 16:44:13 · 1781 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D中Quality的设置参考
这篇文章就来讲一下Quality的设置(Unity版本:2021.3.15f1c1Quality主要是用来控制图形质量的设置,这些设置包括抗锯齿、阴影、分辨率等方面:根据设备的性能调整参数,来达到最佳的游戏体验。一般来说,质量是以牺牲性能为代价的,所以最好不要追求移动设备或旧硬件的最高质量,因为它会对游戏产生有害的影响。原创 2023-09-19 16:28:11 · 3902 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D中Package Manager加载不出来插件包或者加载出来后无法Install的问题
今天在新电脑上打开Unity3D的Package Manager(包管理器)的时候发现一直在转圈圈,然后转圈圈停了又说网络有问题,插件包也无法Instal:那么这种问题怎么解决呢?原创 2023-07-27 10:35:45 · 6000 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中比较string字符串的常用方法
那么这些方法都有哪些不同,以及如何使用呢,这篇文章就来分享一下字符串对比的经验。原创 2023-07-26 17:25:20 · 3381 阅读 · 2 评论 -
【Unity3D日常开发】Unity3D中协程的使用
最近有小伙伴问协程怎么用、怎么写,我也是会用会写,但是原理不是很明白。学习了一下,总结出来分享给看到这篇文章的人。如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。//协程执行完毕后执行后续代码也就是协程类型的返回值,我在想,是不是可以通过扩展Coroutine,来写一个自定义的中断指令,也就是yield new return。我们假设这样一种情况,当一个动画播放后,再执行其他函数。get {} }原创 2023-03-09 18:26:16 · 2730 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D中实现不同脚本之间的执行顺序控制
首先,来了解一下事件函数的执行顺序,下图是官方给的脚本中事件函数的执行顺序:众所周知,Unity中某个脚本的事件函数执行顺序是Awake、Start、Update、LateUpdate等,那么不同脚本之间的事件函数的调用顺序是怎么样的呢,以及如何控制不同脚本之间的事件函数的调用顺序呢?看完这篇文章你就能找到答案。原创 2023-02-07 19:45:12 · 9532 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中实现单例模式详解
首先,说一下,什么是单例模式(Singleton)。单例模式是设计模式中常见的一种设计模式,目的是为了让一个类在程序运行期间有且只有一个实例,方便全局访问。应用在Unity里面,可以用来作为数据类、工具类、实现类,方便脚本调用。下面,就在Unity中实现单例模式。原创 2023-02-07 15:51:17 · 13590 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中屏蔽不想显示的黄色警告消息
在开发中,会有一些脚本过期,显示脚本警告,但是没有错误。如何去屏蔽这些错误呢。可以使用.rsp文件去屏蔽特定警告。原创 2022-12-30 16:24:36 · 2241 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D中实现不规则Button按钮的精准响应
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。在使用Unity3D开发中,可能会遇到制作不规则形状的按钮响应。但是Unity3D中的Button按钮是长方形的按钮,就算是改变Button按钮的Image组件去改变Sprite也只是实现外观上的形状,实际还是可以响应空白区域,比如:(1)新建MyImage.cs脚本,编写代码:(2)将脚本附给Button对象:(3)给Button对象添加Polygon Collider2D组件,点击EditCollider按原创 2022-12-05 17:51:04 · 4995 阅读 · 2 评论 -
【Unity3D日常开发】Unity3D打包PC窗口化打包设置
有小伙伴问我他怎么打包后怎么没有了下图中的窗口:这个其实只要设置好打包设置即可。原创 2022-11-17 13:52:56 · 12037 阅读 · 11 评论 -
中秋佳节,实现一个自定义任意路径嫦娥奔月程序:过什么节,代码走起
中秋节将至,又到了赏月、吃月饼的时候了。中秋节是中国的传统节日,以月之圆象征团圆之意,寄托人们思念家乡,思念亲人之情。说起中秋节就不得不说关于中秋节的故事传说,其中最有名的就是嫦娥奔月。我们就以嫦娥奔月为题,制作一款嫦娥奔月的小Demo吧。[ Header("渲染Quad") ] public Renderer m_rendered;[ Header("颜色") ] public Color m_drawColor;原创 2022-08-24 17:51:41 · 1334 阅读 · 1 评论 -
【Unity3D热更新】Unity3D 零成本、高性能的C#的热更新框架:HybridCLR
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。一、前言相信只要做过热更新的小伙伴,都被热更新搞过心态吧。我有一个小伙伴,本来是面向Unity做可视化开发,结果去做热更新,直接面对代码开发,非常难受。首先,来介绍一下什么是热更新、热更新的优点、热更新的解决方案,最后再引出这篇文章的主角huotuo:C#热更新方案。1-1、.原创 2022-08-12 10:33:26 · 10423 阅读 · 12 评论 -
【Unity3D日常开发】Unity3D中数字网格类游戏Demo实现
一、问题截图整理思路列知识网络按照知识网络中的概念分别去查资料,然后把它做出来。二、整理思路1、根据地图布局,生成一组Json、XMl等数据结构。这个我觉得,不要用Json和XML,因为这两个都是生成结构化的数据对象,主要用于跟其他平台的数据交换,比如说想服务器发送一个Json格式的数据,然后服务器返回一个Json格式的数据,解析加载。可以直接使用一个txt文档用来保存地图信息。推荐教程 :【Unity3D读取数据】(一)Txt文档操作(创建、读取、写入、修改)【Unity3D读取数据原创 2022-05-18 18:10:08 · 2796 阅读 · 1 评论 -
【Unity3D日常开发】Unity3D中 C#反射Reflection的使用
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。你的点赞就是对博主的支持,有问题记得留言:一、前言今天分享一个平时开发比较少接触到的概念——反射,最近也是在写代码的时候用到了,就分享出来,一方面是对自己学到的知识的总结,另一方面也是为了帮助后来的人。反射虽然用的不多,但是存在既有道理,在接下来的小节中会讲到反射的应用场景。.原创 2022-03-15 15:55:02 · 8916 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D与Android的交互通信(Android Studio3.0版本)
一、前言这篇文章主要讲的是如何使用Android Studio与Unity的交互通信。主要内容有如何在Android Studio创建工程,如何设置,以及如何导出。以及在Unity调用Android的方法。二、参考资料Unity与Android通信 https://blog.youkuaiyun.com/qq_33747722/article/details/53390198Unity和Androi...原创 2018-12-24 18:07:46 · 3607 阅读 · 18 评论 -
【Unity3D日常开发】时间类Time和DateTime的使用
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。一、前言凡是用到时间,日期的都免不了要用到时间类DateTime,那么DateTime类跟Time类又有啥区别呢。DateTime类的函数以及属性怎么用呢。这一篇文章就将这些知识拿捏的明明白白。二、Time和DateTime的区别首先,来看一下Time和DateTime.原创 2021-09-13 17:39:48 · 15122 阅读 · 5 评论 -
【Unity3D日常开发】新建2D、3D场景,新建场景没有灯光等问题
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言大家好,我是☆恬静的小魔龙☆。今天遇到一个问题,就是新建场景后,场景中只有一个摄像机,然后视图也是2D视图,如下图所示:当然,这个也可以解决的:新建一个环境光、然后将天空球改成模式的,如下图所示:但是,每次新建场景都要这么搞,我是很烦的。但是,百度也没有一个回答这个问题的,然后我就自己研究,将解决方案记录一下。二、解决方案初步判断,应该是在新建项目的时.原创 2021-07-29 09:26:43 · 3597 阅读 · 0 评论 -
【Unity3D日常开发】生成预制体,并且预制体自动销毁
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言今天有粉丝问我一个很简单的问题,如何生成预制体,并且让预制体自动销毁。这对老鸟来说应该是很简单的,但是对于新学习Unity的萌新来说,感觉各种困难。比如说,生成的预制体不自动销毁,或者就是生成预制体的脚本被销毁了。这其实就是因为,没有理清生成与销毁。下面,我就演示一下如何生成预制体,并且销毁二、效果图三、教程开始首先,新建一个脚本SpawnManage.原创 2021-07-13 10:16:11 · 13296 阅读 · 7 评论 -
【Unity3D插件】Unity3D各类教程汇总
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、工具篇工欲善其事,必先利其器学习Unity3D不从工具篇说起怎么能行?学习Unity3D最重要的两个工具:Unity3D和Visual Studio(Visual Studio Code也行)1-1、Unity3D安装Unity 安装个人免费版步骤详解(通过UnityHub安装unity,是比较流行的安装方式)https://blog.youkuaiyun.com/fi.原创 2021-07-07 10:34:14 · 12496 阅读 · 19 评论 -
【Unity3D日常开发】应粉丝邀约,写一篇单例模式在Unity的实际应用,记得一键三连哦
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875❤ 一、前言最近,有粉丝问我:粉丝:“怎么用单例模式呀?”我:“https://blog.youkuaiyun.com/weixin_43430200/article/details/107459447”粉丝:“我知道咋写,就是不知道怎么用”我:“好家伙,那我就给你演示一下怎么用吧”❤ 二、单例模式介绍首先要了解,单例模式是一种常用的软件设计模式,定义是单例对象的类只.原创 2021-06-11 11:29:36 · 1913 阅读 · 8 评论 -
【Unity3D日常开发】手把手带你学习Unity | 寻找C站宝藏
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言你是否常常被游戏刷屏,你是否被游戏广告不断推送。这说明游戏又迎来了一波业绩增长,业绩增长也代表着需要更多的人才补充,你现在进入游戏圈,那么将来就会有更多的就业机会。Unity3D游戏引擎,目前在国内处于游戏引擎的主导地位,各种手游、页游、端游、单机,只有你想不到,没有Unity做不到!那么什么是Unity3D呢:一个能够轻松创建诸如三维视频游戏、建筑可视化、实时三.原创 2021-06-07 15:06:23 · 2184 阅读 · 3 评论 -
【Unity日常开发】Unity3D中创建脚本时自动添加头注
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言有些代码,会在代码的头部写上一大堆的注释:(1)说明这是谁写的(2)什么时候创建的(3)什么版本(4)什么作用(5)版本变更时间这样就可以很清晰的看到这个脚本是谁写的,写了什么,变更的时间版本等,利于开发。总是总是写一个脚本,复制过去,改一下,也感觉有些繁琐。接下来就教大家如何自动为脚本添加头注。二、实现using System.IO;name.原创 2021-05-27 16:04:54 · 1319 阅读 · 1 评论 -
【Unity3D日常开发】Unity循环里面给按钮添加绑定事件
一、前言今天介绍的是在开发中遇到的一个坑。问题是:有三个按钮,分别点击之后显示对应的界面,我一听,这不就可以使用循环解决吗?比如代码:using UnityEngine;using UnityEngine.UI;public class TestBtn : MonoBehaviour{ public Button[] AllBtn; public GameObject[] ALLPanel; void Start() { for (int i原创 2021-05-14 17:11:48 · 3886 阅读 · 17 评论 -
【Unity3D日常开发】使用代码改变Text的字体颜色
一、前言今天介绍一下非常简单的一个东西,就是使用代码改变Text的字体颜色,那么为什么简单还要介绍呢。因为今天突然有人问我这个问题,秉承着不坑人的原则去百度了一下,结果没有一个可以答到点子上所以就从新写一篇文章来介绍一下如何实现。二、改变字体颜色就一行代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class TextCo原创 2021-05-07 18:27:59 · 14268 阅读 · 2 评论 -
【Unity3D日常开发】A*插件的一些BUG记录
问题:在寻路的时候,会遇到加入经由点和目标点的问题我的解决思路:先将所有的经由点根据玩家当前位置进行排序,得到一个距离玩家当前位置从近到远的排序列表,然后让玩家当前点寻路到最近的经由点,然后再根据这个经由点寻路到下一个经由点,最后寻路到目标点,但是出现了一个BUG。。。BUG:会出现只能寻一条路,下面的路不进行寻路的BUG,最后经过A*算法插件的源码阅读发现了Heuristic(启发式)类下面的heuristicScale参数,这是一个float类型的值:/ / ////启发式的尺度。//原创 2021-04-14 19:38:16 · 1299 阅读 · 2 评论 -
【Unity3D日常开发】提供开发效率系列之工具类的建立
在开发中,我们会将调用次数比较多的函数单独提出来写到一个类中,比如字符串转16进制,给字符串加密这些都是比较常用的,就可以将这些常用的函数提取出来,放到工具类中,方便调用根据父物体对象,找到指定名字的子物体,返回GameObject对象根据父物体对象,找到指定组件的指定的名字的子对象,返回的是指定组件的对象根据名字,返回指定名字下的组件根据名字,返回指定Button组件2-2、对文本的处理将数组中的所有字符按照特定分隔符拼接将字符串转化为字节数组将byte数组转换为字符串将字符串根据指定分隔原创 2021-01-15 15:11:01 · 2212 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D模板 WEBGL模板 自定义Templates 使用教程
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875优快云博客之星投票(文章如果帮助到你,请你帮忙投个票吧)一、前言我们在开发WEBGL项目的使用,遇到一个问题,导出的WEBGL界面很简陋,不是很美观。所以就需要自己去修改js文件,或者CSS文件,以及更换图片等操作但是如果这些工作是一次的话就好说,但是程序开发总是要修改很多次,每次都更改这些东西,就会显得很繁琐,那么有没有设置一次模板,每次生成的时候都按照这个模板生成.原创 2021-01-13 11:55:42 · 5907 阅读 · 8 评论 -
【Unity3D日常开发】如何获取所有的子对象(child)
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言这个问题还是比较简单的,无非就是一个for循环就可以全部获取到了,但是我喜欢简单直达,有没有直接就能获取到所有的子对象函数呢,搜了好久都没有,所以我准备写一个扩展函数,来自己补充这个函数,一起来看一下吧。二、如何获取所有子对象第一种方法:使用foreach循环,找到transform下所有的子物体foreach(Transform child in trans.原创 2020-12-08 09:34:31 · 11670 阅读 · 0 评论 -
【Unity3D日常开发】Unity3D中控制人物移动
一、前言网上关于角色移动的文章太多太多了,就我自己整理的时候都发现写了好多篇(因为有不同的方案),今天就将目前已知的移动角色的方案总结出来,毕竟是一个资源整合的时代,谁也不想找个角色移动的脚本都要找好几篇文章对吧目前可以划分为三个方面角色移动到鼠标点击的位置键盘控制角色移动(其他的比如游戏手柄也算键盘、HTC手柄 也算键盘)手机端转盘控制角色移动其他的比如摄像机跟随移动这个可以作为拓展二、角色移动到鼠标点击的位置代码:using UnityEngine;public class T原创 2020-11-13 10:49:10 · 4472 阅读 · 0 评论 -
【Unity3D日常开发】修改游戏对象的材质颜色
推荐阅读优快云主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言前段时间比较忙,好久没更新博客了,感觉技术都下降了,还是要坚持输出呀。孔子曰:“学而不思则罔,思而不学则殆”,不能光学习,还要学会思考,要能用起来。将自己学到的东西记录下来,这样会让学习更加有效。二、修改游戏对象的材质颜色2.1 支持修改的材质首先,你的材质要支持颜色渲染通道,如果都没有颜色通道,再怎么改变都没有用的。默认的Standard是支持颜色通道的.原创 2020-11-13 10:29:01 · 12235 阅读 · 3 评论 -
【Unity3D日常开发】灯光系统,太阳光晕效果实现
一、前言太阳光晕的效果虽然用处不大,但是很漂亮,漂亮不就行了,那么就来看看怎么在Unity3D中实现太阳光晕效果吧。效果图:二、资源下载文中提到的资源已上传优快云https://download.youkuaiyun.com/download/q764424567/12895170三、步骤(1)我们将资源导入到Unity的Flare文件夹中。(2)然后将Flare的材质贴图拖入到Flare Texture卡槽中。(3)找到平行光组件,将BF1_Sun.flare对象拖入平行光组件的Flare卡原创 2020-09-28 16:32:32 · 6037 阅读 · 7 评论 -
【Unity3D日常开发】String如何多行输入
一、前言在开发中,常常要用到String字段,这个字段可以输入字符串,如果说只是输入有限的字段还是好管理的,但是如果输入很多行的文字,就不那么好管理了,比如:这要改起来是很奔溃的二、解决方案可以使用 Multiline关键字参数5 是指的是5行看下效果吧:结束~Unity3D爱好者交流群,一起学习进步...原创 2020-08-17 10:09:04 · 3088 阅读 · 0 评论 -
【Unity3D开发小游戏】《文字冒险游戏》Unity开发教程
基本程序设计(故事卡)游戏会为玩家呈现一个“故事卡”。故事卡上包含一些文字,其中一部分是用于描述玩家当前的状态,另外一部分是在当前情况下玩家可以做出的一系列选择。根据玩家的不同选择,剧情也会按照不同的分支向前发展,并持续出现新的卡片与选择,直到最终的卡片不再有新的选择,则游戏结束。制作一张“故事卡”很简单。根据上诉需求,我们新建StoryCard脚本,脚本代码如下:StoryCard在...原创 2019-06-28 14:32:41 · 29693 阅读 · 18 评论 -
【Unity3D】自学之路1.0
文章目录一、前言二、原文链接三、正文Unity自学之路之零基础篇Unity自学之路之初级篇(上)Unity自学之路之初级篇(中)Unity自学之路之初级篇(下)Unity自学之路之中级篇(上)Unity自学之路之中级篇(中)Unity自学之路之中级篇(下)Unity自学之路之数学篇分享一些学习资源论坛网站一、前言原文主要讲的是如何从零基础入门,然后一步一步进阶的文章,包括很多学习资料,学习的网...原创 2020-03-11 10:20:04 · 3069 阅读 · 1 评论 -
【Unity3D】Unity3D发布错误:could not allocate memery:system out of memery!
可能出现的原因:1、项目太大了2、项目坏了3、资源坏了4、单个资源定点数超了e。解决办法:删除了一些模型。是模型太大,面数、顶点数太多的原因。Unity3d里查看模型的顶点数展开fbx模型,点击里面的mesh文件,就能看到顶点数。比如下面的:1052 verts,1471 tris,uv,skin。...原创 2020-03-09 14:18:32 · 4372 阅读 · 0 评论 -
【Unity3D日常开发】Editor自定义插件,[InitializeOnLoad]属性使用
一、前言以前就介绍过自定义组件,文章链接在此:Unity3D Editor自定义窗口、自定义组件、Inspector、菜单等等https://blog.youkuaiyun.com/q764424567/article/details/80908614今天又学到了一个新属性InitializeOnLoad就记录一下好啦二、使用这个属性主要作用是启动Unity的时候运行编辑器脚本,大白话就是,我想要...原创 2019-12-24 17:23:18 · 3360 阅读 · 0 评论