unity人工智能游戏、源码、教程(中秋特别版),完全免费和开源

news/2024/9/20 1:56:30/文章来源:https://www.cnblogs.com/bayhut/p/18417259

任何人不要和我说话,我不想跟任何人说话,因为我对现实世界的人类不感兴趣。谁跟我说话,我都不会理睬的。

(一)游戏简介
三维虚拟世界的人工智能对话。
完全免费、完全开源、完整详细、通俗易懂。
我把游戏、游戏源码、教程(三合一)放到了夸克网盘:
链接:https://pan.quark.cn/s/65e22d51c1bb

游戏性质:单机游戏(不联网),高清全屏游戏,最低配置的电脑也可流畅运行(已做优化)。
编程语言(游戏和人工智能):C#。编辑器:Unity。
数据库:单机数据库sqlite,不联网,不用配置,直接就可以用。
即便没有安装unity编辑器的情况下,play文件夹里DreamStart.exe可以直接运行此游戏。

(二)2024年9月17日中秋节,游戏做了更新
新增功能1:
提问第二动词,用“干啥”。
教:张三喜欢玩
问:张三喜欢干啥
答:玩
其中,第一动词是“喜欢”而第二动词是“玩”。
此前没有提问第二动词的功能,而且有两个相连的动词,却没有宾语的句子,会报错。

新增功能2:
男主角可以和女主角面对面说话了。按G键,使男女主角分离,然后面对面说话。此外,男女主角一起走路时,也能说话。

(三)游戏界面
小区:
输入:狼吃羊,女主角通过人工智能程序,分析这句话的意思,并进行自动学习。

输入:狼吃什么,女主角通过人工智能程序,回答羊。

小区的夜晚:

家:

市街道:

郊区:

学校:

走廊:

教室(图中的绿圈是传送点,用于切换到下一个场景,每个场景都有传送点):

巷子:

(四)基本操作
人物移动:
W键(长按):向前走。
S键(长按):向后走。
A键(长按):向左转。
D键(长按):向右转。

视角:
鼠标左右上下移动来控制摄像机视角(屏幕视角),人物前进方向自动朝向摄像机视角。
键盘右边的方向键:上:抬高摄像机视角,下:降低摄像机视角,左:拉近摄像机视角,右:拉远摄像机视角。
F键(单击):第三人称视角和第一人称视角的切换。第三人称视角适合用在街上,第一人称视角适合用在家里。

上楼梯:
楼梯上不动的时候,把屏幕视角向上仰,就可以上楼梯了。
进教学楼后,一楼走廊的尽头是楼梯。家里的楼梯是自动上楼梯。

输入输出:
空格键(单击):显示或关闭文字的输入输出框(默认不显示,需要点击空格键才显示)。输入完文字后,按回车键发送。
空格键适用于:室外场景。

改变:
J键(单击):女主角更换形态。
K键(单击):每点击一次,就变换一次天色。小区场景:浅夜→夜晚→白天→傍晚→夜晚→清晨→白天→阴天。市街道场景:傍晚→晚上→白天。
K键适用于:小区场景和市街道场景。
L键(单击):正常景色和雪景的切换。
L键适用于:小区场景、市街道场景、郊区场景。

男女主角分离:
G键(单击):第一次按G键,男主角和女主角分开,女主角停留在原地。第二次按G键,女主角来到男主角身边。
在小区场景中,女主角是自动寻路方式来到男主角身边。而其它室外场景中,女主角直接来到男主角身边。
H键(单击):在小区场景中,第一次按H键,女主角回到自己的房间,和男主角分开。第二次按H键,女主角回到男主角身边。

音乐:
M键(单击):背景音乐,继续按,是下一首好听的背景音乐。

退出:
Esc键(单击):退出游戏。

