- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 Unity技能范围检测 --
一些技能是通过物理的碰撞检测来判断的,一些则是通过这样的范围来检测的。众所周知moba中的每个英雄都有一套自己的技能的攻击范围方式,有如廉颇一样的圆形范围,有火舞一样的直线范围,吕布的扇形方天戟范围,还有上图的牛魔大招时的矩形范围等等。判断一个点是否在两条线段之间夹着就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度。小菜的学习研究中,将这些自己算法检测的攻击范围划分了几种类型,并做了几个demo的演示。扇面和扇形的检测很相似,不同的只是多了一层距离的检测。
2024-10-31 17:45:14
1235
1
转载 Unity ECS(五)了解System执行顺序
了解一个框架最好的途径之一就是从它的执行顺序入手。(这里做一个勘误,在第三篇中SpawnCubeSystem的[UpdateInGroup(typeof(SimulationSystemGroup))]标签应该为[UpdateInGroup(typeof(InitializationSystemGroup))])虽然就结果上来说没什么区别,但是在ECS流程上是错误的)在前文中,我提到了System是由World来管理的,但是World是怎么知道System的执行顺序的?为什么在我们的HelloWor
2021-01-21 10:31:30
1706
转载 Unity ECS(四)ECS组成概念
接下来的内容将对ECS的三个组成部分由浅至深的进行阐述,并为接下来的ECS系统流程抛砖引玉,没有弹射起步,请以放松的姿态阅览。通过之前的HelloWorld程序,相信大家已经对如何编写一个ECS程序有了一个大致的概念,如果仍然不够清晰,也不用太在意,只需要牢记:System根据Component去更新Entity引用的数据这一点。我再进行特别讲解。除此之外:把编写ECS程序想象成“我是在管理成块成块的数据(Data)”,而不是“管理对象(Object)”,这样的思维方式转变是非常重要的。一.
2021-01-21 10:27:09
1129
转载 Unity ECS(三)HelloWorld!ECS!(2)
完善HelloWorldECS程序在前文中,我们编写了一个由1万个方块实体组成的方块阵列,并在NoiseHeightSystem下呈噪波运动。也提到了,程序仍然存在问题,本章将解决这些问题,使之成为一个纯粹的ECS程序。 利用Monobehaviour做数据输入源(CreateCubeEntity脚本中的字段 int row 与 int colum),并不符合ECS的理念,这是基于快速实现效果的妥协。 由于快速实现效果的妥协,使用了固定数据和System结合在一块了,应当将它们剥离出去。
2021-01-21 10:23:40
645
转载 Unity ECS(二)HelloWorld!ECS!(1)
从方块开始构建第一个ECS程序为了方便利用传统的MonoBehaviour编程方式的人员更容易理解上手,本文将不会从纯ECS开始,部分源仍使用MonoBehaviour的组件来作为数据输入源。在这篇文章中,我将会编写这样一个由海量方块组成的噪波运动图形来引导你制作第一个HelloWorld ECS程序。并告诉你ECS是如何体现它的优势。一万个Cube进行噪波运动如果是初次使用ECS的人,可以先不用去细想每一个API的含义或者作用是什么,只关注过程则非常简单,但尽量要充分理解ECS..
2021-01-21 10:11:12
620
转载 Unity ECS(一)了解ECS与DOTS
转自https://connect.unity.com/p/unityecs-yiECS是什么?可以做什么?为什么ECS成为我的选择?什么是ECS(实体组件系统)?其实ECS的概念早就诞生了,但是它是因为守望先锋才逐渐被人所知。(暴雪的守望先锋是基于ECS模式设计的,用于改善在大场景下多角色运算的效率)ECS是一种软件架构模式,由三个元素组成:实体(Entity),组件(Component)和系统(System)(看起来和MVC很相似)。游戏程序分为这三个主要元素,并且通过定义每个系..
2021-01-21 10:04:50
2404
1
原创 Unity2018之后与AS交互的几种方式探索和踩坑
这里只简单的描述步骤,主要是坑点第一种 AS导出Jar包到Unity1,新建一个AndroidStudio空项目,包名要和Unity3D的包名一样2,导入unity的jar包到空工程3.修改MainActivity继承UnityPlayerActivity4.修改build.gradle 导出jar坑点::很多教程没明确要求 要在AndroidMainfest里把默认启动的Activity改成MainActivity ,如果没改在unity中get current...
2020-07-16 19:10:08
976
原创 Android Studio 导出 jar
1. File--->New Module--->Android Library2.打开右侧 Gralde 窗口:你的库名称--->Tasks--->other--->createFullJarRelease (鼠标双击)
2020-02-24 10:16:40
298
原创 android studio主moudle无法调用依赖moudle里的jar包
关于这个问题,首先3.0以前gradle中使用的是compile来引入依赖,升级到3.0后studio会自动提示Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.之所以无法调用问题就出现在implementation和api的区别上implementatio...
2020-02-21 14:15:54
702
原创 unity, AnimatorCullingMode踩坑
首先附上找到的前人的坑https://www.cnblogs.com/wantnon/p/5212648.htmlunity, AnimatorCullingMode的一个bug我在一个fbx节点上添加了一个Animator,CullingMode设置为CullUpdateTransforms(即如果没有激活的SkinnedRenderer就不更新骨骼动画),然后我将这个...
2019-11-01 18:57:27
7934
3
原创 UnityMono对象的生命周期
父物体的Awake执行完后会立即执行onEnable 之后会等子物体的Awake和onEnable 执行完毕后 统一执行Start 函数........................................采坑日志
2019-07-26 00:20:44
357
转载 Unity自动打包
自动任务构建通常可以在桌面双击 Unity 图标,启动程序,但是,也可以通过命令行(例如,MacOS 终端或 Windows Command 窗口)运行程序。若使用这种方式启动 Unity,它将可以接受启动命令和信息,这将非常有助于测试套件、自动构建和其他制作任务。在 MacOS 中,可以在终端 (Terminal) 输入以下内容,启动 Unity:-/Applications/Uni...
2019-07-12 15:38:45
593
转载 MemoryStream类
MemoryStream 是一个特例,MemoryStream中没有任何非托管资源,所以它的Dispose不调用也没关系。托管资源.Net会自动回收MemoryStream继承自Stream类。内存流的好处是指针可以晃来晃去,也就是支CanSeek,Position,Seek()。任意读其中一段。在内存流中有必要了解一下SeekOrigin枚举枚举成员 成员值 描...
2019-04-04 13:17:21
735
转载 Lua 的os.date()
Lua os.date()os.date##原型:os.date ([format [, time]]) 解释:返回一个按format格式化日期、时间的字串或表。usage##参数格式: 由原型可以看出可以省略第二个参数也可以省略两个参数,只省略第二个参数函数会使用当前时间作为第二个参数,如果两个参数都省略则按当前系统的设置返回格式化的字符串,做以下等价替换 os.date() ...
2019-03-26 16:56:55
13907
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人