blender制作tile:叠加所有tile

谷歌半天也没找到正确的方法,如果挨个移动缩放,几百个tile,工作量很大。以下操作步骤是自己在多次尝试后,得到的方法,记录下来,以免忘记。

  1. 把所有正方形的边,标记为缝合边
  2. 选中所有面,展开uv
  3. 点击uv菜单,选择“重置”

这样所有正方形,都重叠到一起,并铺满uv。然后进行适当的缩放,放置到合适的贴图位置即可。

Note:重叠后的正方形的朝向是一致的,保证了所有tile的铺设方向一、连贯。
效果:

UDP 打洞

NAT Punchthrough overview
What is NAT?

NAT is short for network address translation. It is used by routers to map addresses behind the router to a single destination address, using different ports. For example, if you have two computers behind a router, but only one ISP, then both computers will use the same IP address, but with different source ports than what the application actually assigned. The router keeps a lookup table of what mappings it provides, so when a remote computer replies it is routed to the correct local computer behind the NAT.
继续阅读“UDP 打洞”

c# PINVOKE传递bool类型的注意事项

自己c++代码传递的明明是false,到了c#却变成了true。虽然明知错误发生在参数传递的过程中,却是很难找到原因。

c语言中的bool类型是整数(4个字节),c++中是一个字节,pinvoke 中 bool 默认是4个字节。所以c++代码调用c#函数时,传递bool类型就会出现错误。

方法也很简单,在c++中声明函数时,用int来代替bool。c#代码不用修改,代码就能正常运行了。

游戏中的AOI

前言

AOI(area of interest),它是MMO游戏中一个极其重要的概念,主要解决游戏中多人同屏的问题。本文并不打算去讲AOI相关的算法,如九宫格,十字链表,六边形网格之类的具体算法实现,因为此类文章网络上已经有很多了。虽然大多数开发者都接触过AOI,但是我发现其中很多人并没有真正深入领会AOI的本质。因此本文会从设计的角度来阐释什么是AOI,为什么要有AOI,以及如何去设计一个高质量的AOI系统。

继续阅读“游戏中的AOI”