找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8275|回复: 4

[转载] Ren'Py引擎从入门到放弃(支线6)——还在探索阶段的Live2D

[复制链接]
发表于 2019-6-28 18:46:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 BuErShen 于 2019-6-28 18:48 编辑

Ren'Py引擎从入门到放弃(支线6)——还在探索阶段的Live2D

世上无难事,只要肯放弃。

支线系列是独立于基础之外的内容,会引用一些外部平台大佬的内容,感觉有困难的同学可以暂时不(fang)看(qi)。

本篇内容讲解 asfdfdfd于2018年8月,在GitHub上新建的 renpy-live2d 项目。作用是尝试在 Ren'Py中引入通用的 Live2D资源。请善用各种搜索引擎,尤其是墙外的,可以解决大部分疑问。若遇到疑难问题可私信,但我不保证一定能解决。

第一个问题:Live2D是什么?

答:百度知道。Live2D有两个大的分支:Cubism 和 Euclid。Cubism本质是2D图像网格变形,Euclid 则引入了3D建模(据说由于定位跟主流3D引擎重合度太大所以黄了)。renpy-live2d项目使用的是Cubism。

第二个问题:如何安装和配置 renpy-live2d ?

答:先给项目链接……

GitHub - asfdfdfd/renpy-live2d: Live2D module for RenPy

readme文件里有介绍如何使用。简单翻译一下:

  • 先去下载 release 的压缩文件。当前最新版本是0.0.3(2019年5月17日提交),所以下载 renpy-live2d-v0.0.3.zip 文件。
  • 然后把zip包中的内容(一个live2d目录)解压到自己项目的 game 目录下。
  • 下载 Cubism的原生SDK并替换刚才解压的 live2d/CubismSDK/Core 同名目录下的内容。

我下载的是原生SDK版本是Cubism3SDKforNative-beta12。说是替换,其实原来的Core目录里除了一个空文件什么东西都没有……

安装说明后面,项目创建者写了一段使用样例。
[RenPy] 纯文本查看 复制代码
define h = Character("Hiyori")

init python:
    from live2d.displayable import Live2DDisplayable
    from renpy.loader import transfn

    sprite_live2d = Live2DDisplayable()

init:
    image sprite_live2d = sprite_live2d

label start:

    show sprite_live2d

    $ live2d_model_hiyori = sprite_live2d.scene.create_model(transfn(u'live2d_resources/Hiyori/'), u'Hiyori.model3.json')

    $ live2d_model_hiyori.start_random_motion(group = u"Idle", priority = 3)

    h "You've created a new Ren'Py game."

    $ live2d_model_hiyori.start_motion(group = u"TapBody", no = 0, priority = 3)

    h "Once you add a story, pictures, and music, you can release it to the world!"

    return

我们可以新建一个空的工程,然后把样例代码复制进 script.rpy 中直接运行……当然是会报错的~因为我们的工程里没有对应的资源文件——Hiyori(日语好像是“日和”)。资源文件也在刚才下载的CubismSDK中,路径是 Cubism3SDKforNative-beta12\Samples\Res 。总共有4个角色,在 game 目录下建个 live2d_resources 子目录并把角色的资源都放进去。最后运行工程就能看到日和同学了(与样例不同,我把背景改成了白色)。
与样例不同,我把背景改成了白色.jpg

第三个问题:怎样指定角色的动作?

答:renpy-live2d项目的创建者提供在PyLAppModel类中定义了两个函数:
[RenPy] 纯文本查看 复制代码
cdef class PyLAppModel:

    ...
        
    # TODO: Return CubismMotionQueueEntryHandle.
    def start_motion(self, unicode group, no, priority):
        self.thisptr.StartMotion(group.encode("UTF-8"), no, priority)

    # TODO: Return CubismMotionQueueEntryHandle.        
    def start_random_motion(self, unicode group, priority):
        self.thisptr.StartRandomMotion(group.encode("UTF-8"), priority)

设计的意图可能是用这俩函数指定角色动作的组(group)或某个组的动作编号。但貌似还没完成……现在角色默认所有动作循环播放……希望会有更新。

广告部分:有问题可以私信我。优先推荐“RenPy中文空间”论坛,技术讨论区一般都会有人解答。疑难解答 板块好像是相对最活跃的了。




“Ren'Py引擎从入门到放弃”系列教程



发表于 2019-7-14 21:44:59 | 显示全部楼层
试验了一下,能够正常显示live2d人物。存在很多问题:1)人物太小了。2)如果多次执行这段代码,会重复生成多个sprite(日和小姐),晃动起来,如同千手观音。很费劲啊,做游戏就是费力不讨好啊。
回复 支持 抱歉

使用道具 举报

发表于 2020-2-16 03:08:00 | 显示全部楼层
楼主,我也实验了一下,但是却遇到了问题。

在我照着楼主的方法做了之后,在renpy界面点击启动工程,进入工程图启动页面,但是游戏窗口并没有打开,而是又回到了renpy的主界面,并且没有报错。

点击renpy下的操作菜单中“检查脚本并分析统计”会显示“启动工程失败”

我尝试了以下的方法寻找这件事情无法解决的原因:
1,我尝试删除存放模型的资源库,重新打开游戏,游戏并没有报错,因而这不是由资源库造成的
2.我尝试删除game\live2d\CubismSDK\Core下的文件,然后尤其能够正常报错并提示缺失文件

因此从代码方面看来,很可能是这一插件无法兼容最新版本的(即第四代版本的)sdk的缘故
因此,我恳请楼主能否将手头的Cubism3SDKforNative-beta12发一下公共的链接。或者给我一份,感激不尽!

知乎已关注
回复 支持 抱歉

使用道具 举报

发表于 2020-5-31 12:21:50 | 显示全部楼层
烟城雾途 发表于 2020-2-16 03:08
楼主,我也实验了一下,但是却遇到了问题。

在我照着楼主的方法做了之后,在renpy界面点击启动工程,进入 ...

同求
回复 支持 抱歉

使用道具 举报

发表于 2021-1-25 17:03:29 | 显示全部楼层
renpy7.4.0以后的版本自带Live2D支持
所以只需要下载CubismSdkForNative-4-r.version.zip,然后将其放置于renpy根目录下安装就好
详细可以看https://www.renpy.cn/forum.php?mod=viewthread&tid=704
Nepteus大佬的帖子
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-3-29 04:11 , Processed in 0.046364 second(s), 16 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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