设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5924|回复: 16
打印 上一主题 下一主题

[通用发布] 给你的地图生成光影的程序……

[复制链接]

Lv4.逐梦者

梦石
2
星屑
5550
在线时间
2566 小时
注册时间
2012-2-9
帖子
990

开拓者

跳转到指定楼层
1
发表于 2016-6-19 17:31:50 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 garfeng 于 2019-1-21 11:57 编辑

我上传到度盘的自写工具已全部被删除,如果需要请点此链接尝试其他网盘(暂时不需要梯子了)

下方提供的其他下载地址均已失效。


因为实在手残,不会画影子,所以写了这个程序。
起源于我上次发的:
求一个画光的方法……帖子附我自己画的蹩脚的光
https://rpg.blue/thread-393879-1-1.html

在这栋楼里遇到慷慨的@Kim_巧克力控 大大,去读Ta写的教程贴:
【教程】让地图加分的方法!-室内地图光影+无限图层
https://rpg.blue/thread-388527-1-1.html

发现光源确定后,物体的影子是可以算。

程序界面:



处理效果:
按顺序分别是:原图,光+影+原图,影子图,光图
(配合T大的ulds脚本使用)https://rpg.blue/thread-367901-1-1.html


使用中设置不同的透明度,并且ps下,会产生下面的效果:
(这张图我把光源位置设置错了,但还是可以看出效果的)
原图:

加上光后:

光:


----------------------------

这个大约是只能玩玩,比手动处理效果差太多:
以下是巧克力酱手动画的光影:

云泥之别。

所以想做的漂亮,还是得靠自己双手画。

----------------------------

Github:shadow
其中,无限图层脚本见:ULDS by taroxd
生成效果并不是很好,因为程序无法从二维图片中提取xyz三个坐标,只能完全当二维来处理。


下载地址

结果输出目录
:设置后会存储在配置文件里,下次启动程序还是这个目录要处理的图片可以多选,建议把墙壁放在第一个。边缘偏移:没有光影的地方,比如墙顶,或黑色的地方(可以不设置)原始图片:用于给光生成纹路,为了避免像是蒙一层白(可以不设置)
光源设置:点光源中心的坐标,用格数来确定,比如在左上角顶点有一个宽1格,高2格的窗子,则需要把这里设置为
RUBY 代码复制
  1. x:0.5
  2. y :1
墙壁高度:墙壁底部距离图片上边缘的距离,比如有1格墙顶,2格墙壁,这里设置为3。
每一格大小:32,24,48(一般是这三种)比例:输出结果比输入的图片放大多少倍,如果是直接截图,则设置为1,如果是rmmv地图编辑器那里选择的“保存为图片”则设置为2衰减距离:距离光源多少像素的时候,将完全没有光了。毕竟一个光源能照亮的范围有限。输出文件前缀:自己随意设置。

注意事项:

  • 只支持单一光源,多光源请分多次处理,然后用PS拼接。
  • 本程序把纯白(RGB:255,255,255)和透明(opacity:0)的地方都视为光可以直接穿过。



评分

参与人数 5星屑 +1006 +1 收起 理由
king + 1 精品
zaiy2863 + 240 很触,但是感觉太锐利了
cinderelmini + 166 黑。。黑科技!!
VIPArcher + 300 很赞,就是觉得光似乎太亮了
越前リョーマ + 300 精品文章

查看全部评分

Lv4.逐梦者

梦石
2
星屑
5550
在线时间
2566 小时
注册时间
2012-2-9
帖子
990

开拓者

10
 楼主| 发表于 2017-11-10 14:40:00 | 只看该作者
本帖最后由 garfeng 于 2017-11-10 14:42 编辑
king 发表于 2017-11-10 13:45
努力实验中……

不懂!什么意思……格子的参照?是工具中每一个格子设置的大小?

这个工具使用方法非常复杂,还要设置多层,地板,墙壁,物品需要分开画,否则无法区分。但是没办法,因为图本来就是二维的。
是工具里的一格。



我的另一个帖子:https://rpg.blue/thread-403401-1-1.html

有自动光影脚本可以用。

点评

