unity动作捕捉自学内容整理

目录

  • SMPL模型
    • 模型讲解
    • 尝试一:使用pyrender进行渲染
      • 尝试失败
    • 尝试二:python3.8+numpy1.23将pkl转换为obj
      • 尝试成功
    • 尝试三:unity中使用SMPL模型
      • 尝试成功
  • BVH
    • 代码分析
    • 尝试一:用unity读取BVH文件并做蒙皮
      • 尝试成功
      • 使用方法
    • 尝试二:用C++和freeglut读取BVH文件
      • 尝试成功
      • 使用方法
  • unity的TCP通信
    • 原理讲解
    • 尝试一:用unity实现客户端服务端的信息收发
      • 尝试成功
      • 使用方法
  • unity骨骼动画
    • 概述^1^
    • 模型与动画^1^
      • Generic
      • Humanoid
        • Avatar文件
    • Aimator组件^2^
      • Animator的创建
      • Animator Controller
      • Animator Clip
      • 状态机的状态(State)
      • 状态间的过渡关系(Transitions)
      • 状态控制参数
      • 编辑切换状态的条件
      • 检查动画状态 是否为jump
      • 注意事项
    • 骨骼动画技术原理
    • 重定向
    • 参考资料

SMPL模型

模型讲解

讲解链接1
讲解链接2


尝试一:使用pyrender进行渲染

尝试一:使用pyrender进行渲染

尝试失败

尝试失败:和链接2是同一作者 试了程序 但是代码是用py2.7写的 还需要安装chumpy 而且他的展示方式是pyrender 遂放弃继续搭建环境 本次尝试作罢


尝试二:python3.8+numpy1.23将pkl转换为obj

尝试二:python3.8+numpy1.23将pkl转换为obj

SMPL官网提供了两个pkl模型(男人和女人),这种模型无法直接使用,需要对文件进行解析。由于论文时间很早,官方给出的解析方法依赖python2.7和chumpy库。为了方便实现以后使用,可以用python3.8+numpy+chumpy将pkl转化为obj网格模型。

1、在SMPL官网下载基于python2.7解析的pkl模型

SMPL官网

注意:下载要在此网站上注册账号。
在这里插入图片描述
在这里插入图片描述
千万不要下载错了,下载成v1.1.0的模型会导致后续执行smpl_np.py失败。出现点乘计算错误。
在这里插入图片描述
2、下载python源码3.8并配置环境

用python转换文件的原github地址请参考这里

需要说明的一点是,github在“Usage”中提到,官方pickle模型包括chumpy对象,预处理脚本prerocess.py需要chumpy去提取模型。但是pip版本过高安装不了chumpy。需要稍微修改下chumpy源码并进行手动安装。并给出了以下参考博客:

https://blog.csdn.net/qq_28660035/article/details/81319055

但是这篇博客也发布很久了。他告诉我们要用以下方法用pip安装chumpy:
在这里插入图片描述
实际上,早在2020年8月,chumpy经历过版本升级。兼容了更高的pip版本。已经不需要再改源码了。
在这里插入图片描述
在这里插入图片描述
说了一大堆,其实就是想说无论用的是什么pip版本,直接pip安装chunmy就好。

下载完源码后,使用anaconda创建一个python3.8的环境,并安装numpy、scipy和chumpy包。

conda create -n SMPL python=3.8
conda activate SMPL
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy scipy 
pip install chumpy

可能遇到的问题:ImportError: cannot import name ‘bool’ from ‘numpy’
在这里插入图片描述

这是由于numpy版本过高,降级到1.23即可

pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.23

3、运行并测试
首先运行预处理文件,将1.1下载的basicModel_f_lbs_10_207_0_v1.0.0.pkl和basicmodel_m_lbs_10_207_0_v1.0.0.pkl都放到源码目录如下:
在这里插入图片描述
anaconda中执行:

python preprocess.py basicmodel_m_lbs_10_207_0_v1.0.0.pkl

会在当前文件夹下生成一个model.pkl文件。相当于将chumpy能解析的pkl文件转化为numpy可以解析的pkl文件。smpl_np.py 和smpl_tf.py都依赖于model.pkl。
继续执行

python smpl_np.py

