自然语言交流系统 phxnet团队 创新实训 项目博客 (六)
从你进入软件开始,你就建立了和服务器的联系。这是一段和服务器的长连接,直到你退出此软件。
2D文字聊天界面大致实现了文字输入、发送消息、接收消息、你可以通过点击按钮让机器人开启聊天模式或者学习模式、又或是进入3D语音聊天界面或者退出。在assets文件夹下导入NGUI(使用的是3.6.8版本的.unitypackage)包,点击按钮时有声音和透明度、阴影的变化,通过给按钮添加声音.....这样的组件,使得用户体验得到提高,每当点击发送按钮实例化一个prefab呈现在聊天对话框中,你可以看见你发送的文字和你从服务器接收到的返回的对话,通过点击聊天对话框的文字,你的消息可以合拢关闭暂时隐藏,这是使用NGUI插件的UI Play Tween.script,通过服务器端发送回来的消息附带着标识字符,可以使人物做出相应的动作,画面的层次感是通过调节两个照相机的DEPTH、PROJECTION、SIZE、CLIPPING PLANES实现的,学习模式和聊天模式的相互切换则是通过向服务器发送标识字符来实现模式切换。
3D语音聊天界面重在动画,把动画过度的condition设置为下个动画为TRUE,当收到服务器端的标识字符,就把它设置为TRUE,人物就产生动画的过度。在人物模型的四个方向搭建照相机,调节照相机在最终屏幕上出现的位置,经过四棱锥对光的折射和反射,四个照相机所拍摄到的场景恰恰使其投影到了四棱锥中心,形成了立体。背景中,地势是用unity的Terrain,勾出起伏的地势,铺上texture草坪和树,给四个照相机添加天空盒子组件。同时,你也可以在3D界面通过按钮点击实现去2D文字聊天界面或者退出此程序。
UNITY和Android的交互:
AndroidJavaClass jc =
new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
AndroidJavaObject activity=jc.GetStatic<AndroidJavaObject>(“currentActivity”);
得到AndroidJavaClass类并且获得AndroidJavaObject 的activity对象,通过activity.Call(“”,args)函数的第一个参数(函数名)可以调用Android端的一个函数,args传递了此函数的参数,
UnityPlayer.UnitySendMessage
("AndroidManager", "AndroidCallBack",””);在安卓端将从科大讯飞翻译过后的文本传送给了以AndroidManager命名的类中AndroidCallBack为名的函数,由此实现了安卓和unity的交互。
UNITY和3DMAX动画模型的融合: 在assets包下导入3DMAX动画模型的包,创建一个Animator Controller,实现一个动画向下一个动画的过度,将动画模型加入场景,给每一个动画模型加上此动画控制器,使得动画控制的条件为下一个动画为true时,当从服务器接收到标识符时,就使他产生不同的动画,这样就实现了根据对话内容让模型做出相应的动作。
UNITY和服务器的通信:通过TCP/IP协议进行通信,使用SOCKET建立和对应IP对应端口号的连接,开启一个线程去等待着接收由服务器端发送过来的消息,读入时编码方式使用UTF-8,发送字符串通过socket,BeginSend方法实现发送。
自然语言交流系统 phxnet团队 创新实训 项目博客 (六)的更多相关文章
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (四)
刚开始做时,一点头绪都没有,整天的上网找资料,各种谷歌百度,各种博客论坛,搜索的关键词也无非是智能自然语言交流.智能机器人.中文问答系统等等等等.而我们的思路也是些零散的,例如我们知道会用到分词,会用 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (二)
基本要求 打开软件,即可进入2D文本交流界面, 软件此时已经连接到服务器,点击文本输入框输入你想说的话,点击发送按钮即可进行交流,点击CHAT和STUDY分别切换到聊天模式或是学习模式,聊天模式是机器 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十四)
项目技术借鉴报告: 一.服务器端(Server) 1.分词 分词使用的是庖丁分词.使用盘古分词词库和词素作为辅助.其中包括下载Jar包并且使用. 2.人工神经网络 以网上已有的初级网络为蓝图,结合机器 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十三)
对我们项目中的关键技术实现进行总结: 一.3DMax关键技术实现 1.一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. 2. 骨骼架设:首先对导入到3DM ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十二)
关于情感词典的学习总结: 情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度. 情感倾向方向也称为情感极性.在微博中,可以理解 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)
3DMax方面所涉及的专业知识: (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (一)
2D文字聊天界面大致预期实现文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出. 目背景 (1) 开发动机的形态 随着科技的进步与生活 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十一)
神经网络的计算过程 神经网络结构如下图所示,最左边的是输入层,最右边的是输出层,中间是多个隐含层,隐含层和输出层的每个神经节点,都是由上一层节点乘以其权重累加得到,标上“+1”的圆圈为截距项b,对输入 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十)
关于本项目中使用到的庖丁分词的总结: Paoding 详细介绍 庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网.企业内部网使用的中文搜索引擎分词组件.Paodi ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (九)
项目技术总结: VoiceToText的具体使用方法: 语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安 ...
随机推荐
- [svc][jk]磁盘的iops和吞吐量(Throught)指标
参考 另参考 IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一.IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处 ...
- pc客户端网页录音和压缩
web录音的功能,也就是怎么使用 getUserMedia 音频上传 栗子中最后返回的是Blob数据 return new Blob([dataview], { type: type }) 因为对ht ...
- GNU C库「glibc」getaddrinfo 发现重大漏洞
本文翻译至:http://www.itmedia.co.jp/enterprise/articles/1602/17/news065.html 大部分Linux应用程序使用的GNU C库「glibc」 ...
- hdu 3371 Connect the Cities(最小生成树)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3371 984ms风险飘过~~~ /************************************ ...
- Spark Streaming的接收KAFKA的数据
https://github.com/lw-lin/CoolplaySpark/blob/master/Spark%20Streaming%20%E6%BA%90%E7%A0%81%E8%A7%A3% ...
- 每日英语:The Benefits of a Better Men's T-Shirt
"I WEAR A T-shirt and jeans every single day," said Erik Schnakenberg, 30, co-founder of t ...
- c++11并发机制
传统意义上OS提供的并发机制包含进程和线程两个级别.考虑到实际复杂性,c++11仅提供了线程并发机制. c++11提供的线程并发机制主要位于四个头文件中:..... 线程并发机制包括线程管理.原子操作 ...
- FIS-PLUS百度前端框架使用过程
1.如果后端开发语言是php,那么前端fis框架用FIS-PLUS,如果是java则用jello 2.FIS-PLUS使用步骤 1.安装nodejs 2.安装 fis npm install -g f ...
- SP_OACreate提权经验
在xp_cmdshell被删除或者出错情况下,可以充分利用SP_OACreate进行提权 首先 EXEC sp_configure 'show advanced options', 1; ...
- java基础篇---网络编程(UDP程序设计)
UDP程序设计 在TCP的索引操作都必须建立可靠地连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外一种传输协议---UDP,不可靠的连接,这种协议在各个聊天工具中被广泛的 ...