丁小未

学无止境

  • 主页
  • 随笔
  • 美文
  • 工具
  • iOS
  • Unity
  • 设计模式
  • 社区交流
  • Shader
所有文章 友链 关于我

丁小未

学无止境

  • 主页
  • 随笔
  • 美文
  • 工具
  • iOS
  • Unity
  • 设计模式
  • 社区交流
  • Shader

游戏中常用的运动曲线

2020-05-10

前言

抛物线运动在游戏开发中是比较常用的一个知识点,典型的射击类游戏炮弹的运动轨迹,我们就来回顾一下基本的物理公式吧,s = vt+1/2 a t * t。为了让策划可以调整炮弹的运动曲线轨迹,就做一个方便调节的工具。还有一种曲线游戏中比较常用的就是贝塞尔曲线,例如我做过的一个需求就是轰炸机飞行轨迹就用到贝塞尔曲线,这里用的是二阶贝塞尔曲线,下面就介绍这两种常用曲线的应用效果。

工具运行效果

more >>
  • Unity
  • 抛物线运动编辑工具
  • 炮弹轨迹编辑工具
  • 贝塞尔曲线
  • 抛物线曲线
  • Unity

展开全文 >>

ET案例解析

2020-04-27

前言

ET给我们提供了一个寻路的Demo,本章是基于ET5.0分支讲解的,因为6.0的版本目前客户端还不稳定。但5.0的Demo有一个明显的问题就是断线之后再次同账号登录,场景中原来的角色还在场景中,所以第二次登录就出现了两个角色,算5.0还没解决的小bug,一般断线之后的逻辑处理就是场景中的角色原定不动,等角色再次重连然后还控制这个角色,所以场景中的角色应该跟账号绑定,也有人断线是直接删除场景中的角色这样粗暴的处理方式,不过一般不推荐这种方式,会给其他玩家造成莫名其妙消失的感觉。

Demo运行效果

more >>
  • Unity
  • ET案例解析
  • Unity

展开全文 >>

ET学习笔记

2020-04-26

前言

ET是一个基于C# Unity的双端游戏框架,服务器端使用C# .net core开发的分布式游戏服务器端,支持udp tcp websocket协议,是一个非常强大的值得深入学习的游戏框架。

ET优势

  • 分布式服务器
  • 跨平台
  • 单线程多进程
  • 提供协程支持
    C#天生有支持异步变同步语法async和await,这样就能实现所有服务器之间的异步操作变成十分连贯,不用在拆分多段逻辑,大大简化了分布式服务器的开发。

  • 提供类似erlang的actor机制
    ET提供了actor消息机制,实体对象只需要挂上MailBoxComponent消息组件,这个实体对象就成了一个Actor,任何服务器只需要知道这个实体对象的id即可向其发送消息,完全不用关心实体对象在哪个服务器上,原理就是ET框架提供了一个位置服务器,所有挂在MailBoxComponent的实体对象都会将自己的id跟位置注册到这个位置服务器上,其他服务器向这个实体对象发送消息的时候如果不知道这个实体对象的位置,会先去位置服务器查询,查询到位置再进行发送。

  • 提供服务器热更新功能

  • 提供客户端全热更功能
    包括协议、config、ui等

  • KCP、ENet、TCP、WebSocket协议无缝切换
    ENet是英雄联盟所用到的网络库,其特点是快速,并且在网络丢包情况下性能也非常好,经过测试TCP在丢包5%的情况下,moba游戏卡的不行,但使用ENet,丢包20%仍然不会感到卡,非常强大。框架还支持KCP协议,KCP也是可靠的UDP协议,据说比ENet性能更好,使用KCP需要自己加心跳机制,否则20秒没收到包,服务器就断开连接。协议可以无缝切换。

  • 服务器支持repl,也可以动态执行一段新代码
    这样就可以打印出进程中任何数据,大大简化了服务器端查找问题的难度,开启repl方法,直接在console中输入repl回车即可进入repl模式。

  • 打包工具
    ET框架自带一整套打包工具,完全傻瓜式。一键打包,自动分析共享资源,对比md5更新。

  • 其他工具

看到这里是不是很心动了呢?那就继续往下深入学习吧!

more >>
  • Unity
  • ET学习笔记
  • Unity

展开全文 >>

VisualEffectGraph入门与实践

