Unity
木直
这个作者很懒,什么都没留下…
展开
-
TIS开发日志(一)C#读取Excel
using System.Collections;using System.Collections.Generic;using UnityEngine;using Excel;using System.IO;using Assets.Scripts;using System;public static class ExcelWorker{ public static Li...原创 2018-10-19 18:23:42 · 585 阅读 · 0 评论 -
改造Fungus源码及使用教程:建立数据驱动脚本系统的尝试(二):自定义Command
”想更快更方便地实现功能,就向上抽象。想实现更丰富的功能,就向下拆解。“---某不知名程序员起因继续更深入地改造Fungus,碰上了Command。由于Fungus的原生Command的参数都是靠面板输入的(毕竟其原本的设计意图就是方便不懂编程的人靠界面操作来实现游戏逻辑),并没有提供给在代码环境中修改Command参数的接口,所以想通过数据驱动动态创建Command,要么给Co...原创 2019-04-01 19:53:38 · 1314 阅读 · 2 评论 -
SMM开发日志:第一次重构(Unity与游戏逻辑系统解耦,中介者、状态等模式的运用
起因越深入阅读《设计模式与游戏完美开发》后,越发感到现在手头这个项目的代码架构可以有改进的地方。思考了一段时间后,整理了下当前的架构,决定将书上的一些优秀的实现融合到这个项目里。思考重构前的问题:1、很多系统功能由挂载场景中的GameObject的继承自MonoBehaviour的Script实现(我命名为XXController,原意是照搬以前javaee的MVC模式)。其问题在...原创 2019-04-01 18:22:23 · 602 阅读 · 0 评论 -
改造Fungus源码及使用教程:建立数据驱动脚本系统的尝试(一)
起因先前面试某厂时,面试官说我简历上用的那个可视化编辑剧情插件Fungus在大型游戏里是不实用的。因为有大量剧情的话,一个个去创建、移动、调参会很慢。应该使用数据驱动的剧情脚本系统。我认为说得挺有道理的,到后面写复杂剧情的时候确实比较费事。不过我并不想抛弃Fungus那种直观的可视化剧情,还有它已经写好的各种组件和指令。思考于是我就想着在Fungus上扩展一下,根据一定格式的脚本批量生成B...原创 2019-03-18 12:39:11 · 2250 阅读 · 0 评论 -
Unity 一种对象池的实现
在Untiy中,如果在短时间内有大量GameObject被创建销毁,会造成性能下降,游戏卡顿。根据线程池的思想,我们可以建立一个对象池来暂存暂时不用的GameObject,要用时再从对象池取出,实现GameObject的复用,减少创建,销毁。以最近项目中的弹幕池为例。要点:1、编写弹幕池类,其拥有一个队列作为池来保存对弹幕GameObject的引用。2、将该类设为单例,避免多次创建,管理...原创 2019-03-15 19:46:44 · 635 阅读 · 0 评论 -
UGUI中一种由孩子元素决定大小的嵌套Layout的实现方法
Content Size Fitter的Horizontal Fit、Vertical Fit用于父元素去适应孩子元素。Vertical\Horizontal Layout Group 的 Child Controls Size用于让孩子元素自己控制自己的大小(即保持孩子原大小)。Child Force Expand用于强制孩子元素扩展到父元素大小。具体参考:https://docs.un...原创 2019-03-11 13:15:50 · 2190 阅读 · 0 评论 -
Unity Singleton 单例模式的实现
以前一直用着以下博客的单例模式的实现方法。Unity Singleton 单例类(Unity3D开发之二十)https://blog.csdn.net/cocos2der/article/details/47335197今天看了《剑指Offer》P32实现单例模式的面试题2后,发现原来上面那种实现是书中提到不好的解法2。原因是使用了加锁这个比较耗时的操作,而且其实在实例创建后就不必再执行加锁...原创 2019-03-10 20:40:22 · 3545 阅读 · 0 评论 -
Image和RawImage
ImageProperty: Function: Source Image 用于展示的纹理图片 (类型必须是Sprite). Color 给图片混合上颜色(可以用来改变明暗,色调) Material 图片渲染材质 Raycast Target 能否作为射线碰撞的目标 Preserve Aspect 确保图片保持当前的长宽比 Set N...原创 2019-03-10 12:54:27 · 3740 阅读 · 0 评论 -
对delegate、Func、Action、event、UnityEvent、UnityAction委托一族的总结
对委托相关知识的总结,参考了一些博客再加上了自己的理解。delegate、Func、Action、event、UnityEvent、UnityAction委托一种可用于封装命名或者匿名方法的引用类型。 它的存在说明变量不仅能存储值,对象的引用,还能存方法。只不过声明时前面加个delegate。与函数指针不是同个概念。类似于 C++ 中的函数指针,而且是类型安全和可靠的。可用于简化...原创 2019-03-08 18:01:24 · 3470 阅读 · 0 评论 -
Unity跨平台(安卓)使用C#读取Excel的遇到的坑
昨天把项目打包发布在安卓平台时,发现一个功能的效果出错了。排查以后,发现是使用以前用的C#读取Excel的工具类ExcelReader读出来的数据是空的。(https://blog.csdn.net/KeeeepGO/article/details/83186377)原因是在安卓平台上不能直接使用string filePath = Application.streamingAssetsPath...原创 2019-03-03 09:39:52 · 2618 阅读 · 6 评论 -
《Unity Shader入门精要》的有关渲染流水线的知识总结
《Unity Shader入门精要》的有关渲染流水线的知识总结 名词解释顶点:包含一个几何顶点的位置,法线方向,颜色等信息的数据图元:顶点的集合(点,线,多边形)网格:图元的集合片元:一个像素的状态(屏幕坐标,深度,法线,纹理坐标等用于计算该像素最终颜色的信息)集合光栅化:把顶点数据转换为片元的过程。将图转化为一个个栅格(像素)组成的图。本质是坐标变换、几何离散化。(转...原创 2019-02-25 20:37:36 · 192 阅读 · 0 评论 -
Unity踩坑记(一)添加外部库(dll)到项目中
起因:要写读excel表的功能,百度一下说可以用ExcelReader过程:根据别人博客放出这个库的github地址下过来后,只有源代码的,没有dll,不知道怎么用。然后去nuget下,下了个高版本的,报错.net版本不对,就换低版本的。接下来就出现了神奇的一幕:在vs中写好引用该库的代码生成解决方案成功后,切换到Unity界面,给我报错:“Assets/Scripts/Tes...原创 2018-10-17 12:58:34 · 4787 阅读 · 1 评论 -
ugui的弹出效果和控制scrollview的滚动
起因用ugui的scrollview做了一个游戏内信息提醒列表。然后想在每次出现新信息时,自动弹出列表,并且内容滚到底端。思考与工作弹出弹回效果就是修改RectTransform的anchoredPosition。它是异步的动画,不想放update,不想用协程,可以用DoTween等动画插件的方法,例如DoTween的DOAnchorPosX。还有要保留初始值RectTransform...原创 2019-04-07 09:30:21 · 1188 阅读 · 0 评论