找回密码
 立即注册
查看: 55|回复: 2

[源码] unity源码:三维虚拟世界的人工智能对话

[复制链接]
发表于 2024-7-5 14:57 | 显示全部楼层 |阅读模式
资源信息 Asset Information
资源名称: unity源码:三维虚拟世界的人工智能对话 (发帖教程)
版本: 1.0 (版本)
资源等级: 1
资源格式: rar (链接失效请点击帖子右下方举报通知管理员)
资源大小: 899M (默认:MB)
下载地址: 夸克网盘链接:https://pan.quark.cn/s/1e275af88bac (购买积分)
点击查看原图
美丽分割线
unity游戏源码:三维虚拟世界的人工智能对话。
完全开源,完全免费,内容完整,代码做了充分的注释,配以完整详细的教程,适合新手从零基础入门。
下载地址:夸克网盘链接:https://pan.quark.cn/s/1e275af88bac

此为个人练习程序,仅供大家学习和研究,不得用于商业。
人工智能对话程序是适合初学者的简单、基础的人工智能对话程序。请先看完人工智能对话教程,才能看懂人工智能对话源码。
用户(扮演男主角)可以在输入框向机器人(女主角)教各种知识,可以向女主角机器人提问其学到的知识。用户给女主角机器人说的话语,机器人可以自动分析、理解、学习、整理、记忆,从而逐步提高自己的智力。
用户向机器人提问后,机器人用动态sql方式,将基本的程序代码碎片,组装成用于回答问题的程序,从而回答用户的提问。也就是说,在回答问题方面,机器人根据需要、根据情况,机器人自己给自己编写程序,来回答问题,从而能灵活的适应各种情况,而不是人为预先给机器人设定的程序。

基本操作:
W键(长按):向前走。
S键(长按):向后走。
A键(长按):向左走。
D键(长按):向右走。
Q键(长按):向左转。
E键(长按):向右转。
鼠标移动来控制摄像机视角。
V键(单击):第三人称视角和第一人称视角的相互切换。
第一人称时:R键(长按):向右看。T键(长按):向左看。Y键(长按):向后看。
M键(单击):背景音乐。

编辑器里的游戏界面:








源码文件说明:

move:unity游戏源码文件。unity打开(导入)此游戏源码,不是打开哪个具体的文件,而是直接打开(导入)这个move文件夹。
rabbit.sql:mysql数据库文件。
8个文档:使用说明、更新日志、unity教程、3dmax教程(基础篇)、3dmax动画绘制与unity动画控制教程、C#教程、mysql教程、人工智能对话教程。

unity项目里的文件夹说明:
JP_LP_Houseing:场景相关文件。启动场景文件在JP_LP_Houseing文件夹下的Scene目录里。
Scripts:C#脚本。
girl和boy:人物模型,已做骨骼绑定和走路动画。
Pictures:图片。
TextMesh:文字显示。
Plugins:插件。
Fonts:字符集。
Music:音乐。
an:动画器控制器。

人工智能对话:
机器人的知识数据表里没有内容,所以请先向机器人教一些知识,然后就可以提问那些知识了。
为什么知识数据表是空的?因为知识是要适配游戏剧情的。如果我向机器人教的知识是日式的中学生活剧情内容,男主角和女主角的关系是恋人,而你要做的游戏剧情是古代战争,那么我的知识数据表对你来说,就没有用了。
注意:教知识和问知识,不要写到一起。教完知识,按回车键发送。然后再问知识,再按回车键发送。

所有人工智能对话程序源码都在mysql数据库里,以mysql存储过程的形式保存着。可以打开,从而查看程序代码。
导入数据库的方法:
新建数据库,字符设置(character set)选择utf8,字符集(collation)选择utf8_general_ci,然后导入sql数据库(rabbit.sql)即可。
在Assets文件夹下的Script里的mysqlcon.cs文件里,设置数据库连接的相关信息。
connection.ConnectionString = "server=localhost;user=root;database=snow;port=3306;password=dream;charset=utf8";
默认数据库名:snow,默认数据库密码dream。
unity里的Plugins文件夹里是连接mysql的Mysql.Data.dll插件,我用的是适配5.7版本的,我不知道能不能适配你们的8.0版本mysql。如果不能适配,你们去mysql官网自行下适合你们mysql版本的Mysql.Data.dll插件。
我用TextMeshPro配套的字符集汉字不全,只能显示常用汉字,一些不常用的汉字会显示成小方框。你们可以自行更换字符集(Font Asset)。

人工智能对话方式1:
示例:
教:狼吃羊
问主语或宾语用谁、什么
问:谁吃羊
答:狼
问:狼吃什么
答:羊
问谓语用怎么
问:狼怎么羊
答:吃

教:狼喜欢奔跑
问:狼喜欢干什么
答:奔跑

教:狼吃白色的羊
问形容词用什么样的
问:狼吃什么样的羊
答:白色的

教:狼吃两只羊
问数词用多少、几
问:狼吃多少羊
答:2只