2020-03-26

前言


相信开发者们已经注意到Unity在最近的版本中进行了很大的改动,例如:新的开发模式DOTS、新的粒子特效系统、新的渲染管线URP、新的输入系统InputSystem和新的Shader系统ShaderGraph等等。对于开发者来说,Unity朝着更加方便,更加高效的开发方向发展显然是件好事。

本文所要讲解的正是新的粒子系统Visual Effect Graph(由于个人习惯,笔者会简称为VFX),由3W原则入手来介绍VFX,它是什么?为什么要使用它?最后着重介绍了我们要如何使用VFX。

more >>
  • Unity
  • VisualEffectGraph
  • Unity

展开全文 >>

【读书】能力陷阱

2020-02-29

前言

公司举办了一个线上读书营,我是特别惊喜也特别积极,自我感觉随着工作几年的认知认为读书对整个人的发展特别重要,白岩松老师说”为什么要推荐大家读书,因为你们要相信,前方有一个更好的你自己在等着你啊,在这个世界上我还没有看到什么能比读书是成本低收效最大的投资”,去年的一年小结里,我也有将读书列为2020年的年度计划中,正好乘着公司这个读书活动,来开启我的新年读书计划,原本3月1号(周日)晚上正式开始,但我周五就开始找电子书《能力缺陷》,并将其添加到我的电子书库中,计划周末就开始读起来,整个书370页,周六我看了1/3,打算周日八点开营之前,先将整本书读一遍,算是一个预习,有一个初步印象,然后再跟随大部队花两周时间进行深读和交流,一起深挖书中的精髓,和小伙伴们一起分享和交流读书体会,希望让2020年做一个不一样的自己。

more >>
  • 随笔
  • 读书
  • 能力陷阱
  • 随笔

展开全文 >>

EntityComponentSystemPhysicsSamples学习笔记

2020-02-15

前言

打开运行物理相关的案例,第一个感觉就是震撼,太酷了。那个银河系的案例,那么多犹如灰尘状的GameObject,如果是以往的Unity实现方式,那肯定是粒子模拟,不然用GameObject的话会卡成狗的,但用新的Entity模式,却很好的模拟出了粒子系统的效果,确实很酷!

more >>
  • Unity
  • ECS
  • Unity

展开全文 >>

EntityComponentSystemSamples进阶篇学习笔记

2020-02-12

前言

Advanced示例相比较HelloCube稍微难一些,HelloCube是一些ECS的入门案例,进阶篇的学习更利于实战开发。

1.FixedTimestepWorkaround

效果图

more >>
  • Unity
  • ECS
  • Unity

展开全文 >>

EntityComponentSystemSamples学习笔记

2020-02-11

前言

Unity官方发布的EntityComponentSystemSamples是非常不错的案例,值得深入学习以用于项目开发中。

一些特性介绍

ECS会出现好多新的特性需要了解一下:

  • GenerateAuthoringComponent
    类似老的继承Monobehavior,使得脚本能够直接挂在GameObject上,但挂上之后在Inspector上显示会增加一个Authoring后缀,这个attribute会自动创建authoring代码。
  • UpdateInGroup
    指定系统在哪个系统Group组里面,例如:[UpdateInGroup(typeof(InitializationSystemGroup))]
  • ReadOnly
    顾名思义就是只读特性,在IJobChunk里面会经常会看到一些ArchetypeChunkComponentType的字段加上这个特性,意思就是这个字段是只读的,不能被修改。
  • BurstCompile
    使用Burst编译,将代码转成目标机器码,性能会有质的飞跃。

老的特性回顾:

  • DisallowMultipleComponent
    不能在一个对象上重复添加该脚本
  • AddComponentMenu
    在Component菜单栏上添加组件快捷键

HelloCube

1.ForEach

该示例演示(demonstrate)了一个简单的ECS旋转一对立方体的效果,该示例演示了ECS数据和功能分离,数据存储在组件中,功能则被写入系统中。

more >>
  • Unity
  • ECS
  • Unity

展开全文 >>

UnityDOTS技术详解

2020-02-09

前言

