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

永州商城网站建设秦皇岛企业建设网站

永州商城网站建设,秦皇岛企业建设网站,网络营销推广的方式都有哪些,平面设计公司哪家好这个比想象中要难#xff0c;而且需要自己写。 1.相机可以转xy两个位置#xff0c;可以点头和转圈。注意这里有一个if判断#xff08;后面返回来发现了这些问题#xff09; 2.角色不能点头#xff0c;只能转圈。 难得是移动方向#xff0c;因为移动方向(位置)和转向是相…这个比想象中要难而且需要自己写。 1.相机可以转xy两个位置可以点头和转圈。注意这里有一个if判断后面返回来发现了这些问题 2.角色不能点头只能转圈。 难得是移动方向因为移动方向(位置)和转向是相关联的。 3.先做相机的移动相机除了和角色做同向的水平转动还要以角色为锚点做圆弧运动。 3.1移到背后z应该是负值这东西再着急也没用最好的办法就是一步一步做。 对应调整 调整结果满足要求 3.2当角色和相机发生“转圈”时绕y轴旋转相机要已角色为轴做圆弧运动。也就是要把-4这个距离分到x轴和z轴上。 确实是转了但是转的速度是不一样的调整转动角度用的是y角度的差值而不是y角度的数值。 把scene调成下边这样也可以很快发现问题现在是擦着背后和相机初始位置做圆周运动。 不加距离的时候确相机和角色确实是同朝向的相机的朝向没问题相机的问题有问题不过有了俯视图这种思维问题很快应该就能解决了。 如下代码后相机确实绕着小人做圆周运动了但转速太快了。 mainCamera.transform.position model.transform.position new Vector3(-4 * Mathf.Sin(mainCamera.transform.eulerAngles.y)0, 0, -4 * Mathf.Cos(mainCamera.transform.eulerAngles.y)); 应该是把角度和弧度给弄混了改成弧度以后确实是同速度了 mainCamera.transform.position model.transform.position new Vector3(-4 * Mathf.Sin(mainCamera.transform.eulerAngles.y/180*2*Mathf.PI)0, 0, -4 * Mathf.Cos(mainCamera.transform.eulerAngles.y / 180 * 2 * Mathf.PI)); 但是相机的旋转角度有问题并不是一直朝向小人背后 是 /360*2Π修改后终于达成预期效果 mainCamera.transform.position model.transform.position new Vector3(-4 * Mathf.Sin(mainCamera.transform.eulerAngles.y/360*2*Mathf.PI)0, 0, -4 * Mathf.Cos(mainCamera.transform.eulerAngles.y / 360 * 2 * Mathf.PI)); 4.角色移动 现在存在的问题是角色的移动是按照坐标轴的绝对方向为基准进行移动的我需要的是按照当前朝向进行相对移动。 当前的角色移动代码如下 Vector3 direction (Vector3.forward * vector3.Vertical Vector3.right * vector3.Horizontal)* speed * Time.fixedDeltaTime; 在两句之间来一个向量旋转即可问题不大绕着y轴转 结果非常成功 5.角色控制器的整体代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine;public class JoystickPlayerExample : MonoBehaviour {public static float speed;//这个可以在unity中赋值的public static float rotationSpeed;public VariableJoystick vector3;public VariableJoystick quaternion4;public Rigidbody rb;public static GameObject model;//这个需要赋值在登录过程中只赋值本地玩家自身public static Camera mainCamera;public void FixedUpdate(){//Debug.Log(variableJoystick.Vertical);//Debug.Log(variableJoystick.Horizontal);//计算方向差 正负以后再说Vector3 direction (Vector3.forward * vector3.Vertical Vector3.right * vector3.Horizontal)* speed * Time.fixedDeltaTime;//direction (Vector3.forward * quaternion4.Vertical Vector3.right * quaternion4.Horizontal) * speed * Time.fixedDeltaTime;//rb.AddForce(direction * speed * Time.fixedDeltaTime, ForceMode.VelocityChange);//重力体不满足条件direction Quaternion.Euler(0, mainCamera.transform.eulerAngles.y, 0)* direction;//绕着y轴转--这里的前后顺序不能颠倒//1.模型位置model.transform.position model.transform.position direction;//model.transform.rotation model.transform.rotation rotation;//Debug.Log(model.GetInstanceID());//Debug.Log(model.transform.position);//实测是一直刷新的所以我觉得相机写在这里也是可以的//一个模型一个相对相机位置的参数//2.相机位置--需要做到背后朝向//mainCamera.transform.position model.transform.position new Vector3(0, 1.5f,-4);//其实就是maincamera,//mainCamera.transform.position model.transform.position new Vector3(-4 * Mathf.Cos(mainCamera.transform.eulerAngles.y), 1.5f, -4 * Mathf.Sin(mainCamera.transform.eulerAngles.y));//mainCamera.transform.position model.transform.position new Vector3(0,0,-4);mainCamera.transform.position model.transform.position new Vector3(-4 * Mathf.Sin(mainCamera.transform.eulerAngles.y/360*2*Mathf.PI)0, 0, -4 * Mathf.Cos(mainCamera.transform.eulerAngles.y / 360 * 2 * Mathf.PI));//-4 分到 x轴和z轴上//mainCamera.transform.position model.transform.position;//从这里开始是旋转// 获取用户的输入轴例如鼠标移动//3.相机旋转float horizontal quaternion4.Horizontal * rotationSpeed * Time.deltaTime;float vertical quaternion4.Vertical * rotationSpeed * Time.deltaTime;//抬头--这里z小于零时会出现反向旋转异常// 创建一个绕相机上方轴旋转的QuaternionQuaternion horizontalRotation Quaternion.AngleAxis(horizontal, Vector3.up);//三角函数值// 创建一个绕相机右方轴旋转的QuaternionQuaternion verticalRotation Quaternion.AngleAxis(vertical, mainCamera.transform.right);//旋转角度和旋转轴Debug.Log(mainCamera.transform.eulerAngles.y);if (Mathf.Abs(mainCamera.transform.eulerAngles.y)90|| Mathf.Abs(mainCamera.transform.eulerAngles.y) 270)//整整弄了一天,欧拉角判定rotation是弧度{//Debug.Log(负重前行);//Debug.Log(mainCamera.transform.eulerAngles.y);verticalRotation Quaternion.AngleAxis(vertical*-1, mainCamera.transform.right);//但愿不要跳屏}//不能歪头还有一个轴必须做成固定不动的// 应用这两个旋转mainCamera.transform.rotation * horizontalRotation;mainCamera.transform.rotation * verticalRotation;mainCamera.transform.eulerAngles new Vector3(mainCamera.transform.eulerAngles.x, mainCamera.transform.eulerAngles.y, 0);//Debug.Log(mainCamera.transform.rotation);//实测//水平拖拽是第二个位置三角函数值0-1竖直拖拽是第一个位置//第三个位置最好是0第四个位置最好是1//模型同时设置水平旋转--unity脚本这么看来还是很方便的//model.transform.eulerAngles new Vector3(mainCamera.transform.eulerAngles.x, mainCamera.transform.eulerAngles.y, 0);//4.模型旋转(ok)model.transform.eulerAngles new Vector3(0, mainCamera.transform.eulerAngles.y, 0);//脑袋单独做无所谓 磕头 转圈 歪脑袋} }
http://www.zqtcl.cn/news/517594/

