当前位置: 首页 > wzjs >正文

个人做外贸网站违法吗房地产信息管理系统软件

个人做外贸网站违法吗,房地产信息管理系统软件,海丰县建设局官方网站,单位做网站的目的我是一名资深的游戏客户端,没事的时候我就想手搓轮子 本文目标 搓一个骨骼动画的核心实现,促进理解骨骼动画本质 骨骼动画简介 官方解释上网搜或者问豆包 快速理解 想知道骨骼动画怎么个事要先知道模型是怎么个事 简单来说:模型 顶点数…

我是一名资深的游戏客户端,没事的时候我就想手搓轮子

本文目标

搓一个骨骼动画的核心实现,促进理解骨骼动画本质

骨骼动画简介

官方解释上网搜或者问豆包

快速理解

想知道骨骼动画怎么个事要先知道模型是怎么个事
简单来说:模型 = 顶点数据 + 三角形 + 材质
骨骼动画 = 模型 + 骨骼权重数据
骨骼权重数据是编辑器下由美术编辑出来的数据,指明某个顶点受到几根骨骼影响,每个骨骼权重是什么
在unity里,骨骼就是transform

思路

  • 在unity里自己实现一个组件,自己做骨骼对顶点的影响,完成蒙皮
  • 骨骼的transform驱动还靠unity的Animation,在自己的组件里获取骨骼transform就够了
  • 参照SkinnedMeshRenderer设计自己的组件
  • 骨骼动画核心公式,求顶点位置:skinnedVertex = 加权求和(骨骼local2world矩阵 * 顶点初始位置矩阵 * vertex * weight)
  • 只要能拿到顶点,骨骼transform,顶点初始位置矩阵,权重数据,就可以求出来模型某个顶点在动画中某一帧的位置

准备数据

  • 模型,fbx模型文件的mesh
  • 获取骨骼
深度遍历根骨骼的子节点是不行的,里面有用不上的transform不是骨骼,得解析fbx模型文件
FBX模型文件里有骨骼数据形如:Deformer: "SubDeformer::Cluster DummyMesh B-hips", "Cluster"
解析fbx费事,不是核心代码,用SkinnedMeshRenderer的接口bones获取
  • 权重数据,用Mesh的boneWeights接口,一个顶点最多受到4个骨骼影响,基本够用
  • 顶点初始位置矩阵,用Mesh的bindposes接口获得

开搓

using UnityEngine;namespace HotPlayer.Demos
{[ExecuteInEditMode]public class HotSkinnedMeshRenderer : MonoBehaviour{public Mesh mesh;public Material material;public bool castShadow = true;public bool receiveShadow = true;public bool useLightProbes = true;private Mesh skinnedMesh;private Vector3[] vertices;private BoneWeight[] boneWeights;private Transform[] bones;void Start(){skinnedMesh = Instantiate(mesh);skinnedMesh.name = mesh.name + "_Skinned";boneWeights = skinnedMesh.boneWeights;vertices = skinnedMesh.vertices;bones = gameObject.GetComponent<SkinnedMeshRenderer>().bones;}private void OnDestroy(){if (skinnedMesh != null){if (Application.isPlaying){Destroy(skinnedMesh);}else{DestroyImmediate(skinnedMesh);}}}private void UpdateVertices(){for (var i = 0; i < boneWeights.Length; i++){BoneWeight boneWeight = boneWeights[i];Vector3 vertex = mesh.vertices[i];Vector3 skinnedVertex = Vector3.zero;var index = boneWeight.boneIndex0;Transform bone;if (index > 0){bone = bones[index];var boneMatrix = bone.localToWorldMatrix * mesh.bindposes[index];skinnedVertex += boneMatrix.MultiplyPoint3x4(vertex) * boneWeight.weight0;}index = boneWeight.boneIndex1;if (index > 0){bone = bones[index];var boneMatrix = bone.localToWorldMatrix * mesh.bindposes[index];skinnedVertex += boneMatrix.MultiplyPoint3x4(vertex) * boneWeight.weight1;}index = boneWeight.boneIndex2;if (index > 0){bone = bones[index];var boneMatrix = bone.localToWorldMatrix * mesh.bindposes[index];skinnedVertex += boneMatrix.MultiplyPoint3x4(vertex) * boneWeight.weight2;}index = boneWeight.boneIndex3;if (index > 0){bone = bones[index];var boneMatrix = bone.localToWorldMatrix * mesh.bindposes[index];skinnedVertex += boneMatrix.MultiplyPoint3x4(vertex) * boneWeight.weight3;}vertices[i] = skinnedVertex;}skinnedMesh.vertices = vertices;skinnedMesh.RecalculateBounds();skinnedMesh.RecalculateNormals();}void Update(){#if UNITY_EDITORif (Application.isPlaying)DrawSkinMesh();elseGraphics.DrawMesh(mesh, transform.localToWorldMatrix, material, 0, null, 0, null, castShadow, receiveShadow, useLightProbes);
#elseDrawSkinMesh();
#endif}private void DrawSkinMesh(){UpdateVertices();Graphics.DrawMesh(skinnedMesh, transform.localToWorldMatrix, material, 0, null, 0, null, castShadow, receiveShadow, useLightProbes);}}
}

结语

点赞超64就再搓一个GPU版骨骼蒙皮动画

所以说学习好啊,得学啊,因为真男人必会手搓轮子

http://www.dtcms.com/wzjs/822529.html

相关文章:

  • 启用中文域名大网站wordpress文章管理
  • 网站建设公司初心网站建设深圳给源码
  • flash 企业网站 源码网页制作三合一案例教程
  • 兰州网站建设实验总结全国较好的网站建设公司
  • 交互式网站开发技术有哪些网站设计与开发怎么做
  • 北京市房山建设培训学校网站宣传部网站建设计划书
  • 专题网站开发工具给我免费播放的电影在线观看
  • 恩施网站建设公司山东省建设资格注册中心网站
  • 一般请人做网站和app多少钱平台网站建设网站
  • 网站后台管理模板免费下载网站建设是前端么
  • 服装箱包网站建设网站建设太金手指六六二五
  • 佛山科技网站建设高端网站设计公司有
  • 潘多拉固件建设网站微信里的小程序不见了
  • 投资交易网站开发群辉wordpress端口
  • 凡客建站网临沂个人做网站
  • 网页设计模板素材网站大全做网站都需要什么步骤
  • 淄博做网站的公司都有哪些电子商务搭建平台
  • 推销什么企业做网站和app6企业网站的建设目的包含什么
  • 个人网站做支付接口小程序招商加盟平台
  • 常州市城市建设局网站南京设计公司前十名
  • 济南城之运维网络科技seo网站推广软件
  • 东莞网络营销型网站一站式做网站价格
  • 免费的黄金网站有哪些企业网站seo运营
  • 一款非常不错的seo网站优化公司源码西双版纳傣族自治州医院
  • 公司的网站怎么建设wordpress qqoq主题
  • 网站怎么换域名重庆网站建设子沃科技熊掌号
  • 农产品电子商务网站建设现状阿里巴巴网站icp编号怎么查
  • 网站备案主体信息变更wordpress搜索框样式
  • 伽师网站建设玉林城乡住房建设厅网站
  • 辽阳市城市建设档案馆网站Wordpress做什么网站赚钱