大概懂了!感谢图解!另外,纯JS插件下载?  发表于 2017-11-10 16:59
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
27048
在线时间
1535 小时
注册时间
2006-1-10
帖子
2063

开拓者第一届地图绘制大赛RTP组第四名

9
发表于 2017-11-10 13:45:58 | 只看该作者
努力实验中……
  1. 光源设置:点光源中心的坐标,用格数来确定,比如在左上角顶点有一个宽1格,高2格的窗子
  2. x:0.5
  3. y :1
复制代码

不懂!什么意思……格子的参照?是工具中每一个格子设置的大小?
还是RM地图的格子?
具体位置的换算比例是什么?

MV帮助 http://miaowm5.github.io/RMMV-F1/日复一日,年复一年人还是保留一点自我兴趣的好啊~~~忘记过去 ,这样我就可以  放弃未来了……哭~~终于找回以前的头像了,哎~~原来我是那么的想念阿……
画地图没灵感?很烦?很无聊 【 戳 我 】一 大 波 地 图 在 等 你  \^0^/
我的游戏
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
42 小时
注册时间
2016-11-27
帖子
30
8
发表于 2017-3-25 19:25:29 | 只看该作者
真触啊,可以偷懒了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
5550
在线时间
2566 小时
注册时间
2012-2-9
帖子
990

开拓者

7
 楼主| 发表于 2016-6-19 20:45:43 | 只看该作者
本帖最后由 garfeng 于 2016-6-19 20:55 编辑


看到你发的地址了,我这边用的是差不多的原理,其实原理都一样。
但你发的地址那里,是俯视图,二维的,不用考虑物体的高度,所以纯二维坐标就能处理好了。
RM是45度角俯视,如果要在游戏里用js做,那就是一个三维的数组,=-=,不仅计算是三维的,每个图块都还要单独设置长宽高,否则出来会很假。三维用cpu做也可以,会很吃配置。
普遍的处理办法都是转GPU做,类比3D游戏都要求独立显卡才能运行流畅。

我现在的处理办法,也只是,提前处理好,看到不顺眼的可以ps掉……暂时只能如此了。
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

6
发表于 2016-6-19 20:30:54 | 只看该作者
很智能化的程序,就是感觉光太强了可能是LZ设置的数值问题……

点评

谢谢版主转移~是的,是太强,太硬,太尖锐,看起来不太舒服,终归还是需要人来手工处理的……  发表于 2016-6-19 20:47
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

5
发表于 2016-6-19 19:47:32 | 只看该作者
http://indienova.com/indie-game- ... of-sight-explained/
http://indienova.com/indie-game- ... ects-for-your-game/
至少js是不用OpenGL之类的东西就可以实现的,RGSS系的可以用扫描线段法做多边形填充,就是不知道效率如何。不过多光源的话就不知道会怎么样了
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
409
在线时间
286 小时
注册时间
2015-10-4
帖子
294
4
发表于 2016-6-19 18:32:00 | 只看该作者
恭喜你发现镇站之宝

点评

表示……不太看得懂同学想表达什么……  发表于 2016-6-19 19:05
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

3
发表于 2016-6-19 18:20:37 | 只看该作者
不错不错 然而好像要动态光影生成。。ORZ

点评

这个需要ruby或js的大神来做……而且还需要OpenGL的基础……远目……  发表于 2016-6-19 19:04
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6157
在线时间
6592 小时
注册时间
2007-12-16
帖子
4501

贵宾

2
发表于 2016-6-19 18:04:39 | 只看该作者
本帖最后由 仲秋启明 于 2016-6-19 18:08 编辑

貌似需要VC++2015,安装完运行库后提示
This application failed to start because it could not find or load the Qt platform plugin "windows" in "".

Reinstalling the application may fix this problem.


这里有解决方案http://www.cnblogs.com/mmix2009/p/3536825.html

点评

地址已经更新……  发表于 2016-6-19 20:48
先去吃个饭,回来更新……  发表于 2016-6-19 18:11
太感谢了!我对qt不熟,不知道发布的话会有这样的问题。学习了!  发表于 2016-6-19 18:10

评分

参与人数 1星屑 +15 收起 理由
garfeng + 15 塞糖

查看全部评分


还在龟速填坑中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 09:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表