会在当前路径下生成smpl_np.obj文件。就可以供后续使用了(Meshlab演示)。
当然也可以参照上述说明解析basicModel_f_lbs_10_207_0_v1.0.0.pkl
在这里插入图片描述
在这里插入图片描述
项目中的其余文件说明:
smpl_tf.py:使用TensorFlow将pkl转换为obj
smpl_torch.py:使用Pytorch将pkl转换为obj
smpl_torch_batch.py:使用Pytorch按批量将pkl转换为obj
test.py:测试所有脚本
SMIL_torch_batch.py:使用Pytorch按批量将pkl转换为SMIL模型的obj

以上文件均为测试,感兴趣的读者不妨自己配置环境试下

尝试成功

尝试成功:项目地址位于D:\WLm_Project\SMPL\python
在conda的SMPL环境中可以直接运行preprocess.py和smpl_np.py脚本,输出smpl_np.obj。这是标准的SMPL模型的TPOSE


尝试三:unity中使用SMPL模型

尝试三:unity中使用SMPL模型

尝试成功

尝试成功:项目地址位于D:\WLm_Project\SMPL\unity
在这里插入图片描述

这个unity工程直接由SMPL官网给出,直接下载即可。此项目兼容2021.3.11f1c2编辑器,可用此编辑器重新编译并运行。
在这里插入图片描述

SMPL-unity


BVH

代码分析

讲解链接


尝试一:用unity读取BVH文件并做蒙皮

尝试一:用unity读取BVH文件并做蒙皮

尝试成功

尝试成功:项目地址位于D:\WLm_Project\BVH\unity_BVHParser
在这里插入图片描述
可用D:\WLm_Project\BVH\标准BVH文件去驱动任意的obj文件。

使用方法

使用方式见此。驱动新obj主要修改以下三个选项:

  • target avatar:模型名称
  • Bonemap,即关节点对照表(unity骨架名称和给定bvh的对应关系)目录:D:\WLm_Project\Unity\Unity_project\BVH\Assets\BVHParser\Resources\Bonemaps.txt
  • filename,即bvh目录:D:\WLm_Project\Unity\Unity_project\BVH\Assets\BVHParser\Resources\bvh\13_29.bvh

不知道怎么修改可以参考Pumpkinhulk L Shaw的三属性

在这里插入图片描述

BVH

此方法有重大不足:只能读取初始姿态是T-pose的BVH数据,也就是我们自己的数据是读不了的


尝试二:用C++和freeglut读取BVH文件

尝试二:用C++和freeglut读取BVH文件

尝试成功

尝试成功:项目地址位于D:\WLm_Project\BVH\LoadandDisplayBVH

bvh-freeglut

使用方法

运行程序后直接按L导入标准BVH文件即可。
此方法仍然存在重大不足:只能读取初始姿态是T-pose的BVH数据,也就是我们自己的数据是读不了的


unity的TCP通信

原理讲解

Socket通信


尝试一:用unity实现客户端服务端的信息收发

尝试一:用unity实现客户端服务端的信息收发
提取码:e50n

尝试成功

尝试成功:项目地址位于D:\WLm_Project\TCP
在这里插入图片描述

使用方法

同时启动两个项目,更改ip。服务端和客户端收发信息会在另一端显示
在这里插入图片描述


unity骨骼动画

找了很久没有找到骨骼动画的完整教学,只能在网上西拼八凑找资料整合到一起记录下。作为学骨骼驱动的入门资料。这部分参考了很多帖子,代码。会在文章末尾一 一给出链接。

概述1

3D模型(Model)是由一个个三角形组成网格(Mesh)模型。
在这里插入图片描述
骨骼(Skeleton)是驱动模型运动的根本,如下图所示,是一堆彼此之间有父子关系的节点相连:
在这里插入图片描述
让模型跟着骨骼一起运动,这个骨肉融合的过程称为绑定,具体要做的事便是将某节骨骼与相关的网格建立关系:
在这里插入图片描述
如上图所示,模型上有着不同的颜色,这表示该节骨骼所影响到的网格权重值(蓝色为0,红色为1),所以绑定也俗称“刷权重”。权重值越高,该节骨骼对相应网格的影响便越大(存在多节骨骼对相同网格存在影响,此时便要通过权重值来决定优先级)。

模型与动画1

以unity常使用的动画格式FBX为例,假设动画FBX文件里只有骨骼与动画信息,不含模型,我们希望用多个模型复用相同的FBX动画。换句话说,就是希望用这个FBX文件驱动不同的模型做同一种运动。这就会涉及到Unity里的两种骨骼动画模式:Generic与Humanoid。

Generic

