This commit is contained in:
boybook
2025-12-01 20:59:16 +08:00
parent 12738a142c
commit 760c2dd9ad
5535 changed files with 21070 additions and 2021 deletions

View File

@@ -0,0 +1,67 @@
# 手把手教你如何制作发光的生物
>本篇教程获得第一期知识库必看教程奖。
>
>获奖作者:大肥免。
相信很多小伙伴刚开始都有过想做发光贴图的想法叭~肥免也一样!
![image-20230207093419422](./images/0_0.png)
由于肥免刚当开发者一年,所以下面有些专业术语呀或者什么表述不当的地方还望谅解呐。
这里肥免将会分享如何制作发光贴图!!
这里以一个自定义实体进行示例。
## 一、准备好一个自定义实体
如何准备一个自定义实体可以去找找官方教程或者拿编辑器点一点也可以喔~
## 二、修改materials
打开rp/entity/xxx.json文件因为比较方便所以直接引用“蜘蛛”的materials如图所示。
![image-20230207093525249](./images/0_1.png)
## 三、制作发光贴图
这里我们使用blockbench软件将纹理直接导入编辑。
![image-20230207093557631](./images/0_2.png)
选择“画板模式-橡皮擦工具”,调整擦除透明度,擦除后,**越透明则发光越亮!**
![image-20230207093628490](./images/0_3.png)
保存贴图!
## 四、将贴图转为tga格式
小伙伴们可能没有ps用格式工厂也可以直接将贴图进行转换为tga格替换原先的贴图
![image-20230207093704526](./images/0_4.png)
原先的贴图可以选择留下来,但是名称记得要修改喔~
![image-20230207093725550](./images/0_5.png)
由于我们rp/entity/xxx.json 已经引用了文件前缀为 lajitong 的贴图,所以就不用改啦~直接进游戏测试!
## **五、完成**
![image-20230207093807598](./images/0_6.png)
**啊~好亮~好可怕的眼睛!**

View File