场景切换:
男主角家是小区场景里的一栋二层小楼。进小区后,右边第一栋楼的后面,就是男主角家,可以进去。此外,小区居民楼里,还有两套房可以进去。
绿圈是传送点,男主角走进绿圈,就可以切换地图场景,到下一个地图场景。
小区→市街道。
市街道→市中心、郊区。
郊区→学校、小镇、巷子。
学校→教学楼走廊入口1、教学楼走廊入口2、食堂、体育馆、游泳池。
教学楼走廊→教室(二楼)、图书馆(三楼)、医务室(一楼)。

(五)人工智能的话语分析,以及自动学习而形成智能回答
话语分析是有用的,假如游戏中,你是队长,带着NPC队友张三和李四,路上遇到蛇,你可以说“张三打蛇,李四保护张三。”这就需要先分析出主语、谓语、宾语,程序才能处理。
按空格键显示输入框,输入完成后,按回车键发送。

示例:
输入:猫吃鼠
显示:主语:猫,谓语动词:吃,宾语:鼠

输入:白色的猫吃黑色的鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的形容词:白色的,宾语的形容词:黑色的

输入:两只猫吃3只鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的数词:2只,宾语的数词:3只

输入:张三的猫吃李四的鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的名词所有格:张三,宾语的名词所有格:李四

输入:张三给李四苹果
显示:主语:张三,谓语动词:给,间接宾语:李四,直接宾语:苹果

输入:张三让李四打扫教室
显示:主语:张三,谓语动词:让,宾语:李四,宾语补足语动词:打扫,宾语补足语名词:教室

输入:2024年张三在学校吃饭
显示:主语:张三,谓语动词:吃饭,时间:2024年,地点:学校

自动学习而形成智能回答:
注意1:教知识和问知识,分开两次发送,不能写到一起。
注意2:数据库没有知识,所以要先教知识,然后才能提问(问教过的知识)。教过的知识会一直存储在数据库里,下次再提问,就不用再教了。
注意3:如果不能回答,可能输入的名词不在名词词库里,或输入的动词不在动词词库里。

提问名词:主语、宾语、间接宾语、直接宾语,用“谁”或“什么”。
提问谓语动词,用“怎么”。
提问第二动词,用“干啥”。
提问宾语补足语,用“干嘛”。
提问形容词,用“啥样的”。
提问数词,用“多少”。
提问名词所有格,用“啥的”。

实测:
教:猫吃鼠
问:猫吃什么
答:鼠
问:猫吃谁
答:鼠
问:谁吃鼠
答:猫
问:什么吃鼠
答:猫
问:猫怎么鼠
答:吃
教:猫吃鸟
问:猫吃什么
答:鼠、鸟
问:鼠吃什么
答:我不知道

教:张三喜欢玩
问:张三喜欢干啥
答:玩

教:张三给李四苹果
问:张三给李四什么
答:苹果
问:谁给李四苹果
答:张三
问:张三给谁苹果
答:李四

教:李四让王五跳舞
问:李四让王五干嘛
答:跳舞

教:黑色的狼吃羊
问:啥样的狼吃羊
答:黑色的
教:狼吃白色的羊
问:狼吃啥样的羊
答:白色的

教:两只老虎吃马
问:多少老虎吃马
答:2只
教:狮子吃3只羚羊
问:狮子吃多少羚羊
答:3只

教:阿哲的兔吃胡萝卜
问:啥的兔吃胡萝卜
答:阿哲
教:兔吃阿玉的胡萝卜
问:兔吃啥的胡萝卜
答:阿玉

教:小明给张三2个梨
问:小明给张三多少梨
答:2个
教:李四让小明打扫蓝色的房子
问:李四让小明打扫啥样的房子
答:蓝色的

教:我爱猫
问:谁爱猫
答:你

