文章图片
使用 unity 制作对话相关的文本时 , 想要让文案的归文案 , 程序的归程序 , 因此需要找一个能方便制作游戏对白的软件/unity 插件 , 而我的需求如下:
- 具有可视化的对白流程结构显示 , 便于制作及管理对白
- 产出的文本能够很方便的导入到 unity 中 , 在 unity 中也不需要进行多么复杂的设置即可使用
- 软件使用费用较低 , 最好是一次性付费
2、ArticyFlowPlayer 组件负责控制对话流程 , 要使用该组件需要一个配套脚本来实现 OnFlowPlayerPaused 和 OnBranchesUpdated 接口 , 两个接口分别负责对话的配置显示以及选项的处理 , 除此之外 , 组件还需要配置 StartOn 属性 , 来指定要从哪里开始对话流程 。
4、当需要获取实体对象的模板数据时 , 需要注意对应的实体模板参数的技术名称在 模板设计->实体 文件夹中
在代码中可以直接使用模板的技术名称来获得拥有该模板参数的对象
DefaultMainCharacterTemplateent =ArticyDatabase.GetObject<DefaultMainCharacterTemplate>("PC_Jason"); Debug.Log(ent.DisplayName);
注:官方手册中的模板也指这里 , 而不是下面的特性 , 需要分清楚 , 特性是不能直接作为关键字使用的 , 而实体模板参数可以!!!
5、Articy 中对象模板的下拉列表属性也可以通过第 4 点的方式来获得 , 不过需要注意的是 , 直接输出值是输出的对应项的技术名称
Debug.Log(ent.Template.Character.Taste);
需要使用 GetDisplayName 方法来获得其显示名称
Debug.Log(ent.Template.Character.Taste.GetDisplayName);
这里是跟 Articy 软件中的下拉列表里的设置是一一对应的 , 因此建议技术名称也自己设置
此外 , 当需要修改值时 , 也可以直接修改 , 下拉列表在导入到 unity 时会自动生成对应的枚举类 , 因此可以直接使用
ent.Template.Character.Taste=Taste.__02;
6、 ArticyObject 是一个基类 , 要获得对象的更多的属性数据 , 需要使用 as 关键字将其转换为对应的子类 , 在里面获得对应数据 。 比如要获取对象的显示名称( DisplayName ) , 除了使用第 4 点的方法外 , 使用 as 转换的方法如下
ArticyObjectent2 =ArticyDatabase.GetObject("NPC_Freeman"); DefaultSupportingCharacterTemplateent3 =ent2 asDefaultSupportingCharacterTemplate; Debug.Log(ent3.DisplayName);
7、除了可以通过模板来获得对象数据 , 修改数据外 , 也可以通过特性来获得数据/修改数据 , 不过特性可以通过接口的方式来进行调用
varcharacterFeature =ent2 asIObjectWithFeatureDefaultBasicCharacterFeature;
characterFeature .GetFeatureDefaultBasicCharacterFeature.Age=45;
其中接口后半部分的 FeatureDefaultBasicCharacterFeature 即为对应的特性的技术名称
文章图片
也可以通过在模板对象中直接用 Get 指令获取/设置对应的特性
DefaultSupportingCharacterTemplateent4 =ent2 asDefaultSupportingCharacterTemplate;
ent4.GetFeatureDefaultBasicCharacterFeature.Age=66;
Debug.Log("现在年龄是"+ent4.GetFeatureDefaultBasicCharacterFeature.Age);
还可以使用 var 关键字来直接获得对应的特性对象
varent3 =ArticyDatabase.GetObject<DefaultSupportingCharacterTemplate>("NPC_Freeman").GetFeatureDefaultBasicCharacterFeature; Debug.Log("新的年龄是:"+ent3.Age);
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
