Unity自带方法读写JSON文件

这篇具有很好参考价值的文章主要介绍了Unity自带方法读写JSON文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近使用JSON文件保存模型表情数据,简单记录一下。

首先自定义数据类,需要记录表情每帧的所有BlendShape及时间戳:

[System.Serializable]
public class RecBlendShape
{
	public List<float> Fram;
	public long timeStamp;

}

使用Unity自带的JSON读写方法:

	/// <summary>
	/// 记录BlendShape数据为JSON
	/// </summary>
	private void RecBlendShapeToJSON()
	{
        //获取表情BlendShape值
		List<float> getBS = new List<float>();
		RecBlendShape testRecBS = new RecBlendShape();
		for (int i = 0; i < targetFace.sharedMesh.blendShapeCount; i++)
		{
			getBS.Add(targetFace.GetBlendShapeWeight(i));

		}
		testRecBS.Fram = getBS;

        //当前时间戳转毫秒时间
		long curTimeStamp = (System.DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000;
		//计算与开始记录的时间间隔
		testRecBS.timeStamp = curTimeStamp - startTimeStamp;

        //序列化为JSON格式保存为StringBuilder类型
		string json = JsonUtility.ToJson(testRecBS) + "\n";		
		myJSON.Append(json);

	}

    /// <summary>
    /// 读取JSON每帧赋值一个表情数据
    /// </summary>
    private void UpdateData()
    {
        //反序列化JSON数据
        rbs = JsonUtility.FromJson<RecBlendShape>(getJSON[frame]);
        for (int j = 0; j < defaultFace.sharedMesh.blendShapeCount; j++)
        {
            defaultFace.SetBlendShapeWeight(j, rbs.Fram[j]);

        }        
        frame++;

    }

保存与读取JSON文件:

	/// <summary>
	/// 保存JSON文件
	/// </summary>
	private void SaveJSON()
	{
		FileStream file = File.Create(targetFbxFile + "_FaceJson.json");
		byte[] byteArray = System.Text.Encoding.Default.GetBytes(myJSON.ToString());
		file.Write(byteArray, 0, byteArray.Length);
		file.Close();

	}

	/// <summary>
	/// 读取JSON文件
	/// </summary>
	private void SaveJSON()
	{
        path = targetFbxFile + "_FaceJson.json";
        if (!File.Exists(path))
        {
            Debug.Log("文件不存在");
            return;
        }
        getJSON = File.ReadAllLines(path);

	}

简单记录,部分变量与方法未展示,仅供参考。文章来源地址https://www.toymoban.com/news/detail-516786.html

到了这里,关于Unity自带方法读写JSON文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 数据读取|(四)Json文件解析(Newtonsoft.Json ,Litjson,JsonUtility,SimpleJSON)

    JSON文件是一种纯文本文件,用于存储数据,并且是基于JavaScript的一个子集。JSON文件通常用于存储和传输数据,以及在应用程序之间交换信息。它们以键值对的形式存储数据,其中键是字符串,值可以是字符串、数字、布尔值、数组、对象或null。 JSON文件通常具有.json扩展名

    2024年02月05日
    浏览(47)
  • Unity中读取Json文件:基于Assets/Resources文件夹

    我好生气😤,Python,JS里面一两行代码能够搞定的Json读取,在Unity中使用C#读取Json文件超多坑,爬出来一个又来一个。 主要是JsonUtility.FromJson太不给力了。 最好的方式是,使用 https://github.com/jilleJr/Newtonsoft.Json-for-Unity 这个第三方库。详情见下。 Step 1: 先把对应的Json File放到

    2024年02月12日
    浏览(40)
  • 【Unity 3D】C#从JSON文件中读取、解析、保存数据(附源码)

    JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式存储和表示数据,简洁和清晰的层次结构使JSON成为理想的数据交换语言,易于读者阅读和编写,同时也易于机器解析和生成,并有效的提高网络传输效率 生成JSON数据实例代码如下 下面的代码将JSON中数据

    2024年02月11日
    浏览(45)
  • Unity——JSON的读取

    在实际中,读取JSON比保存JSON重要得多。因为存档、发送数据包往往可以采用其他序列化方法,但游戏的配置文件使用JSON格式比较常见。游戏的配置数据不属于动态数据,属于游戏资源,但很适合用JSON表示。 下面以一个简单的JSON数据文件为例,演示读取JSON。从整体上看有两

    2024年02月06日
    浏览(30)
  • Unity之Json读取写入

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,主要用于传送数据。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使

    2024年02月05日
    浏览(45)
  • unity c# 读写 json 数组(FromJson / ToJson)

    写入的一定是 一个完整的 object ,不能是 object 的数组 ref tojson 定义对象为 读取的时候一定要是一个 完整的 object ref json must represent an object type 如果 text 的格式为一个json对象: 那么定义对象为 读取格式为 如果 text 的格式为一堆json对象的列表: 那么定义对象为 读取的格式为

    2024年02月07日
    浏览(27)
  • 【Unity】C# 创建/读取/解析JSON数据

    判断是否存在JSON数据文件没有则创建并保存

    2024年02月16日
    浏览(58)
  • Unity文本框解析读取mqtt服务器JSON数据

    本次内容是讲述如何将mqtt服务器中接收到的数据在Unity3D的文本框控件中显示JSON键值对中的“值”。 需求: 1.GameObject——UI——Text (将Unity 3D的文本框控件置于场景) 命名空间引用: using UnityEngine.UI; 2. Newtonsoft插件 命名空间引用: Newtonsoft.Json.Linq; 3.MQTT通讯需求: (1)h

    2023年04月08日
    浏览(70)
  • 045:Vue读取本地上传JSON文件,导出JSON文件方法

    第045个 查看专栏目录: VUE ------ element UI 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,upda

    2024年02月04日
    浏览(38)
  • Unity解析json文件(分为json与jsonArray)

    什么是json? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度, 那么,JSON到底是什么? JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 “” 双引号内是

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包