在这种动画模式下实现复用的思想很朴素:只要模型的骨骼与动画的骨骼要素相同(也就是FBX文件中骨骼信息(名称和个数等)和模型的骨骼信息一致),那么复用便是水到渠成的事了。但是这会导致难以使用第三方资源。因为模型的创建可以由多种软件实现,并无统一的标准。

Humanoid

4为了让单个动画可以通用于多个不同的人型模型上,Unity官方开发了一套骨骼重定向系统,把不同人型模型的骨骼映射到一套通用的骨骼映射上(下图),然后再让动画去驱动这个通用的骨骼映射,从而实现驱动不同的模型。这是一种专为人形设计的动画模式。只需要把模型导入到Unity,就能自动生成骨骼映射(在Unity里是一个Avatar文件)

Avatar文件

Avatar文件主要保存的是骨骼的映射关系。右侧的人体里的每一个圆点代表着一个关节点,Optional Bone下面左边那一列就是Unity里设定好的关节点的名称,它们在每个Avatar文件里都是一样的,而右边部分就是当前这个模型的骨骼节点,Unity已经帮我们映射好了它们与通用人型骨骼的对应关系。当我们把这个Avatar映射文件赋值给Animator后,Animator就会去驱动固定的那些骨骼信息点,而这些固定的骨骼信息点就会去根据它们和模型真实骨骼的映射关系找到真正需要驱动的骨骼点,从而对其进行驱动,最终整个模型就动起来了。4
在这里插入图片描述

Aimator组件2

这个帖子2介绍的很详细 可以按照这个博主的方法实操一遍 强烈推荐

Animator的创建

创建一个实例Cylinder
在这里插入图片描述
选中 ctrl+6 创建Animation 名称为New Animation.anim
在这里插入图片描述
此时在当前Asset下会出现与实例同名的控制器Cylinder.controller 和 刚创建好的动画New Animation.anim
在这里插入图片描述
同时在左侧也会自动出现Animator组件
在这里插入图片描述

Animator 组件从上到下分别是:控制器,化身,应用根运动,更新模式(Normal是法线),剔除模式(括号里是总是动画化)3

Animator Controller

在生成的Animator组件上, 第一个Controller参数在创建Animator时已经被赋值了,可以点击该值,并切换到Project窗口下,会发现这个 Controller对应的文件是一个.controller文件。
Animator Controller就是动画控制器,负责在不同的动画间切换,属于制作动画效果的必备原件。
在这里插入图片描述
注意,你也可以通过GameObject上的 Add Component添加一个崭新的 Animator组件,但是这种情况下 Animator的 Controller参数默认为空,所以需要我们手动将事先准备好的.controller文件拖拽到该参数位置,动画控制器才能正常工作。可以直接创建一个空的controller
在这里插入图片描述
双击 .controller"文件,会弹出一个 Animator窗口,该窗口中显示的就是动画控制器文件中的所有内容
在这里插入图片描述

Animator Clip

在Project窗口右键单击,选择Create->Animation也可重新一个Animation Clip(.anim文件)命名为New Animation2.anim
在这里插入图片描述
再把New Animation2.anim文件拖拽进Animator窗口,作为Animator Controller的一个状态(State)
在这里插入图片描述
通过Animator创建出来的Animation Clip无法直接通过挂Animation组件进行播放,如果强行播放,Console会报一条警告信息:
在这里插入图片描述
把Inspector切换为Debug模式 可以看到Animation Clip有个Legacy勾选框 Legacy是遗产的意思,也就是传统的通过

Animation组件来播放Animation Clip的做法,如果使用Animation组件来播放Animation Clip,则必须把Legacy勾选上,不过这种方式已经是过时的做法,推荐使用Animator来播放Animation Clip。(没用过老版的 不太明白这句话)

在这里插入图片描述

状态机的状态(State)

每个Animator Controller都会自带三个状态:Any State, Entry和 Exit。
在这里插入图片描述
1、Any State状态
表示任意状态都有可能切换到的特殊状态。例如我们如果希望角色在任何状态下都有可能切换到死亡状态,那么Any State就可以帮我们做到。当你发现某个状态可以从任何状态以相同的条件跳转到时,那么你就可以用Any State来简化过渡关系。

2、Entry状态
表示状态机的入口状态。当我们为某个GameObject添加上Animator组件时,这个组件就会开始发挥它的作用。

