//================================================关于梦境
最近经常做一个相同类似的梦。就是我又在读大学本科了,然后要考研。但是考研需要复习的辅导书,然后我就去书店里找,结果所有的书店里都没有。问别人也是没有辅导书,说是现在就是没有辅导书了。没有辅导书,我要怎么复习啊。急啊,然后就急醒了。
类似的梦做了很多次。
今天想了想,自己做独立游戏,关于游戏设计的书其实是有的,自己也读了几本。但是关于怎么搞工作室,怎么创业,自己真没有仔细研究过有没有靠谱的书籍。虽然之前也翻过一些创业的书,但是好像都是泛泛而谈,不能与辅导书相提并论。这样一想,自己现在的情形真的和梦里一模一样。
但是,没有辅导书就不行了吗?并不是,把教科书翻透,自己做练习多做笔记,仍然是行得通的。所以,这大概就是我接下来应该走的路吧。(顺便有空再去书店转转)
//================================================ai一则
最近体验了一堆生成式AI。
关于代码编程的辅助,最近kimi还有codegeex都有在用。实际用下来感觉kimi还是要比codegeex好用不少的。
Coordinate[] coordinates4 = new Coordinate[]{ new Coordinate(rollingData1.getZhuangX(), rollingData1.getZhuangY()), new Coordinate(rollingData2.getZhuangX(), rollingData2.getZhuangY()), }; GeometryFactory gf = new GeometryFactory(); Geometry gfLineString = gf.createLineString(coordinates4); //缓冲区建立 BufferOp bufOp = new BufferOp(gfLineString); bufOp.setEndCapStyle(BufferOp.CAP_BUTT); //获得线段对应的轨迹多边形 Geometry bg = bufOp.getResultGeometry(lengthOfVehicle / 2); Coordinate[] pointList = bg.getCoordinates();
为什么pointsList长度为5?
codegeex怎么回答的:
因为缓冲区的大小是线段长度的一半,而缓冲区的效果是扩充线段,使其成为一个矩形。在这个例子中,线段的长度为100,所以缓冲区的大小为50。而缓冲区的大小是线段长度的一半,所以缓冲区的高度和宽度都是25。这样,缓冲区的外接矩形就有上下两个点,再加上线段的两个端点,一共是5个点。所以pointList的长度是5。
kimi怎么回答的:
在您提供的代码片段中,首先创建了一个包含两个Coordinate对象的数组coordinates4,这两个对象分别代表两个点,然后使用这些点创建了一个LineString几何对象。接下来,通过BufferOp类为这个线段创建了一个缓冲区,并且设置了端点样式为BufferOp.CAP_BUTT。
当您调用bufOp.getResultGeometry(lengthOfVehicle / 2)时,JTS为线段的每一端创建了一个半圆形的缓冲区(由于设置了CAP_BUTT,端点被截平)。因此,对于线段的每个端点,都会生成两个新的点(一个在端点的左侧,一个在端点的右侧),以及线段的中点。这样,原本的两个点加上新增的两个端点和中点,总共会有5个点。
具体来说,pointList数组中的点的顺序可能是这样的:
- 线段的第一个端点(左侧缓冲区)
- 线段的第一个端点(右侧缓冲区)
- 线段的中点
- 线段的第二个端点(左侧缓冲区)
- 线段的第二个端点(右侧缓冲区)
这就是为什么pointList的长度为5的原因。每个端点都通过缓冲区操作被复制了一次,加上线段的中点,共同构成了一个轨迹多边形的顶点列表。这个多边形由线段及其缓冲区共同围成,可以用来表示车辆在一定长度内的可能行驶轨迹。【3】【4】
//体验真的好不少
(又追问了一下kimi)
bufOp.setEndCapStyle(BufferOp.CAP_BUTT); 这行代码是在使用JTS Topology Suite库进行几何操作时,设置缓冲区操作的端点样式。在创建缓冲区时,特别是在线状几何对象(如LineString)的端点处,可以有不同的处理方式,这会影响缓冲区的几何形状。
BufferOp类提供了几种端点样式选项,其中CAP_BUTT是其中之一。下面是每种端点样式的简要说明:
- CAP_BUTT:这个选项表示端点将被截平,不会有额外的圆形或方形帽。这意味着缓冲区会在每个端点处形成一个直角,而不是圆形或方形的延伸。这通常用于希望缓冲区尽可能紧凑,或者不希望在端点处有额外空间的情况。
- CAP_ROUND:这个选项会在端点处创建一个圆形的帽,使得缓冲区看起来更加平滑。这种方式适用于希望缓冲区边缘更加圆润的场景。
- CAP_SQUARE:这个选项会在端点处创建一个方形的帽,使得缓冲区在端点处有直角的延伸。这种方式适用于需要方形缓冲区边缘的场合。
在您的代码中,选择CAP_BUTT意味着在创建缓冲区时,线段的端点不会被圆形或方形帽覆盖,缓冲区会在端点处直接结束。这可能会导致缓冲区的形状在端点处有一个明显的“切面”效果。
当您使用bufOp.getResultGeometry(lengthOfVehicle / 2)创建缓冲区时,JTS会根据设置的端点样式生成相应的几何形状。由于CAP_BUTT没有额外的帽,所以缓冲区会在每个端点处形成直角,这可能是导致pointList长度为5的原因之一。如果使用CAP_ROUND或CAP_SQUARE,缓冲区可能会包含额外的点来形成圆形或方形的端点帽。
cap_butt
cap_round
===================================================AI第二则
技能升级系统类似英雄无敌3。有10种技能树,每种技能树10个技能。每次升级随机提供4种技能树里面各1个可以学习的新技能供玩家选择。玩家从这4种技能树中,选择1个新技能学习。已经学会的技能不会再出现。如果一种技能树里面的10个技能玩家都已经学会,则这种技能树不会再出现。如果,大于等于4种技能树未掌握,则必须出现4种不同的技能树。每次学习后,从剩下的技能中进行下一次选取。如果一个玩家要掌握其中1种技能树的全部技能。假设只要出现玩家想要掌握的那一种技能树的技能,玩家就一定会选择学习。至少要升几级?至多要升几级?平均期望要升几级?
这个问题问了,文心一言,360智脑,kimi。回答了8次以上,都回答不正确。感觉ai还是需要再好好训练和研究,如果只是一个黑盒,我是不信任它的。
ps:
//===============================================
24.3:
开发的时候发现java的插件大多是免费的,而且非常丰富。Unity的插件则既要收费又很少。问了一下AI:
开发成本和维护:Unity 插件通常涉及复杂的图形渲染、物理模拟和用户交互等方面,这需要高水平的专业知识和大量的开发时间。相比之下,Java 插件可能更侧重于后端逻辑、数据处理和网络通信等,相对来说开发成本较低。因此,Unity 插件的开发者可能会为了收回成本和获得收益而选择收费。
市场需求:Unity 是一个广泛用于游戏开发和交互式应用的平台,对高质量、高性能的插件有着较高的需求。这些需求推动了专业插件的开发,而这些插件往往需要付费才能获得。而 Java 作为一个通用编程语言,其插件和库更多地是为了解决通用问题,因此市场上有大量免费的开源解决方案。
商业模式:Unity 插件市场的商业模式往往依赖于销售和授权,开发者通过出售插件来获得收入。而 Java 社区有强大的开源传统,许多开发者和组织愿意投入时间和资源来开发免费的插件和库,以促进技术的共享和创新。
用户群体:Unity 的用户群体主要包括游戏开发者和独立开发者,他们可能更愿意为提高开发效率和产品质量的插件付费。而 Java 的用户群体更加广泛,包括企业级开发、Web 开发、移动应用开发等,这些用户可能更倾向于使用免费或开源的解决方案。
版权和许可:Unity 插件的版权和许可通常受到严格的控制,开发者需要购买授权才能合法使用。而 Java 社区中,许多插件和库采用宽松的开源许可协议,允许用户自由使用和修改。
生态系统:Unity 有一个相对封闭的生态系统,插件和资源通常需要通过 Unity Asset Store 或其他渠道购买。而 Java 有着庞大的开源生态系统,有大量的免费资源和社区支持,这使得 Java 插件更容易获得。
//==============================
23.9:
今天刚看到一个新闻,说是unity要根据安装量收费了。
这么一想,单机独立游戏是不是更难做了。
正好最近在研究hdrp,感觉这hdrp是真的难用,怎么能搞得这么复杂的,需要设置这么多地方。效果也没有感觉有多好。
是不是可以考虑这样,一个思路,用unity做原型。之后上线换成ue啊。现在unity画质方面真觉得不如ue好用了,价格也这个样子。
可以说,HDRP在体验方面优化得非常糟糕。今天再次深刻感受到。一个WEBGL的项目,用默认工具转成HDRP,画面效果竟然比原来差了几个档次。一堆设置明明是可以做成默认的,不知道为什么像鸡肋一样开放在那里。
暂无关于此日志的评论。