《UnityAPI.Gyroscope陀螺仪》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Unity+Gyroscope+rotationRate...
时间:2022-11-17 21:00:00
《UnityAPI.Gyroscope陀螺仪》
版本 |
作者 |
参与者 |
完成日期 |
备注 |
UnityAPI_Gyroscope_V01_1.0 |
严立钻 |
2020.09.03 |
||
#《UnityAPI.Gyroscope陀螺仪》发布说明:
“UnityAPI.Gyroscope陀螺仪”是对UnityAPI中Gyroscope陀螺仪分析和扩展类别;
立钻哥哥:Unity它是一款入门快、提高难度大的游戏引擎,至少需要越过才能提高能力3道坎:API Shader 综合能力;1、API的积累:对API合理使用不仅可以减轻编码负担,还可以提高程序的运行效率;这也是钻石兄弟开始的Unity API独立构建分类的初衷; 2、Shader编程:要想制作出一款精品游戏,往往需要有效率Shader的支持;Unity提供一套改进Shader Lab”系统,优化了繁杂的“Open GL”编程; ++3、综合能力(技术+业务+管理):一款产品的制作除了功能编程外,往往会涉及很多其他领域,例如产品架构、UI交互设计、模型制作等,作为主要的编程人员,对其他相关领域的了解程序往往会影响到产品制作直至最后的产品体验; ++++立钻哥哥一直在推动【VR云游戏=Unity+SteamVR+云技术+5G+AI】,这个只是一个引子,抛砖引玉让大家对整个知识体系有一个明确的落地方向,宝宝们可以根据自己的兴趣方向进行拓展:比如Unity这里是指一种“3D游戏引擎”,也可拓展至“UE4、Cocos2dx”等游戏引擎;SteamVR是一种跨硬件解决方案,也可拓展至“VRTK”等第三方插件;“云技术+5G”是一种跨平台解决方案的核心技术,同样可拓展至其他平台解决方案;AI也是一种先进技术的举例,也可以拓展至任何一种前沿技术; |
@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)
$$$$博客溯源:
++++VR云游戏=Unity+SteamVR+云技术+5G+AI;(说明:AI人工智能不是我们的主要研究技术,只是了解一下,领略一下有风的感觉!但是,VR是我们的研究重点)
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/
#Gyroscope陀螺仪
#Gyroscope陀螺仪 |
#Gyroscope陀螺仪++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述
#A1、Description描述 |
++A1、Description描述
++++立钻哥哥:Gyroscope(陀螺仪)是进入陀螺仪的接口;
++++[namespace]:UnityEngine;
++++[Inherits from]:;
++++使用该类进入陀螺仪;
#B2、Variables变量
#B2、Variables变量 |
++B2、Variables变量++++B2.1、attitude++++B2.2、enabled++++B2.3、gravity++++B2.4、rotationRate++++B2.5、rotationRateUnbiased++++B2.6、updateInterval++++B2.7、userAcceleration++++B2.8、YanlzXREngine.Gyroscope.Variables |
++B2.1、attitude
++B2.1、attitude |
++B2.1、attitude
++++立钻哥哥:状态;
public Quaternion attitude; |
++++返回设备的状态(即在空间中的方向);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{
void Update(){ transform.rotation = Input.gyro.attitude; } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.2、enabled
++B2.2、enabled |
++B2.2、enabled
++++立钻哥哥:启用陀螺仪;
public bool enabled; |
++++设置或者检索该陀螺仪的启用状态;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{ public bool enableTilt;
void OnGUI(){
if(Input.gyro.enabled){ GUILayout.Toggle(enableTilt, “立钻哥哥:Enable tilt control.”); } //立钻哥哥:if(){}
} //立钻哥哥:void OnGUI(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.3、gravity
++B2.3、gravity |
++B2.3、gravity
++++立钻哥哥:重力;
public Vector3 gravity; |
++++返回在该设备的参考帧中重力加速度表达式;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{ public float movementScale;
void Update(){ Vector3 pos = transform.position; pos.y = Vector3.Dot(Input.gyro.gravity, Vector3.up) * movementScale; transform.position = pos; } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.4、rotationRate
++B2.4、rotationRate |
++B2.4、rotationRate
++++立钻哥哥:旋转比率;
public Vector3 rotationRate; |
++++返回通过陀螺仪测量的旋转比率;
++++该旋转比率指定一个代表团绕三个轴旋转的三维向量的速度(单位:弧度/秒);该值通过陀螺仪硬件获取,一个更加精确的处理移动的测量工具,可以使用rotationRateUnbiased属性获取“偏斜”;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{ public float shakeSpeed; public AudioClip shakeSound; AudioSource audio;
void Start(){ audio = GetComponent<AudioSource>(); } //立钻哥哥:void Start(){}
void Update(){
if(Input.gyro.rotationRate.y > shakeSpeed && !audio.isPlaying){ audio.PlayOneShot(shakeSound); } //立钻哥哥:if(){}
} //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.5、rotationRateUnbiased
++B2.5、rotationRateUnbiased |
++B2.5、rotationRateUnbiased
++++立钻哥哥:无偏旋转比率;
public Vector3 rotationRateUnbiased; |
++++返回通过陀螺仪测量的无偏的旋转比率;
++++该旋转比率指定一个代表围绕三个轴旋转的三维向量的速度(单位:弧度/秒);该值通过陀螺仪硬件获取,一个更加精确的处理移动的测量工具,可以使用rotationRateUnbiased属性获取“偏斜”;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{ public float shakeSpeed; public AudioClip shakeSound; AudioSource audio;
void Start(){ audio = GetComponent<AudioSource>(); } //立钻哥哥:void Start(){}
void Update(){
if(Input.gyro.rotationRate.y > shakeSpeed && !audio.isPlaying){ audio.PlayOneShot(shakeSound); } //立钻哥哥:if(){}
} //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.6、updateInterval
++B2.6、updateInterval |
++B2.6、updateInterval
++++立钻哥哥:更新间隔;
public float updateInterval; |
++++设置或者检索陀螺仪的更新间隔(单位:秒);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{
void Start(){ Input.gyro.updateInterval = 0.01F; } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzGyroscope{} |
++B2.7、userAcceleration
++B2.7、userAcceleration |
++B2.7、userAcceleration
++++立钻哥哥:用户加速度;
public Vector3 userAcceleration; |
++++返回用户指定的设备加速度;
++++该值的意思是移除重力的影响(这也被检测加速度计),只是用户运动的加速度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzGyroscope : MonoBehaviour{ public Vector3 forceVec; public Rigidbody rb;
void Start(){ rb = GetComponent<Rigidbody>(); } //立钻哥哥:void Start(){}
void FixedUpdate(){ rb.AddForce(Input.gyro.userAcceleration.x * forceVec); } //立钻哥哥:void FixedUpdate(){}
} //立钻哥哥:public class YanlzGyroscope{} |
#C3、立钻哥哥对Gyroscope类的拓展
#C3、立钻哥哥对Gyroscope类的拓展 |
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++[Unity快速入门]:https://blog.csdn.net/VRunSoftYanlz/article/details/105776475
++++[UnityAPI目录]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533906
++++[Application应用]:https://blog.csdn.net/VRunSoftYanlz/article/details/106086327
++++[Object对象]:https://blog.csdn.net/VRunSoftYanlz/article/details/106202194
++++[GameObject]:https://blog.csdn.net/VRunSoftYanlz/article/details/106223815
++++[MonoBehaviour]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533256
++++[Component组件]:https://blog.csdn.net/VRunSoftYanlz/article/details/106367004
++++[Transform变换]:https://blog.csdn.net/VRunSoftYanlz/article/details/106607761
++++[Camera摄像机]:https://blog.csdn.net/VRunSoftYanlz/article/details/106148837
++++[Shader着色器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106321040
++++[Material材质]:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++[Physics物理]:https://blog.csdn.net/VRunSoftYanlz/article/details/106268062
++++[Collider碰撞器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106696886
++++[Rigidbody刚体]:https://blog.csdn.net/VRunSoftYanlz/article/details/106698042
++++[Animator动画]:https://blog.csdn.net/VRunSoftYanlz/article/details/106863517
++++[Animation]:https://blog.csdn.net/VRunSoftYanlz/article/details/106931626
++++[AnimationCurve]:https://blog.csdn.net/VRunSoftYanlz/article/details/106952329
++++[AnimationEvent]:https://blog.csdn.net/VRunSoftYanlz/article/details/107008468
++++[Joint关节]:https://blog.csdn.net/VRunSoftYanlz/article/details/106771226
++++[RaycastHit]