教:狼吃阿哲的羊
问名词所有格用谁的、什么的
问:狼吃谁的羊
答:阿哲的

教:狼经常吃羊
问副词用怎么的
问:狼怎么的吃羊
答:经常

教:昨天狼吃羊
问时间用什么时候,什么时间
问:什么时候狼吃羊
答:(会显示昨天的时间)

教:狼在草地吃羊
问地点用在哪里、什么地方
问:狼在哪里吃羊
答:草地

双宾语句:
教:狼给羊面包
问:狼给羊什么
答:面包
问:狼给谁面包
答:羊

宾语补足语句:
教:狼让羊跳舞
问:狼让羊干什么
答:跳舞

教:狼是动物
问表语用是什么
问:狼是什么
答:动物

建议句型:五种基本句型:
主谓句型:动作执行者 - 动作
例如:猫玩耍
主谓宾句型:动作执行者 - 动作 - 动作对象
例如:猫吃鼠
双宾语句型:动作执行者 - 动作 - 间接宾语 - 直接宾语
例如:猫给鼠苹果
双宾语句型的常见动词:给、给予、交给、供给、提供、供应、赠、赠送、送、送给、捐给、捐赠、捐献、献给、资助、赞助、授予、交付、花费、递给、递来、借、借给、租借、还、归还。
宾语补足语句型:动作执行者 - 动作 - 动作对象 - 动作对象的行为
例如:猫让鼠跳舞
宾语补足语句型的常见动词:把、使、让。

定语(形容词、数词、名词所有格)修饰名词。
例如:白色的猫、两只猫、阿哲的猫
副词修饰动词。
例如:轻轻的、快速的、不断的。

人工智能对话方式2:通用规则
主谓结构的句子:甲表示主语。例如甲摔倒。
主谓宾结构的句子:甲表示主语,乙表示宾语。例如甲爱乙。
双宾语结构的句子:甲表示主语,乙表示间接宾语,丙表示直接宾语。例如张三给李四苹果,甲:张三,乙:李四,丙:苹果。
宾语补足语结构的句子:甲表示主语,乙表示宾语。例如甲让乙跳舞。如果有宾语补足语的名词,用丙表示。例如张三让李四吃苹果,丙:苹果。

向机器人教通用规则,有四种格式:
格式1(1个&&号):事情&&机器人回答
例如输入:甲喜欢乙&&乙给甲苹果
以后输入:张三喜欢李四,电脑就会回答李四给张三苹果。
以后输入:阿哲喜欢阿玉,电脑就会回答阿玉给阿哲苹果。
格式2(2个&&号):事情的背景&&事情&&机器人回答
说明:事情的背景,例如原因。就像故事背景一样,一个事,总是要有事情背景的。
例如输入:乙嘲笑甲&&甲批评乙&&甲讨厌乙
以后输入:李四嘲笑张三,张三批评李四
电脑就会回答:张三讨厌李四
当然,事情背景和回答,可以不用甲、乙,但是事情至少要写甲、乙,或只写甲。
格式3(2个&&号,1个&号):事情的背景&&事情&甲和乙的关系&&机器人回答
例如输入:乙打甲&&甲训斥乙&同学&&甲远离乙
格式4(2个&&号,2个&号):事情的背景&&事情&甲和思考者的关系&乙和思考者的关系&&机器人回答
说明1:思考者是思考和分析这件事的人,也就是机器人。
说明2:如果甲和思考者的关系不存在,或乙和思考者的关系不存在,就填无。
例如输入:乙嘲笑甲&&甲批评乙&哥哥&姐姐&&甲讨厌乙
格式5(2个&&号,3个&号):事情的背景&&事情&甲和乙的关系&甲和思考者的关系&乙和思考者的关系&&机器人回答
例如输入:乙嘲笑甲&&甲批评乙&同学&朋友&姐姐&&甲讨厌乙

甲乙关系,有时不是一个词,而要用A和B的结构,例如老师和学生。如果甲乙关系只有“老师”这样一个词,表示甲是乙的老师,这样就不用写“老师和学生”了,能简写,尽量简写。
同理,甲和思考者的关系,或乙和思考者的关系,有时也要用A和B的形式。如果甲和思考者的关系只有“哥哥”这样一个词,表示甲是思考者的哥哥。

事情和事情的背景,都只能是一个基本结构句:主谓句,主谓宾句,双宾语句,宾语补足语句。但是可以用定语(形容词、数词、名词所有格)修饰名词(主语和宾语),副词修饰谓语(动词),还可以添加时间和地点。

向人物关系表录入人物关系:
格式:人物1&人物2&关系
例如:张三&李四&朋友,表示张三和李四是朋友。


以后继续更新。

本帖子中包含更多资源

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

×
 楼主| 发表于 2024-7-6 17:55 | 显示全部楼层
已关闭下载
 楼主| 发表于 2024-7-6 17:59 | 显示全部楼层
请管理员删除我这篇文章。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-7-14 03:06 , Processed in 0.106302 second(s), 33 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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