如果Animator Controller控制多个Animation的播放,那么默认情况下Animator组件会播放哪个动画呢? 由Entry来决定的。
但是Entry本身并不包含动画,而是指向某个带有动画的状态,并设置其为默认状态。被设置为默认状态的状态会显示为 橘黄色。(比如上图默认状态就是New Animation)
当然,你可以随时在任意一个状态上通过 鼠标右键->Set as Layer Default State更改默认状态。

记住, Entry在Animator组件被激活后 无条件 跳转到默认状态,并且每个Layer有且仅有一个默认状态。
在这里插入图片描述
3、Exit状态
表示状态机的出口状态,以红色标识。如果你的动画控制器只有一层,那么这个状态可能并没有什么卵用。但是当你需要从子状态机中返回到上一层(Layer)时,把状态指向Exit就可以了。
在这里插入图片描述

在Inspector窗口下观察Animator clip动画文件.anim具有的属性
在这里插入图片描述

在这里插入图片描述

状态间的过渡关系(Transitions)

状态间的过渡关系(Transitions),直观上说它们就是连接不同状态的有向箭头
要创建一个从状态A到状态B的过渡,直接在状态A上 鼠标右键 - Make Transition并把出现的箭头拖拽到状态B上点击鼠标左边即可。
在这里插入图片描述

状态控制参数

添加状态控制参数:参数有Float,Int,Bool,Trigger。

Float、Int用来控制一个动画状态的参数,比如速度方向等可以用数值量化的东西,
Bool用来控制动画状态的转变,比如从走路转变到跑步,
Trigger本质上也是bool类型,但它默认为false,且当程序设置为true后,它会自动变回false。
在这里插入图片描述
如下这里创建一个Int类型的参数AnimState
在这里插入图片描述

编辑切换状态的条件

点击连线,在Inspecter窗口中可以进行设置,在Conditions栏下可以添加条件,如下图表示当参数
AnimState为0时会执行这个动画New Animation到New Animation2的过渡(这个AnimState可以想象为血量 阵亡了就切换状态)

必须在Parameters面板中添加了参数才可以在这里查看到,其次添加的条件为&&”与”关系,即必须同时满足。
在这里插入图片描述
可以通过代码来设置条件状态,达到动画切换的目的

//设置参数AnimState为0
Animator ator = go1.GetComponent<Animator>();
ator.SetInteger("AnimState", 0);

检查动画状态 是否为jump

方法1、使用API AnimatorStateInfo

