![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
S3_Unity学习
文章平均质量分 54
S3赛季 Unity的学习记录
zebintang
能不活着就不要活,在炼狱中死不掉才是最悲哀的,
展开
-
NGUI扩展之 图片置灰
在属性 面板添加一个小功能,置灰属性。设计思路很简单, 就是通过勾选或者不勾选,实现置灰 或者不置灰。包括对scroview的置灰等等…实际上,在NGUI中 所有需要渲染的 物体 都继承自 wight,而编辑器 部分则 作用于它。在UIWidgetInspector 中。这个脚本作用于 UIWidget, 而我们 知道所有需要渲染的元素都继承自 UIWidget 包括sprite可以找到这个, DrawInspectorProperties 画属性面板的 属性,我们就可以在里面进行 画原创 2020-09-10 00:51:05 · 721 阅读 · 2 评论 -
UnityUGUI源码阅读之Graphic
关于Graphic组件Graphic组件是UGUI中比较重要的一个组件它必须要要有 CanvasrRenderer组件以级RectTransform 组件RectTransform 是用来 存储Rect的信息的,锚点,轴心,宽高,缩放,旋转,这个组件几乎所有组件多会使用,除了一些事件层的,比如各种事件处理器,anchoredPosition 以级sizeDeltal 用的比较多。它是用来渲染 画布元素的一个比较重要的组件。CanvasRenderer 当然不用说了,如果 没有这个组件,是原创 2020-06-23 23:59:17 · 1909 阅读 · 0 评论 -
Unity加载资源方法
Unity中的物体可以分为 资源和实例对象 两种,一种是需要实例化出来的,一种是不需要实例化出来的,例如 动画控制器(RuntimeAnimatorController),精灵(Sprite),音频资源(AudioClip),图片贴图(Texture2D)等...他们都是被UnityEngine 下的Object类包含的。 下面这个方法可以用来 加载以上不需要实例化的资源,publ...原创 2018-12-04 10:12:20 · 641 阅读 · 0 评论 -
Unity中实现 抛物线运动
抛物线的实现有很多种,1.利用 y=sin(x) 函数 ,该函数 分布图就是 个抛物线。只要控制在 0到PI 之间 就可以得到向下的抛物线方程。x可以是个增量;不过这样得到 会比较难控制 开口弧度。 参数比较难调整;第二种,使用重力加速度模拟抛物线的。在 Awake 中初始化速度,重力// 时间=距离/速度time = Vector3.Distance(pointA.positio...原创 2019-12-03 09:12:35 · 5492 阅读 · 0 评论 -
为VScode中下载好的插值写扩展智能提示。
VScode 中 写扩展方法,智能提示,关键字;最近使用vscode 发现 有些插件,语法提示不是很健全,于是就想着能不能添加,最后,发现是可行的。其实 修改插件的源码,扩展函数 就好了。其中vsCode 扩展插件目录 一般是存放在C:\Users\UserName.vscode\extensions底下。这个目录下 就是之前从插件扩展商店中 下载好的插件。我使用的插件 是shade...原创 2019-11-10 11:40:41 · 2668 阅读 · 0 评论 -
游戏3D数学基础
矩阵:原创 2019-09-08 17:40:41 · 2681 阅读 · 0 评论 -
Unity_NGUI锚点Anchor自适应
Unity中 NGUI插件十分方便利用Anchor属性, 可以做出屏幕的适应,比如做个小地图一直在右上角,做个血量条一直在左上角。做个技能栏一直在屏幕正下方。其实在Unity 里的UGUI也可以很容易实现,但是呢,没有NGUI集成的多,不大方便,在Unity中 修改Canvas 中的属性这个是调整 sprite 的scale 不会被拉伸,然后再 调下Rect Transform中的锚...原创 2018-07-09 23:03:46 · 3650 阅读 · 0 评论 -
Unity连接本地mysql数据库
虽然unity自带了Playerprefs 游戏存档,也有Get 和Set方法, 不懂的同学 请前去官方圣殿只能作为游戏存档, 可以看作一个字典,但是要涉及到游戏帐号之类的化 就要用数据库来存储了。之前学php和mysql,可以用mysql来做。这里推荐一个快速的安装软件,warmserver,然后 最好 再去下载 Nav mysql 管理 工具登录 上...原创 2018-06-23 10:07:33 · 3545 阅读 · 4 评论 -
Unity机器学习 环境搭配window7
前段时间unity出了机器学习,于是就打算配配下环境 学习下,接下来就进入配置环节~~window7版哦https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=7&target_type=exenetwork 上面是连接下载好是这样子的接着...原创 2018-03-14 13:48:28 · 1749 阅读 · 1 评论 -
unity VR凝视gaze
带上VR头显,盯着物体就有个进度条,等待完成,就可以做一些炫酷的技巧,很多VR的SDK也有这个技能,其原理是用视线来探测,下面贴出代码新建脚本命名GazeController;//准星容器 public Canvas rectileCanvas; //进度文字 public Text rectileText; //准星 通过属性面板拖拽 进行赋值 public Ima...原创 2018-03-09 09:50:56 · 5773 阅读 · 4 评论 -
连连看 算法 总结
连连看 算法 总结首先 连连看 是 一款休闲小游戏,非常适合锻炼算法,一门语言的入门 也是不错的,首先是 匹配算法, 匹配函数需要 接受两个 位置 进行 取得数据进行匹配,取得数据 就只是 访问数组,因此 只要先判断这两个值 是否一样就 可以进行下一步匹配。检测函数 很简单判断结果 是否相同, 是否越界public0拐点分 垂直遍历,水平遍历垂直遍历:水平遍历:1拐点:一...原创 2019-06-30 15:16:55 · 3752 阅读 · 0 评论 -
帧同步
帧同步技术是早期RTS游戏常用的一种同步技术,本篇文章要给大家介绍的是RTX游戏中帧同步实现,帧同步是一种前后端数据同步的方式,一般应用于对实时性要求很高的网络游戏,想要了解更多帧同步的知识,继续往下看。转载 2019-05-07 11:49:29 · 9872 阅读 · 0 评论 -
提高你的开发速度,插件快捷键,Resharp快捷键ForUnity
Why?总是在输入相同的代码, 还在为每个刚创建的类添加构造函数?使用快捷键可以提高开发速度,很多工作其实都是重复的。 比如创建很多数据类,然后要给他们添加构造函数, 这里 轻量级编辑器推荐VSCode ,重量级推荐 VisualStudio+ReSharperAlt+Enter 呼出菜单,输入 英文 可以 跳到 制定指令。Alt+Insert Constructor 快速 生成 ...原创 2019-04-28 17:13:15 · 584 阅读 · 0 评论 -
深入 UGUI源码中的 Hover Exit滑入 滑出 以及背后的事件系统机制
UGUI中的 事件派发机制:在使用UGUI的时候 创建Canvas会自动 创建一个EventSystem 这个EventSystem就是个监听器(监测器)它会在Update里检查 InputMoudle,判断是否 活跃状态,是否应该激活它,不是就从List中移除掉,如果是当前的Moudel,,并且需要改变, 就调用Process派发函数, 这里的BaseInputMoudle 是 用来采集用...原创 2019-03-21 18:55:00 · 552 阅读 · 0 评论 -
UGUI源码浅读———Racast,PointerEventData,BaseInputModle
RaycastManager 管理所有的BaseRaycaster,可以移除 添加 获取,是个静态管理类。BaseRaycaster 在 Enable的时候就 添加进RaycastManager里,在Disable的时候就移除,BaseRaycaster 是PhysicsRaycaster, Physics2DRaycaster, GraphicRaycaster. 的基类, 当然还可以被扩展...原创 2019-03-18 00:03:13 · 747 阅读 · 0 评论 -
C# Unity中的编译和反编译以及混淆以及 DllImport特性
之前没接触 过,以为很高大上,高深莫测,实际上这些都不需要你敲代码实现的,说白了就是利用现在的工具进行编译 反编译反编译 工具 推荐大家用 JetBrains dotPeek下载好之后是白色界面, 修改方法 在Tools下Options选项中 点Color Theme 选为Dark。接着把DLL 拖进来就可以看到了关于编译成dll 也很简单,打开VS工程, 如果 新建项目选择 类库...原创 2019-03-15 11:56:27 · 824 阅读 · 0 评论 -
VR 科普-位置跟踪器,鼠标定位原理
位置跟踪器 编辑三维空间跟踪定位器是作用于空间跟踪与定位的装置,一般与其他VR设备结合使用,如:数据头盔、立体眼镜、数据手套等,使参与者在空间上能够自由移动、旋转,不局限于固定的空间位置。操作更加灵活、自如、随意。产品有六个自由度和三个自由度之分。中文名 位置跟踪器 外文名 Location tracker 属 性 跟踪器 特 点 一般与其他VR设备结合使用位置跟踪器当接收传感...原创 2019-03-14 16:27:07 · 4309 阅读 · 0 评论 -
编辑器扩展AssetModificationProcessor 脚本模板功能
AssetModificationProcessor、在编辑模式下可以让你的Unity资源保存序列化前勾住它,防止Unity在写入资源提前把它锁住,对它进行处理Unity Editor下对资源进行操作时调用AssetModificationProcessor.Leave feedbackDescriptionAssetModificationPr...原创 2019-02-12 16:47:38 · 2085 阅读 · 0 评论 -
Unity获取 鼠标 插值的 几种 方法
说说思路实现Unity中获取 鼠标插值的原理是 用上一帧鼠标的位置 减去这一帧的鼠标位置的值,然后要进行对第一次进行判断,判断这一次位置是不是原来的值,如果不是就进行差 运算,得出偏移量。再把上一次的位置的值给这个一次; private Vector2 offest; private Vector2 newMousePos;//上一帧 Vector2 ...原创 2019-01-21 15:52:33 · 1194 阅读 · 0 评论 -
AssetsBundles加载方式
ab包 加载有两种方式,一种是www 加载 一种是 调用UnityEngine下的Networking库里的UnityWebRequest 方法;下面 是添加一个菜单 按钮 可以把 所有prefabs 打包进 ab包·using UnityEditor;public class CreateAssetBundle{ [MenuItem("Assets/Build A...原创 2018-10-29 22:36:57 · 260 阅读 · 0 评论 -
UnityHub 转
Unity Hub最新推出的用于简化工作流程的桌面端应用程序,现已提供测试版本。它提供了一个统一的地方用于管理Unity项目、简化下载、查找以及安装多个Unity版本。而且它还能帮你了解快速上手的功能,例如新出的模板功能。赶紧来尝试使用Unity Hub吧 ! 下载Unity Hub(Beta) :Windows: https://public-cdn.cloud.unity3d.co...转载 2018-10-01 10:28:37 · 511 阅读 · 0 评论 -
UnityC#枚举转换读取。
public enum ApplyType{ Passive, Buff, SingleTarget, MulitTarget}private void Awake() { ApplyType applyType= (ApplyType) System.Enum.Parse( typeof( ApplyType), "Buff"); //装箱与...原创 2018-09-11 09:50:44 · 994 阅读 · 0 评论 -
UGUI内核大探究(一)EventSystem
UGUI是Unity3D官方推出的UI系统,为了更好的使用UGUI,我们就需要去了解它。UGUI代码开源,我们可以从bitbucket下载到源码。虽然Unity官方喜欢藏着掖着,例如RectTransform和Canvas系列的源码都放在了UnityEngine里面,但是这并不妨碍我们对已开源的代码进行分析(其实多少也有些妨碍吧。。。)今天我们就探究了一下UGUI的事件系统EventS...转载 2018-08-16 00:53:16 · 226 阅读 · 0 评论 -
VS快捷键让你的代码飞速跑起来
转Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。VS 2013 中新增了很多提高开发人员工作效率的新功能,比如自动补全方括号、使用快捷键移动整行或整块的代码等;合理使用快捷键可以提高开发效率。但是Visual Studio提供的快捷键多如牛毛,那我们有没有必要掌握所有快捷键的使...转载 2018-05-08 11:24:47 · 1302 阅读 · 0 评论 -
记录一次Unity巨坑!
(蠢萌的初学者把本地给覆盖了) Unity巨坑!!!Unity巨坑!!!Unity巨坑!!!点了yes之后你的unity项目就全没了你的unity项目就全没了你的unity项目就全没了这个 是本人 初学的时 遇到的问题, 就是Unity的CloudServer, Collab这个是从服务器上拉项目 覆盖到本地。如果 本地没备份,而服务器又没更新的话。。...原创 2018-04-18 18:43:14 · 4825 阅读 · 15 评论 -
unity判断一个物体是否在正前方或者左右
1.点积 点积的计算方式为:a·b=|a|·|b|cos<a,b>其中|a|和|b|表示向量的模,<a,b>表示两个向量的夹角。另外在点积中,<a,b>和<b,a> 夹角是不分顺序的。 所以通过点积,我们其实是可以计算两个向量的夹角的。 另外通过点积的计算我们可以简单粗略的判断当前物体是否朝向另外一个物体...原创 2018-04-07 14:45:53 · 16551 阅读 · 5 评论 -
unity搭建环境
http://blog.csdn.net/q568360447/article/details/78197023 关于搭建环境 可以参考这篇文章,当训练结束的时候,data放在这里一定要鼠标左键选中这几个才可以RUN cells...原创 2018-03-14 16:57:43 · 282 阅读 · 0 评论 -
Unity资源的卸载
Asset是什么?游戏中具体的资源,像texture,mesh,material,shader,script等,实实在在的游戏项目文件夹中所需要堆放的资源。 它们都 UnityEngine.Object的子类 GUID 是它们的id 如果不是在主线程里的 会报错,自己可以用c#x写多线程访问试试。 GameObject是什么存在场景中的游戏对象,用到的时候需要被实例化出来,它持有 ...原创 2019-12-23 21:07:50 · 1846 阅读 · 0 评论 -
Unity底层资源加载的学习
AssetBundle打包管理打包策略打包配置表生成ab包打包工具初步加载资源池类对象池对象池原创 2019-12-16 16:50:19 · 264 阅读 · 0 评论 -
关于Unity中渲染的优化
前言最近在看shader入门精要一书,里面大概指出了GPU的优化,入门精要嘛。翻阅官方文档,和参考一些博文,比较杂,因此,很有必要整理,这篇文章主要是针对渲染相关的,和CS脚本,CPU无关。正题U3D开发项目 意味着需要使用多个工具,插件,开源库,第三方库,这个时候优化就显得比较重要了,尤其是在硬件不是特别好的移动端上,因此性能优化就显得格外重要了,有些游戏经常出现闪退,卡死,这些 都和优...原创 2019-11-19 01:50:34 · 456 阅读 · 0 评论 -
unity VRTK touchPad 学习
这个是事件的代理,移入移出,点击和 一直点,这个touth pad 的Radial menu 可以看到手柄被分成5份,每份 是72度,hide On Release 就是 放松的时候隐藏,用 unityEvent这个是 更换 图标springd 的 ...原创 2018-03-15 18:49:46 · 1048 阅读 · 0 评论 -
VRTK 官方文档
https://vrtoolkit.readme.io/docs/radialmenu原创 2018-03-15 21:02:18 · 3920 阅读 · 0 评论 -
unityGUI按钮事件
一般不用动态添加的话就直接在游戏里面按钮里点击加号,如果需要解锁什么技能之类的,就需要动态的添加按钮事件,GUI的话,就是public Button btn;btn.onClick.AddListener (OnClick);NGUI也是类似,VR里面的话也是类似的public VRTK_RadialMenu Right_menu;void Start (){Right_m...原创 2018-04-07 16:36:36 · 2511 阅读 · 0 评论 -
VR射线拾取
射线拾取其实很简单,这个加多了个shader脚本要挂载在里,namespace VRTK { using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class RayPick : MonoBehaviour{ ...原创 2018-04-07 16:48:41 · 1808 阅读 · 3 评论 -
unity同个物体多个材质替换处理
public Material[] MatAry; public Material[] mat; public GameObject obj; MatAry = obj.GetComponent<Renderer>().materials; MatAry = mat; obj.GetComponent<Renderer>().materials = MatAry;...原创 2018-04-09 22:00:23 · 4761 阅读 · 0 评论 -
unity摄像机 平滑
今天开始看android开发范例中的第三个范例,这里注意到这个函数Mathf.SmoothDamp的使用,游戏中用于做相机的缓冲跟踪,我们其实会留意一些游戏使用了smoothmove的功能,其实就是类似的效果,只是发现这个函数很容易的已经分装好了,查了官网文档发现使用起来真的非常简单。smoothdamp,我的理解是平滑缓冲,东西不是僵硬的移动而是做减速缓冲运动到指定位置。我们看看代码:12345...转载 2018-04-10 23:25:16 · 1820 阅读 · 0 评论 -
uniryAudioMixers
unity官方:http://forum.china.unity3d.com/thread-846-1-1.html 5.0的功能混音器,在assets下create 下Audio Mixer,这个主要的混音,这里tank里面就用了,master是敌人 music是背景音乐 Driving是开车的时候用下官方给出的图 声音的分类,这个功能用于场景中存在很多声音的时候 用与控制,创建好后在Out...原创 2018-04-06 22:21:01 · 532 阅读 · 0 评论 -
unity数学函数mathf.PinPong的实现原理
mathf这个库十分强大,基本上封装了 游戏数学方面的函数,先介绍一个Mathf.pingpong官方apiMathf.PingPong 乒乓static functionPingPong(t: float,length: float) : floatDescription描述PingPongs the value t, so that it is never larger than l...原创 2018-04-13 20:27:30 · 6668 阅读 · 1 评论 -
unity协同程序(协程)
一般协程使用是避免新能开销,减少update使用,当有很多 计时器时,不用定义很多float 变量,一个协程就可以解决。原文:http://www.un点击打开链接ity.5helpyou.com/2658.html2.协同程序的特点1、协程在中断指令(YieldInstruction)产生时暂停执行2、协程一暂停执行便立即返回 //中断协程后返回主函数,暂停结束后继续执行协程剩余的函数。3、中断...转载 2018-05-02 10:07:54 · 1549 阅读 · 0 评论 -
UnityTimeline学习
在2017年unity出了好多有用的功能,比如timeline cinemachine,其中 Timeline是用于做一些过场动画 影视电影,unity自家也用timeline 和cinemachine 做了一系列的ADAM ,cinemachin需要2017.1.1版本,2018也出了好多新功能,建议下载最新版本, 最新版本也推出好多新功能,在window下的package manager就可以...原创 2018-04-24 17:06:50 · 1564 阅读 · 0 评论