灵活就业生活记录

Posted on Tue 22 February 2022 in 摸鱼

2022年2月21日傍晚,我正式成为一名灵活就业人员(指失业)。

直接原因是2月18日无预警开启的无限期每日无偿加班2小时活动。

持续记录,直到开始下一段旅程。

DAY0 21日

晚上,再次重写了周末整理的简历。

搞到很晚。

DAY1 22日

第一天,睡了一天,爽

摸了。

DAY2 23日

第二天,睡了半天,爽。

下午去做了核酸,又推进了一下SealDice,我打算赶紧把当前迭代结束,并开始下一步的学习计划。

完成了赋值语句。

DAY3 24日

第三天,睡了半天减2小时。

下午出门坐了一会,继续推进项目,完成了“跑团记录”这个功能。

肯德基疯狂星期四,但是感觉没有什么好吃的,而且人真多。

咖啡卡还挺实惠,味道还行。

DAY4 25日

Comming soon


Blender 添加相对于骨骼的位置约束

Posted on Wed 09 February 2022 in Blender

img

img


我的第一张Blender作品

Posted on Sun 23 January 2022 in Blender

设定大概就是废土中的一座移动工厂吧。

背景是近未来废土,小型核聚变核心得到广泛应用,材料学也得到了发展。

所以末世的人们捡辣鸡拼一拼,就造出了这种巨大的移动载具(长度大概在300米)。

感谢创意齿轮的Leo老师,我的组长,以及诸位同学。

比较业余,做的不好,但也算是尽力而为了。

image-20220222022439071

image-20220222022516506

image-20220222022521743

image-20220222022543892


Blender 抖音散射效果

Posted on Thu 09 December 2021 in Blender

img


blender 体素化为固定大小方块

Posted on Sun 28 November 2021 in Blender

remesh的blocks模式可以进行效果比较好的体素化,但是不能指定大小。配合geometry nodes做程序化生成会导致这种现象:

img

scale缩放,然后ctrl+a应用缩放,房子就散架了:

img

同样的,直接拉长房子也会导致散架

img

这是因为remesh出的块大小不固定,有时是近似于1x1x1,有时等比更大,有时可能是1x1x2。

方案1:

用remesh修改器,blocks模式

img

建一个固定大小的box 和要体素化的图形join起来,不能乱改最外层box的大小。

https://blender.stackexchange.com/questions/41665/is-it-possible-to-make-the-remesh-modifier-block-size-constant

方案2:

不用修改器。

直接在gn中随机生成足够多的点,然后通过snap选点

https://lesterbanks.com/2021/03/how-to-voxelize-objects-with-geometry-nodes/

方案3:

直接使用voxel模式的remesh

img

但是边角会被弄成圆滑过渡

img

以至于这样

img

最佳方案:

用remesh修改器,blocks模式。

此时当前的单位体素大小和当前mesh的bounding box size以及scale相关,因此实际上是可以计算出来的。

反过来想,我们已知bounding …


Continue reading

Blender 制作碎裂效果并导入unity

Posted on Fri 26 November 2021 in Blender

首先,摆一个地面和要碎裂的物体

img

注意被碎裂的物体不能有面的穿插,例如互穿的两个cube,ctrl+l并在一块是不行的,可以用boolean的union来做处理。

首先我们来做碎块。

在blender的插件列表中搜索Cell Fracture并启用这个插件。

img

选中立方体,按f3,输入cell,调出菜单开碎

img

最简单的设置只要改两个选项,Source Limit 是碎出的块数,Noise是随机扰动

img

点击OK,一个碎裂物体就生成了,并和原本的叠在一块

img

删掉原物体,Shift+A添加一个空对象

img

空对象在场景中显示为两个十字叠起来的坐标轴

img

将碎块parent到空对象上。

然后我们将所有碎块加上物理模拟。

选中所有碎块(不要包含空对象),点选物理选项卡,再点击Collision和Rigid Body

img

展开Collision,调整一点摩擦力

img

然后做这个操作复制刚体到所有碎块上。

img

这样碎块的物理就设置好了。

现在物理可以运行了,但是会直直的掉下去。所以我们还需要做一个地面。

选中plane,依然是Collision和Rigid Body两件套。随后展开Rigid Body的设置,Type改为Passive。

img

现在按空格键播放动画,就可以看到掉落碎裂的过程了。

img

这样一来,效果已经实现 …


Continue reading

Web可编辑的贝塞尔曲线 easing 函数

Posted on Fri 26 November 2021 in 游戏开发

网站:

https://cubic-bezier.com/#.34,1.56,.85,1.31

img

或 https://codepen.io/osublake/pen/OyPGEo

img

再使用这个脚本生成Easing函数

https://gist.github.com/OSUblake/4d9f0caf980f4ee492ef

img

用法:

TweenLite.to(path, 2, { ease: CubicBezier.config(1, 2, 3, 4) });


Blender collection instance 的 origin 修改

Posted on Sun 21 November 2021 in Blender

默认在整个场景的原点,如果想要修改到collection主物体点,可以先设置cursor到物体位置,然后如此操作:

img

img


已知固定初速和落点的火炮抛物线计算

Posted on Wed 17 November 2021 in 游戏开发

应用于以下场景

一门火炮在高度h2,目标在高度0