相关文章:

  • 电商网站图片处理东莞网络营销策划
  • 做知识产权相关的网站网站怎么做登录界面
  • 网站空间备份东莞企业网站教程
  • 新桥企业网站建设有关网站建设的毕业设计
  • 中山网站建设工作修改wordpress后台地址
  • 西安app网站开发如何制作一个自己的网页
  • 陇西学做网站鄂州网约车
  • 做类似58类型网站免费源码分享
  • 个人做的网站有什么危险网站模板怎样发布
  • 设计建设网站公司网站wordpress k2
  • 公司网站被抄袭网络宣传
  • 企业网站设计收费专业网络推广公司排名
  • 视频网站模板源码深圳网站建设明细报价表
  • nike官方网站定制二级域名网站有哪些
  • 越秀移动网站建设房门户网站如何做优化
  • 什么软件可以做动漫视频网站开发一个小程序大概要多少钱
  • 微网站可以做成域名访问株洲网站做的好的公司
  • 建设网站去工信部备案需要什么资料网站建设相关博客
  • 十度网站建设网站建立的企业
  • 婚庆公司网站国外网站阻止国内访问怎么做
  • 乐山高端网站建设wordpress openload
  • 哪些网站上可以做租车深圳品牌网站开发
  • 乐清网站改版公司西安网站建设公司哪家好
  • 国外小型网站1688货源网下载
  • 浏览量最大的网站网站导航栏目设计内容依据
  • 户外拓展公司网站开发桂林网站开发
  • 怎么入侵网站后台互联网营销师含金量
  • 网站建设ningqueseo济南网站建设服务
  • 做网站给女朋友品牌网站建设只询大蝌蚪
  • 厦门服装商城网站建设米课做网站