(六)一些说明
如果分析显示不了,可能词语不在词库里。先找动词分割句子,再找名词,所以如果动词不在词库里,即便名词在词库里,也没用。
连接的单机数据库是garden.db,是sqlite单机数据库,就是在用户电脑的游戏文件里的,不联网的、不用安装服务的、不用配置的,直接就可以用的数据库。
此外,如果把gram(语法分析记录表)清空了,要在第一行第一列(id_col列的第一行值)加个数字0,因为是从0开始计算的,不是从无开始计算的。
数据库的词库词语增加了,sqlitecon脚本的数组最大值也要随之增加,否则会溢出。
有两个一样的garden.db,根目录下的是编辑器用的,play文件夹里的是生成游戏后用的,把根目录的garden.db复制过去即可。

unity的一份源码,只能适配一个编辑器版本,这个源码适配的是2022.3.38,其它版本打开此源码,会故障。
unity导入此项目时,不是导入哪个具体启动文件,而是用unity Hub(unity启动器)直接打开(导入)DreamStart文件夹。
如果unity编辑器没有显示场景,就在编辑器里手动打开park文件夹里的Scenes文件夹里的park场景文件即可。
在unity编辑器界面,不要把窗口最大化后再运行游戏,那样运行不了。但可以在游戏后,再最大化窗口。
在游戏编辑器里,通过传送点切换场景,会卡顿。但是生成游戏后,就流畅和正常了。
有时人物抖动,是因为男主角的脚本zou里的摄像机(用户画面视角)程序造成的,这个以后再改进。

(七)声明
根据《著作权保护法》,仅用于个人学习、研究、交流的,不用于商业的非盈利程序,可以使用他人的素材,例如三维模型和音乐。
我的这个程序,就是完全免费的,仅用于个人学习、研究、交流,不用于商业,不用于盈利。

小区场景的三维模型来自于UnityStore的unity包:Low Poly Japanese Housing Complex。很多人在用,所以我的游戏和其他人的游戏出现这个相同场景,不是抄袭。而且那只是个三维模型,程序要自己写,每个人写的程序是不同的。
市中心、市街道、郊区场景,来自UnityStore的unity包:258316_Anime_Tokyo_(Japanese_City),也有很多游戏开发者在用这个场景三维模型。
小镇场景来自unity包:Idyllic Anime Japan。
男主角新家场景来自unity包:Low Poly Cartoon House Interiors。
巷子场景来自unity包:Japanese Street。

学校场景,来自unity包:Japanese_School_Buildings_Kit。
学校楼道场景,来自unity包:Japanese School Corridor 2.0。
教室场景,来自unity包:Japanese Classroom Set。
图书馆场景,来自unity包:Japanese School Library Set。
食堂场景,来自unity包:Japanese School Cafeteria。
体育馆场景,来自unity包:Japanese School Gym。
游泳池场景,来自unity包:Japanese School Pool Clean Dirty Set。
医务室场景,来自unity包:Japanese School Infirmary Set。

雪景程序来自于unity包:Global Snow。
天空盒来自于unity包:AllSky。

人物三维模型来自于网络上大家常见、常用的三维人物模型,我做了骨骼绑定、蒙皮、走路动画。
我的所有三维人物模型,都取得了使用授权。根据三维人物模型的版权方要求,我使用这些模型,需要写借物表:
男主角:
头部:https://www.aplaybox.com/details/model/5dOnK3GQAlLc
衣服:https://3d.3d66.com/reshtmla/model/items/qr/qrN4LEVs50LgEOTOE5g3.html
女主角:
形态1:https://www.aplaybox.com/details/model/tefItfbgcMsy
形态2:https://www.aplaybox.com/details/model/8shhNfYE5DOm
街上的路人:
https://www.aplaybox.com/details/model/Ijn46B411K3I
https://www.aplaybox.com/details/model/GDCx0SO2gQF9
https://www.aplaybox.com/details/model/oHyQfqL3GH2z
https://www.aplaybox.com/details/model/W1YXk7s2IpZt
https://www.aplaybox.com/details/model/wtOaZEqb1JZp
屋内人:
头部:https://www.aplaybox.com/details/model/mE9nUPAb06Af
衣服:https://www.aplaybox.com/details/model/F38wY36WRd3D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/798652.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

校招前的思考