火炮开火后,弹药初速度固定为v0,求此弹道公式。

答案

已知 l (发射距离),h2(起点高度差),v0标量速度

img

wolframalpha

这个公式的解析解为

img

转换为代码:

let gravity = 9.8;



function posCalc(endX: number, x: number, h = 0) {

  const v0 = 13;

  let l = endX;

  let g = gravity;

  let h2 = h;

  let angle = Math.acos(Math.sqrt(-Math.sqrt(0 - l …

Continue reading

Android 渠道包几种技巧

Posted on Tue 02 November 2021 in 游戏开发

1. 架构

建议的架构是,游戏本体作为一个library module,每一个渠道作为一个app module,这样较为简单。

img

2. 编译缓慢

给gradle换国内源

    repositories {
        maven{ url'https://maven.aliyun.com/repository/google' }
        maven{ url'https://maven.aliyun.com/repository/public' }
    }

3. 命令行传入编译参数

gradlew :app:buildRelease -Papp_name=我的游戏

项目的总build.gradle中写

ext {
    app_id = project.hasProperty("app_id") ? project.property('app_id') : 'com.example.laya_template'
    app_name = project …

Continue reading

Blender box cutter 记忆

Posted on Tue 02 November 2021 in Blender

D 菜单

shift + d 另一个菜单

t 实体化

img

shift + t 锥化

img

shift+v

img


Laya粒子与Unity的一点不同

Posted on Tue 26 October 2021 in 游戏开发

1. 当多个粒子呈现父子关系,父节点的play并不会影响子节点,这和unity不同。

laya

LayaAir/ShurikenParticleSystem.ts at master · layabox/LayaAir (github.com)

unity:

Unity - Scripting API: ParticleSystem.Play (unity3d.com)

2. 而laya粒子节点从场景树上remove之后再addChild又会重新播放,是因为:

LayaAir/ShuriKenParticle3D.ts at 23ec5dc957ac9de14d2bde9eca6673dde7e0d4cc · layabox/LayaAir (github.com)

/**

* @inheritDoc

* @override

* @internal

*/

_activeHierarchy(activeChangeComponents: any[]): void {

​ super._activeHierarchy(activeChangeComponents);

​ (this.particleSystem.playOnAwake) && (this.particleSystem.play …


Continue reading

Blender

Posted on Sat 09 October 2021 in Blender

修改名字,同名的融球是一组。


Blender LowPoly资源

Posted on Fri 01 October 2021 in Blender

调色盘

https://lospec.com/palette-list

用Unity制作isometric(等距视角)风格游戏的插件与资源精选

https://cowlevel.net/article/2111554

https://itch.io/game-assets/tag-3d/tag-car/tag-low-poly

polygon runway系列

https://www.bilibili.com/video/BV1t4411L7sm


blender渲染当前3d viewport

Posted on Tue 14 September 2021 in Blender

view->viewport render image


blender按数字键会隐藏collection如何解决

Posted on Sat 11 September 2021 in Blender

img

向下滚动

img


Blender用布尔倒模

Posted on Sun 29 August 2021 in Blender

先做一个结构,并将外框拉大

img

新建一个cube缩小到小于外框,这样竖着插进来

img

img

进行一个布尔

img

应用修改器

img

这样一来,比如我新建一个cube,就可以用这块挖出一个复刻的结构

img

我还可以这样

img

img


Blender多色荧光棒

Posted on Fri 27 August 2021 in Blender

image-20220222013409975


Blender一种隔位环选的办法

Posted on Mon 23 August 2021 in Blender

目标

img

直接用select desert会这样

img

可以先选上面的部分

img

然后shift+g -> normal

img

img

存为顶点组

img

最后发现……其实可以用面去选择。


CGJ 2021 (Gamjam) 赛后回顾

Posted on Sun 08 August 2021 in 杂谈

不知不觉,CGJ已经是一个月前的事情了。

那是一个月前的周五,下午三点半。

把手上改了最后一版的游戏包匆匆交给发行之后,急急奔向了天府软件园。去参加CGJ 2021。

赛前

这是一个48小时,围绕官方当场给出的主题做游戏的活动。

这是我第一次打线下的GameJam。打完之后我觉得线下比线上更有趣,大概是多了一种叫做氛围的东西。

场地是这里一家公司提供的,现场有大概多支队伍,每个小队有一个小单间,房间有点挤但也不错了。

赛程是前台签到 -> 规则讲解 + 放出题目 -> 游戏制作 -> 作品展示。

[前台]

公司还为参赛者准备了一些礼物,签到之后发一个。

礼物是一些国产动漫的毛绒玩具,罗小黑啊 尸兄啊,还有我就叫不上名字了。

我进场的时候,正看到一个哥们手里被发了一个Q版的某动漫女主角,

然后那哥们犹豫了一阵,说道:“不要二次元”。

一时间空气中充满了快活的气息。

[礼物、标牌]

时间回到比赛前一周。

我们队伍是赛前组的,一半人在微信群,一半人在QQ群。

总共是5个人,一个3D美术大佬是队长,算我在内2个开发,一个会写一些代码的策划,还有一个好像没搞清状况的哥们,说自己是策划。

赛前我和3D美术大佬见了一面,那个没搞清状况的策划老兄说自己能来 …


Continue reading