2020年新年开了一个非常不好的头,澳洲丛林大火越发觉得全球变暖,两级冰川融化,蝗虫灾害,然而牵动国人的却是跟03年SARS类似的新型冠状肺炎病毒肆虐,已经导致三万多人感染,全国都处于一级戒备状态,搞的人心惶惶。病毒的源头还是野味,人类管不住自己的嘴,还有无良的商贩,这些种种灾害不都是人类自己造的孽?我们一直在谋发展,却不惜以破坏自然生态为代价,打破自然规律,现在开始遭到大自然的惩罚。


上面是跟本文无关的感叹,毁灭人类的不是天灾,而是人祸,是人类自己一手造成的,肯请人类善待大自然!

more >>
  • Unity
  • DOTS
  • Unity

展开全文 >>

Unity新输入系统InputSystem尝鲜

2020-01-23

前言

前端技术更新速度很快,Unity也不例外,Unity推出新的输入系统InputSystem,网传在手机游戏开发上老的UnityEngine.Input其实用着还凑合,但随着VR的兴起,各种VR厂商各种设备输入都各不相同,各种VR设备都有自己的Unity SDK,并且SDK代码风格迥异,所以老的输入系统就不能很好的满足各种变化的需求,于是就有了新的InputSystem输入系统,下面我们来尝尝鲜。

优势和说明

既然推出新功能来取代现有的功能,那说明新功能肯定是有他优势的一面的,据官方介绍说新一代的输入系统具有简单易用、多平台一致和灵活的特性,github上介绍是:”Unity的高效多功能输入系统”,据说会随着2020.1版本正式推出,我们可以在2019.1版本上进行体验。

more >>
  • Unity
  • InputSystem
  • Unity

展开全文 >>

123…11Next »
© 2020 丁小未
  • 所有文章
  • 友链
  • 关于我

tag:

  • Unity
  • ET案例解析
  • ET学习笔记
  • ECS
  • Lua
  • 元表
  • Wwise
  • GC
  • REACT NATIVE
  • 工具
  • Scut
  • UGUI
  • UGUI原理和优化
  • AssetBundle资源更新
  • ScrollRect效果大全
  • XLua
  • iOS
  • 内购
  • Unity设计模式
  • 设计模式
  • IOC
  • 依赖倒置
  • 依赖反转
  • Unity设计模式与游戏开发
  • UML
  • 七大设计原则
  • 行为树
  • 单例模式
  • 设计模式与游戏完美开发
  • 代理模式
  • 简单工厂模式
  • 工厂模式
  • 抽象工厂模式
  • 桥接模式
  • 建造者模式
  • 装饰器模式模式
  • 原型模式
  • Uniyt
  • Android
  • DOTS
  • Final IK
  • 发送邮件
  • Profile工具
  • 性能优化
  • InputSystem
  • iOS10 APP审核
  • VisualEffectGraph
  • Shader
  • 光照模型
  • 随笔
  • 纹理贴图
  • GFFrameWork
  • UI框架
  • 事件系统
  • 自动生成UI模板代码
  • 资源更新
  • ILRuntime
  • C#热更
  • 多功能链式计时器
  • Log
  • 数据结构
  • 算法
  • 持久化存储
  • PlayerPrefs替代方案
  • Unity数据存储
  • 管理器和框架启动
  • 算法,复杂度分析
  • 读书
  • 代码整洁之道
  • 程序员的职业素养
  • 能力陷阱
  • 简历
  • Jenkins
  • 单片机
  • Centos
  • 智能密码锁
  • 自我反思
  • 美文
  • 夫妻不和家必败
  • 网络编程
  • 视频教程
  • 抛物线运动编辑工具
  • 炮弹轨迹编辑工具
  • 贝塞尔曲线
  • 抛物线曲线
  • 老婆是恩人
  • AssetBudnle
  • AssetBundle Manager
  • 金庸小说中的爱情细节
  • 酒
  • 社区交流
  • 优化
  • 金庸小说点评

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

  jsonContent:
    meta: false
    pages: false
    posts:
      title: true
      date: true
      path: true
      text: false
      raw: false
      content: false
      slug: false
      updated: false
      comments: false
      link: false
      permalink: false
      excerpt: false
      categories: false
      tags: true
    • 我的CSDN
    • 我的蛮牛专栏
    • 冯乐乐的blog
    • 宣雨凇的blog
    • 陆泽西的blog
    • 钱康来的blog
    • 柯广的博客
    一名<br>爱写代码的<br>码农