@@ -0,0 +1,388 @@
# 发光自定义实体
> 本篇教程获得第一期知识库必看教程奖。
>
> 获奖作者:魔灵工作室-创造者MC。
⚠️警告:本教程默认您会自定义实体。
⚠️警告:本教程最好使用电脑。
✅提示:本教程国际版和网易版通用。
✅提示:本教程最后有示例包可供参考。
让我们先看看本教程的最终效果:
<iframe frameborder="0" height="600" width="800" allowfullscreen="allowfullscreen" src="http://cc.163.com/v/core/externplayer/63e36ff129279d2f4acfc025/"/>
本教程Addon层次结构
```yaml
- TMSLightDemoRP
- animations
- entity
- models
- entity在models文件夹内
- render_controllers
- textures
- TMSLightDemoBP
- entities
```
请先按照上面的文件夹层次结构创建好你的Addon。
首先我们打开Blockbench本教程使用4.4.1版本)新建一个基岩版模型。
![img](./images/1_0.png)
我们随便造个模型。
![img](./images/1_1.png)
生成一下贴图。
![img](./images/1_2.png)
现在是这个样子。
![img](./images/1_3.png)
`ctrl+s`,把模型和贴图保存到指定的文件夹里。
![img](./images/1_4.png)
接下来是重头戏我们要让贴图动起来。这里我使用AE做动态贴图大家也可以用其他软件只要最后你得到一张张的逐帧图片就可以。
![img](./images/1_5.png)
注意本教程不教AE如何使用这不是这个教程的重点请自行学习或用你熟悉的工具软件代替。
用你的贴图新建一个合成注意帧速率和持续时间的设置一般1秒就够了。我们选择25帧每秒也就是说最后会得到25张图片。
![img](./images/1_6.png)
给纹理图片加个效果。简单起见,我这里使用“色相/饱和度”效果,做一个动态颜色变化。
![img](./images/1_7.png)
设置一下关键帧。
![img](./images/1_8.png)
现在播放预览一下,效果应该是这样的。
![img](./images/1_9.gif)
接下来进行输出添加到渲染队列一定要注意红框中的设置我们最后得到的是png序列图片。
![img](./images/1_10.png)
选择输出位置。
![img](./images/1_11.png)
最后点击渲染按钮,得到这些图片。
![img](./images/1_12.png)
这时你可能会产生一个疑问,这么多图片,难道我们每一张都要手动处理吗?太麻烦了吧。
别急,继续看。
打开Photoshop。
![img](./images/1_13.png)
打开我们在AE渲染得到的第一张纹理图片。
![img](./images/1_14.png)
接下来是一个批量处理图片的技巧我们利用Photoshop自带的“动作”功能即可批量处理图片非常方便
打开“动作”面板(找不到的可以在软件顶部菜单栏中的“窗口”中找到)点击红框内的按钮,新建一个动作(你也可以点击旁边的文件夹按钮,新建一个组,再在里面新建一个动作),然后会弹出一个对话框。
![img](./images/1_15.png)
点击弹出对话框右边的“记录”按钮后会看到这里的圆点按钮变红并呈现按下去的样子。此时您在ps内的操作都会被自动记录接下来不要有任何多余的操作哦
![img](./images/1_16.png)
然后开始处理图片,让指定区域发光。(这里处理成发光的方法有很多,我这里只写了其中一种方法)。
切换到“通道”面板点击红框内的加号按钮新建一个alpha通道。
![img](./images/1_17.png)
默认alpha通道是全黑的按一下ctrl+i键让alpha通道全白如下图所示。
![img](./images/1_18.png)
然后我想要的效果是只让模型的东西南北四个面发光顶面和底面不发光我们借助Blockbench看一下纹理的哪些部分是东西南北面。
![img](./images/1_19.png)
然后回到ps里选择RGB通道用矩形选框工具选中东西南北四个面得到选区。
![img](./images/1_20.png)
再点击alpha通道向选区内填充黑色黑色区域即为完全发光区域若填充不同程度的灰色还能有不同程度的发光效果
![img](./images/1_21.png)
回到RGB通道按下ctrl+shift+s进行另存为操作注意此时动作仍然在记录选择保存类型为tga。
![img](./images/1_22.png)
点击保存按钮后弹出如下图所示对话框这里一定要选32位/像素并勾选上压缩非常重要如果不选32位/像素图片会不带alpha通道。如果不勾选压缩图片会有足足1MB的大小
![img](./images/1_23.png)
确定后再观察下动作面板,已经记录了存储动作。然后我们就可以点击红框内的按钮,结束记录了。
![img](./images/1_24.png)
再看一下文件夹注意tga图片的大小如果是1MB那很可能你没有勾选压缩
![img](./images/1_25.png)
接下来是体现“动作”功能的时候了我们把其他未处理的图片都拖入ps中注意关掉ps中原来的图片
待所有图片打开完毕后,点击顶部菜单栏上的`文件`->`自动`->`批处理`
![img](./images/1_26.png)
设置好下图红框内的选项动作7是我刚刚录制的动作的名称
![img](./images/1_27.png)
点击确定按钮ps就会为每一张图片执行咱们之前录好的动作执行结束后去文件夹里看一下把原来png格式的图片删除结果如下。可以用ps打开几个看看对不对
![img](./images/1_28.png)
接下来又是重头戏先理一下思路到这里我们完成了addon的创建模型的制作以及模型纹理的初步处理。
现在我们可以看到这些纹理图片的命名明显不合适我们需要批量重命名这些文件。我这里提供了一个自己用Python写的小工具可实现文件的批量重命名。
下载链接:[python自动化](https://creatormc.lanzoul.com/ie1P70ceaawj)。
下载后解压,我们把这个文件复制到这里。
![img](./images/1_29.png)
使用他需要先把我们的纹理文件夹重命名成`tms`
![img](./images/1_30.png)
然后在资源管理器的地址栏上输入cmd并回车在这个位置打开命令提示符窗口。
![img](./images/1_31.png)
随后输入如下图所示的内容并回车
警告此处需要python2.7的运行环境(下同)
输入:
```bash
python 批量重命名.py template_dynamic_light_entity_
```
这里的文件名后面的参数,表明了重命名文件的前缀,就是说重命名的图片文件的名字的前面的部分,程序会挨个遍历`tms`文件夹内的图片并给前缀名字加上从0开始的编号形成新的名字。
![img](./images/1_32.png)
执行完后再次观察文件夹,我们发现名字都变成我们想要的形式了。
![img](./images/1_33.png)
然后我们再从上面下载的压缩包中复制这个文件到此处。这个程序就如文件名的意思一样,帮助我们直接生成动态贴图对应的自定义实体客户端文件。
![img](./images/1_34.png)
相同的方法,执行下图命令。这里最后一个参数的意思是纹理贴图所在的目标文件夹的路径,和前一个程序一样,在最后会加上编号。
输入:
```bash
python 生成客户端实体定义文件.py textures/moling/template_dynamic_light_entity_
```
![img](./images/1_35.png)
执行完后再看文件夹出现了一个新的json文件。
![img](./images/1_36.png)
把这个文件剪切到表层的entity文件夹里。用代码编辑器这里我用的是vscode萝卜青菜各有所爱打开注意下图黄色框内的内容替换成我们自己的模型和identifier。
![img](./images/1_37.png)
注意路径位置,我这里发生了改变,上图黄色框中的图片路径,不是真实的图片路径,我们去移动一下图片(注意下图红框内的路径)。
![img](./images/1_38.png)
这样两边就对应起来了然后我们改一下materials如下图所示。这是一种发光材料。
![img](./images/1_39.png)
现在就差一点了,加油,坚持就是胜利!
我们现在再打开Blockbench然后打开我们的模型给他加个1秒的空动画这里为什么这么做继续往下看会有解释这里先跟着做注意动画是循环的
![img](./images/1_40.png)
注意是1秒。
![img](./images/1_41.png)
然后回到代码编辑器,把我们的动画加上,让他默认一直播放。
![img](./images/1_42.png)
到这里可能有人已经注意到了,我们还缺一个渲染控制器。
接下来,把上面下载的压缩包内的这个文件拿过来。
![img](./images/1_43.png)
然后按照相同的方法执行,这次文件名后面不需要有参数。
![img](./images/1_44.png)
执行完后,渲染控制器也被生成了。
![img](./images/1_45.png)
我们把渲染控制器放进`render_controllers`文件夹内,然后我们打开观察一下,这个渲染控制器里面到底写了什么。
下图就是生成的渲染控制器,我们可以看到红框内的表达式`query.anim_time * 30`这是什么意思呢?
前面的`query.anim_time`是一个`molang`查询他会返回自当前动画开始以来的时间这就是为什么我们前面需要加个1秒的空动画的原因就是想要让这个查询生效。后面的*30就没什么了只是让他变化的速度快一些达到连续切换图片的效果形成“动态”纹理。
![img](./images/1_46.png)
理所当然的,加了渲染控制器,我们肯定也要改变一下客户端实体定义文件。给这个文件的渲染控制器改成我们生成的这个渲染控制器。如下图所示。
![img](./images/1_47.png)
然后简单写个行为,保证这个实体能正常生成即可。
![img](./images/1_48.png)
然后就可以进游戏测试啦!就会出现一开始的视频里的效果!
![img](http://worldtj.photo.store.qq.com/psc?/world/O0cFsaTfOlqjIAnYAvw8WhB*.xzBY2DMPr4siDGSOAxCrAp.DW00iRuC4n*bNWxfFsMD4MEhTzBWoe1kC6gJoHtZ87lv*KXsjTXHwVjRVEo!/b=&bo=XgFeAV4BXgERHyg!&ek=1&tl=1)
🆓本期教程示例:[动态发光自定义实体Demo](https://creatormc.lanzoul.com/iCmjl0ceahaj)。
🆓Python自动化工具[python自动化生成json](https://creatormc.lanzoul.com/ie1P70ceaawj)。

View File

@@ -0,0 +1,60 @@
# 酷炫的生物外壳
> 本篇教程获得第一期知识库必看教程奖。
>
> 获奖作者:橘子气泡水。
**效果图**
![img](./images/2_0.png)
**效果视频**
![img](./images/2_1.png)
![img](./images/2_2.png)
![img](./images/2_3.png)
![img](./images/2_4.png)
![img](./images/2_5.png)
![img](./images/2_6.png)
![img](./images/2_7.png)
![img](./images/2_8.png)
![img](./images/2_9.png)
![img](./images/2_10.png)
![img](./images/2_11.png)
![img](./images/2_12.png)

View File

@@ -0,0 +1,49 @@
# 火把物品材质
> 本篇教程获得第二期知识库优秀教程奖。
>
> 获奖作者Blusk147。
![img](./images/3_0.png)
[zip文件提取码4个0 ](https://pan.baidu.com/s/1mBDZZnkoiuSFslyOZOb62g?pwd=0000)。
## 制作方法
1. 在材质包目录创建名为 **blocks.json** 的文件。
![img](./images/3_1.png)
2. 将下方代码复制到 **blocks.json** 内。
```json
{
"format_version":[
1,
1,
0
],
"torch":{
"textures":"torch_on",
"blockshape":"torch",
"carried_textures":"missing_tile"
}
}
```
![img](./images/3_2.png)
3. 制作一个火把材质贴图,并保存到目录/textures/blocks命名为missing_tile。
![img](./images/3_3.png)
完。

View File

@@ -0,0 +1,87 @@
# 画图3D构造像素画
>本篇教程获得第二期知识库优秀教程奖。
>
>获奖作者鱼摆摆Gokotta。
**今天为大家带来的是一款好用却常常被人忽视的一款软件——画图3D。**
![img](./images/4_0.png)
画图3D是微软发行的图片处理工具在window10/11上预装如果没有可以前往微软商店自行下载。
首先我们打开画图3D**|画面设置|** 。
![img](./images/4_1.png)
在最上面一行我们可以看到画布两个字。点击画布,右边的方框内是:
- 调整分辨率。
- 是否透明。
- 画布调整选项。
将其设置为画材质常用的16×16之后我们点击画笔。
![img](./images/4_2.png)
这是画材质常用的选项:
- 记号笔:带有渐变的绘制工具。
- 橡皮擦:顾名思义。
- 签字笔:纯色绘制工具。
我们点击画面上方的2D图形选项这里可以画基础的图形。首先我们绘制一个蓝色圆。
![img](./images/4_3.png)
然后使用记号笔对它进行明暗处理。
![img](./images/4_4.png)
最后不要忘记,物品一般附带有边框,这样会使图形突出画面,给人一种美感。
![img](./images/4_5.png)
这样一个水球就画好了。
接着来了解 **渐变处理**
首先我们将画面拉到最大,使用你想要渐变的两种或多种颜色。排列在画上,然后点击左上角的选择选项。
![img](./images/4_6.png)
将图形扩起来。
![img](./images/4_7.png)
拉长之后,我们就会得到一条很自然的渐变线了。
![img](./images/4_8.png)
不同的拉伸有不同的效果。
![img](./images/4_9.png)
**第一次做分享不是很熟练,已经尽我可能去把过程描述的详细,新人或者电脑内存不足的,可以尝试使用这个软件。**
**如有冒犯轻喷,仅作分享。**

View File

@@ -0,0 +1,49 @@
# 制作半透明发光体
>本篇教程获得第一期知识库必看教程奖。
>
>获奖作者:魔灵工作室-创造者MC。
⚠️警告:本教程默认您会自定义实体。
✅提示:本教程网易版和国际版通用。
先来看看最终效果。
(左:半透明发光,右:半透明不发光)
![img](./images/5_0.png)
下图是我一个组件里的。
![img](./images/5_1.png)
## 教程开始
首先我们把实体纹理图片处理成半透明png格式即可。
![img](./images/5_2.png)
然后在此路径下创建这个文件(或者从官方包里复制过来)`资源包/materials/entity.material`
打开文件,写成下图所示。
![img](./images/5_3.png)
接下来直接使用这个material就行了。
![img](./images/5_4.png)
以上就是本教程的内容比较简单所以我就不提供下载demo了。希望能帮到有需要的人。