//检查是否正在播放jump动画.
AnimatorStateInfo stateinfo = anim.GetCurrentAnimatorStateInfo(0);   
bool playingJump = stateinfo.IsName("jump");
if(playingJump)
{if(stateinfo.normalizedTime < 1.0f){//正在播放}else{//播放结束}}

方法2、继承StateMachineBehaviour
Animator的每个状态都可以挂载脚本,创建脚本,继承于StateMachineBehaviour类,用于检测状态机中动画切片(Anamation)的运行状态。在这里插入图片描述
将脚本挂载在对应的状态上即可。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class JumpState : StateMachineBehaviour
{private GameObject player;override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){// 正在played的状态的第一帧被调用Debug.Log("------OnStateEnter------------");}// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacksoverride public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}// OnStateExit is called when a transition ends and the state machine finishes evaluating this stateoverride public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){// 转换到另一个状态的最后一帧 被调用Debug.Log("-------------OnStateExit-----------------");}// OnStateMove is called right after Animator.OnAnimatorMove()override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){// 在OnAnimatorMove之前被调用 }// OnStateIK is called right after Animator.OnAnimatorIK()override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){// 在OnAnimatorIK之后调用,用于在播放状态时的每一帧的monobehavior。// 需要注意的是,OnStateIK只有在状态位于具有IK pass的层上时才会被调用。// 默认情况下,图层没有IK通道,所以这个函数不会被调用// 关于IK的使用,可以看看这篇文章《Animator使用IK实现头部及身体跟随》// https://www.jianshu.com/p/ae6d65563efa}
}

注意事项

1.取消勾选 Can Transition To Self,不然动画会出现抖动
在这里插入图片描述
2.动作循环。不然如果没有下个状态切换,直接停止动作
在这里插入图片描述
3.Has Exit Time,如果勾选了,则表示在该动作完成后才允许切换,但是一般我们要的都是立即切换,所以这里 不要勾选
在这里插入图片描述
4.镜像,可以反转当前动画,减少动画师工作量
在这里插入图片描述
5.Solo与Mute
Mute相当于把目标过渡禁用掉。Solo表示只生效这一条过渡 可以多选,当选中后会出现箭头提示 条件满足优先于Solo/Mute,当条件没有满足时依然不会过渡

在这里插入图片描述

骨骼动画技术原理

重定向

参考资料

1.Unity骨骼动画的总结
2.Unity动画状态机Animator使用
3.Unity – Animation(旧版动画组件)和Animator(新版动画器组件)
4.Unity动态创建Avatar骨骼映射
https://zhuanlan.zhihu.com/p/79208337
https://blog.csdn.net/zb1165048017/article/details/112394097
https://blog.csdn.net/Nbin_Newby/article/details/128045244

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

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

相关文章

3D动作捕捉实施推流虚拟人物角色动画的实时运动捕捉系统

一个面向VTuber/Live/AR/VR的跨平台实时视频驱动的动作捕捉和3D虚拟角色渲染系统。 虚拟角色指现实中不存在的人物角色等创作性作品中虚构的人物。 洛天依与“翎”&#xff0c;有一个共同的名字&#xff1a;虚拟人物。虚拟人物指通过技术手段生成、带有拟人色彩的虚拟形象&…

OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合

OpenCVMediapipe人物动作捕捉与Unity引擎的结合 前言Demo演示认识Mediapipe项目环境身体动作捕捉部分核心代码完整代码Motion.py运行效果 Unity 部分建模Line.csAction.cs最终实现效果 前言 本篇文章将介绍如何使用Python利用OpenCV图像捕捉&#xff0c;配合强大的Mediapipe库…

动作捕捉软件系统有那么重要吗?

很多人会问&#xff0c;科技产品到底是硬件重要还是软件重要&#xff1f;这个真的不好回答&#xff0c;软件和硬件是一样的。有人说“硬件不够&#xff0c;软件来凑”&#xff0c;但是很多软件系统对硬件要求也很高&#xff0c;不然运行不起来。 比如动作捕捉相机&#xff0c;…

角色动画(四)——动作捕捉

在我们的动画的制作中&#xff0c;由于一部分细致的k帧如人物表情&#xff0c;手部的活动是需要细致k帧的&#xff0c;而一些大的持续长的人体动作k 起帧来比较麻烦&#xff0c;所以引入了我们需要使用动捕设备&#xff0c;诺亦腾惯性动捕设备。 使用动捕设备做角色动画能使人…

【Unity】超简单特效 - 子弹拖尾效果

前言&#xff1a; 游戏中往往少不了 “子弹 ”&#xff0c;子弹常常需要带着小尾巴&#xff0c;今天我们就来了解并简单在Unity中实现子弹拖尾效果。 初步实现&#xff1a; 第一步我们还是新建一个场景&#xff0c;这里我们选择2D与黑底摄像机方便观察。然后创建一个空对象作为…

浅谈低成本视频动作捕捉技术

原文链接 快手Y-tech 原创 最新技术干货分享 近年来&#xff0c;随着人工智能技术的发展和移动互联网的兴起&#xff0c;基于视频的低成本动作捕捉技术逐渐在游戏制作、虚拟主播、AR/VR等领域展露头角。低成本视频动捕技术大大拓展了动捕技术的受众范围&#xff0c;给普通用户…

动画合成技术中的动作捕捉

近几年来&#xff0c;三维动画合成技术被广泛地运用到游戏动画、电影特效、虚拟现实等数字媒体领域&#xff0c;已然成为计算机图形学领域的研究热点。该技术的实现依赖于动作捕捉技术&#xff0c;通过动作捕捉系统获取到运动物体的数据信息&#xff0c;再利用动作融合模型将捕…

steam/csgo搬砖技巧,有手就会的副业

"Steam 搬砖" 是指通过在 Steam 平台上购买游戏或道具&#xff0c;然后在其他平台上卖出以获取差价赚取利润的一种方式。放眼互联网行业&#xff0c;steam的收益率和稳定性都是非常客观的&#xff0c;可以说远超过许多项目。 应该如何掌握了正确搬砖的方法和技巧呢&a…

深度学习训练营实现minist手写数字识别

深度学习训练营 原文链接环境介绍前置工作设置GPU导入要使用的包进行归一化操作样本可视化调整图片格式 构建CNN网络编译模型模型训练预测操作 原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;365天深度学…

365天深度学习训练营-第P1周:实现mnist手写数字识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 内部限免文章&#xff08;版权归 K同学啊 所有&#xff09;&#x1f366; 参考文章地址&#xff1a; &#x1f517;第P1周&#xff1a;实现mnist手写数字识别 | 365天深度学习训练营&#x1f356; 作者&#xff1a;K同学…

找工作交流群

群定义 源码圈找工作交流群&#xff0c;不同于原有的源码圈技术群&#xff0c;主要如下几点不同&#xff1a; 按照地区拆分。精力有限&#xff0c;暂时只有北上广深杭&#xff0c;拉人进群很累的&#xff01;&#xff01;&#xff01;探讨面试相关的问题。你懂的&#xff0c;面…

最近找工作的行情大家来交流交流

人在广州 4 年经验前端没有大厂经历&#xff0c;广州的外包岗位都不好进&#xff0c;现在开始往北京上海投简历了&#xff0c;恐怕面临转行 最近广州大厂是不是在裁员&#xff0c;这样下去更难找了 坐标上海外企&#xff0c;有岗位&#xff0c;投递简历也很多&#xff0c;但是大…

字节跳动、小米、吉利汽车、同程艺龙、沙特阿美等公司高管变动

中国 字节跳动确认&#xff0c;TikTok首席执行官凯文梅耶尔(Kevin Mayer)已辞职。TikTok现任总经理瓦妮莎帕帕斯(Vanessa Pappas)将成为临时首席执行官。凯文梅耶尔于今年6月1日正式加入字节跳动&#xff0c;担任字节跳动COO兼TikTok全球CEO&#xff0c;此前为迪士尼流媒体负责…

【舆情监控】社会化大数据应用平台TOOM舆情监测系统

TOOM舆情监测系统 1.全面性 整合智能爬虫信息采集技术及信息研判和情感分析技术&#xff0c;对网上海量信息自动抓取、自动分类聚类、主题检测、专题聚焦&#xff0c;实现用户的网络舆情监测需求&#xff0c;形成简报、报告、图表等分析结果&#xff0c;为客户全面掌握网民舆…

大数据舆情监测

大数据舆情监测是当前比较流行的一项监测&#xff0c;今天&#xff0c;大数据技术的应用范围日益广泛。大数据正在促进信息技术与各行业的深度融合&#xff0c;其中的重点应用范围之一是在商业领域的运用&#xff0c;接下来我们简单了解大数据舆情监测分析方案&#xff0c;以及…

TOOM舆情分析网络舆情监控平台研究现状

随着网络舆情迅速发展&#xff0c;国内的舆情监测行业也日渐完善&#xff0c;舆情监控平台在企业发展过程中发挥重要作用&#xff0c;但同样也是有问题存在的&#xff0c;接下来TOOM舆情分析网络舆情监控平台研究现状? 一、网络舆情监控平台 网络舆情监控平台是一种能够对网…

舆情监测平台TOOM

随着互联网快速发展&#xff0c;如今市场上网络舆情监测平台种类有很多&#xff0c;但对于消费者很难挑选一款合适的舆情监测平台&#xff0c;接下来我们从网络舆情监测平台有哪些&#xff0c;舆情监测平台实时方案&#xff0c;如何挑选合适舆情监测平台三个方面&#xff0c;让…

网络舆情监测TOOM

网络舆情工作是收集整理分析和报送网络舆情信息&#xff0c;通过网络舆情监测实时监测网络信息&#xff0c;为企业提供强有力的支持工作&#xff0c;有效防范网络舆情危机&#xff0c;全面监测网络舆情信息的需求不断增加&#xff0c;接下来我们简单了解网络舆情监测相关事宜。…

搞笑短视频如何撰写脚本?分享简单小技巧

搞笑短视频如何撰写脚本&#xff1f;分享简单小技巧 在正式拍摄短视频之前&#xff0c;我们往往还需要撰写好脚本才行&#xff0c;它可以帮助我们更加顺利的拍摄短视频&#xff0c;也能让我们在后期制作的时候更为方便。而且短视频脚本撰写其实也相当于是短视频拍摄前的准备工…

【剪辑必备】短视频全自动切片软件,带货直播切片必备脚本【永久脚本+技术教程】

全自动切片系统 多线程处理 2小时的视频只需要30秒切片完成 影视剪辑 解说 抖音看电影项目 带货直播切片必备 如果你不会做影视解说 那你可以配合抖音看电影项目一起做 这项目目前都是用的这种软件切片制作的 某大V直播带货的时候把直播间录制下来 然后马上切片发布作…