又有了一次参加校招的机会,我希望校招这种活动,自己每参加一次,都能加深一次理解。校招前,我想思考清楚一个问题:企业为什么要校招?又有了一次参加校招的机会,我希望校招这种活动,自己每参加一次,都能加深一次理解。校招前,我想思考清楚一个问题:企业为什么要校招?…

江锐第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc这个作业的目标 学习博客园的基本知识,并介绍自己,自我认知姓名-学号 江锐-2022329301014一、个人简介 (1)基本信息 姓 名: 江锐 物 理 家 乡:湖北武汉 专 业: 电气工程及其自动化 网 络 家 乡:github,…

中秋快乐

最近北京的天气真不错 昨天出门,傍晚天渐渐黑了,抬头看见好圆整的月亮,才意识到中秋到了,没啥课天天放假已经对工作日假期没啥概念了。 祝大家中秋快乐! Lemon越听越很上头,特别是2019年演唱会版真的很有感觉, 还能学习一波假名。 又有点想去演唱会了,上次还是工体Shane…

白云龙期货投资-第七讲

10种经典的进出场方法2 2B法则跌破第三波上涨就以此为依据进场做空2B法则进场法操作要点 1,适合行情已经走完5浪: 2,跌破或突破5浪前高低点(次高低点)有效; 3,止损:次高低点与新高低点的二分之一处; 10种经典的进出场方法3 金牛断角射击之星金牛断角进场法操作要点 1,最好…

pikachu靶场的代码审计,和一些危险函数

对pikachu靶场进行代码审计,审计分析文件上传、命令执行漏洞,越权漏洞,sql注入,xxe漏洞 文件上传 client:并未对后缀进行判断,只对大小做了验证后端并未进行文件的类型校验,仅仅是生成了一个目录去保存上传的文件同时对文件的保存路径暴露 MIME Type只对mime进行了验证,…

Xcode 16 正式版发布下载 - Apple 平台 IDE

Xcode 16 (16A242d) - Apple 平台 IDEXcode 16 (16A242d) - Apple 平台 IDE IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 请访问原文链接:https://sysin.org/blog/apple-xcode-16/,查看最新版。原创作品,转载请保留出处。The SDKs it contains are:iOS 18.0 (Build 22A3…

凡人歌:平凡公司的技术面试

我们见惯了大厂刷题面试宝典,大佬们只招世界上最优秀的人新闻。我们也乐见这些金字塔顶端给大家洒下的热点鸡汤。而现实却是平凡的小公司才是主流。我们见惯了大厂刷题面试宝典,大佬们只招世界上最优秀的人新闻。我们也乐见这些金字塔顶端给大家洒下的热点鸡汤。而现实却是平…

攻防世界 ————新手模式适合作为桌面 misc

(本篇文章参考大佬的解题) 下载附件,得到rar的的压缩包,解压缩,打开文件后有一张图片:打开图片发现什么也没有:使用软件Stegsolve打开图片看有什么问题:点击下一页:点击后发现有一个二维码:把他保存下来,使用软件扫码看看里面有什么: (我是用微信扫码的) 出现了十…

代码整洁之道--读书笔记(11)

代码整洁之道简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更…

Win7玩游戏Ctrl和空格不能一起按的解决方案

前几天在Windows7上玩《Minecraft》的时候,发现Ctrl和空格不能一起按,就开始研究,找到一个解决方案。 首先打开控制面板,点击更改键盘或其他输入法,就会进入文本服务与输入语言。点击更改键盘,进入高级键设置选项卡,点击下面的快捷键,再点击更改按键顺序。如图,随便把…

深度学习 初识学习 9.16

什么是SVM SVM(Support Vector Machine,支持向量机)是一种监督学习模型,用于分类和回归分析。其基本思想是找到一个超平面,使得两类样本在该超平面上的间隔最大化。这个间隔被称为“最大间隔”,而位于最大间隔边界上的样本点则被称为“支持向量”。 SVM的关键概念:超平面…