• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱
欢迎来到 behaviac Q&A。 您在bbs里的问题,管理员会当下就收到通知,不要担心管理员看不到您的问题。也请在bbs里提供您的email,这样就可以第一时间收到关于回答,评论的email的通知了。 为了节省大家的时间,请表达好你的问题,提供必要上下文,版本号,平台信息,重现步骤等。

行为树编辑器中怎样重新生成c#源码

0 喜欢 0 不喜欢
579 浏览
使用的是c#的方式,在unity中使用.

使用流程按照教程:

1.编辑器里创建行为树,添加了很多节点.2.导出源码(复制types下面生成的.cs文件到unity中).3.untiy中注册,然后export meta,将生成的meta复制到行为树工程目录下.4.编辑器中"编辑工作区"勾选meta.5.导出c#代码供unity使用..............这些都没有问题,在unity中也能成功运行编辑的行为树.

第6步,当需求变化,需要重新修改这个行为树,比如在编辑器中又添加了一个节点(对应添加方法,类型列表中名字前带有"*")

编辑好行为树之后想继续重复上面的流程(第二步)导出c#源码,然后在unity中注册.

这时发现:

1.在"编辑工作区"meta文件选中的情况下,点击导出types文件夹下文件没有变化.

2.在"编辑工作区"meta文件不勾选的情况下,行为树上编辑好的(对应好的)方法都丢失了,要重新在元信息浏览窗口中添加属性方法才能能导出新的c#源码.(每次修改行为树(比如添加一个节点),就要重新编辑这个行为树所有的属性和方法,应该不是这样吧?)

谢谢...
最新提问 3月 21, 2016 用户: 马里奥海贝 (120 分)
修改于 3月 21, 2016 用户:马里奥海贝

1个回答

1 喜欢 0 不喜欢
编辑工作区中的设置不要修改,那个meta文件也必须勾选上。

在导出窗口中点击导出,需要在types文件夹同级目录查看另一个文件夹behaviors,里面有个generated_behaviors.cs文件,这个才是导出的行为树文件。types文件夹里面的都是在元信息浏览器中新加的类型。
最新回答 3月 21, 2016 用户: cainhuang (33,810 分)
刚刚试了一下,还是需要自己手动注册新添加的方法才能使用
Agent类型你已经创建过了,第一次自动生成Agent类型的.cs源码后,会放在types里面,你把这个cs文件整合到自己的游戏项目中去时,再次重新生成源码时,这个Agent类型就不会再生成源码了,相当于是你自己手工编写代码的类型了。所以你为这个类新加了方法,就需要自己再打上Attribute进行注册。
嗯,新添加的方法需要自己手动注册到类里,昨天以为新添加的方法也会自动生成(仔细一想如果自动生成,以前编辑过的方法岂不是被覆盖了,所以还是手动添加比较好).
...