Unity实用技能-模型

文章目录


前言

工作中有许多和模型相关的处理,总结一下


模型在屏幕上显示有几种方式?

  1. 第一种就是比较传统的使用RawImage和RenderTexture,然后设置摄像机的TargetTexture为RenderTexture,并且设置摄像机的CullingMask层级为模型相同层级即可,这种方式比较适合2D背景。相关原理网上基本都有,这里不做过多解释
  2. 第二种就是在3D场景中实例化模型,设置好父物体方便查找,然后用摄像机跟踪模型,最后是读配置设置模型参数以及播放模型动画和音效

模型如何实现点击拖动横向旋转并且在一定时间后复位?

  1. 可以利用在创建模型时的接口来控制是否旋转,而旋转本身可以利用点击事件完成,包括拖拽开始、拖拽中、拖拽结束三个事件状态
  2. 在刚刚开始拖拽的时候记录rotation值,然后拖拽过程中更新模型的欧拉角,最后在拖拽结束时使用计时器,保证在一定时间后通过平滑插值欧拉角到初始角度来赋值,然后在复位那一刻清理掉计时器即可

模型如何实现旋转惯性?

所谓惯性就是模型旋转后还会旋转一定角度

  1. 拖拽过程中记录与上一次检测拖拽时的移动差值,并且更新模型的欧拉角
  2. 拖拽结束时用计时器对最后检测时的移动差值不断做递减的平滑插值,然后用当前模型的欧拉角值减去这个差值,得到的结果作为模型的欧拉角即可
  3. 当移动差值减少为0时清理计时器

模型如何实现溶解流程?

一般来说是先从上往下溶解让模型消失,然后再从下往上溶解显示模型,比如游戏晋级时

  1. 溶解本身是由Shader完成,原理可查看其他博客
  2. 我们项目就是用一个C#脚本播放溶解动画并且动画中控制Shader相关值来完成溶解,溶解本身有粒子效果,所以动画还控制了粒子的位置

总结

模型本身相关问题就是如此,后续有新的问题会继续补充

相关推荐
叶帆17 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
久数君17 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
会思考的猴子17 天前
Unity VFX 属性 Postion 和 TargetPostion
unity
hai31524754317 天前
九章编程法 · 猜数字游戏 (GW-BASIC 重构版) *
人工智能·microsoft·游戏引擎·游戏程序
心前阳光17 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光17 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯18 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
龙智DevSecOps解决方案18 天前
3A 游戏优化技术栈:如何打通引擎级分析工具与 DevOps 持续集成管线?
unity·性能优化·游戏开发·技术美术·perforce·unrealengine
葛兰岱尔18 天前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity
鼎艺创新科技18 天前
三维电子沙盘中OSGB倾斜摄影数据的加载与渲染
游戏引擎·cocos2d