首页
统计
壁纸
留言板
友情链接
更多
直播
实用工具
Search
1
浏览器 | 开启Chrome和Edge的多线程下载功能(Parallel downloading)
1,153 阅读
2
给孙小姐的一封情书
462 阅读
3
LabVIEW | 各版本及开发工具模块下载
265 阅读
4
armUbuntu系统构建
247 阅读
5
OpenWRT | 作为 旁路由/单臂路由/透明网关 设置 DDNS
247 阅读
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
Search
标签搜索
C#
handsome
Git
动态壁纸
开源
Unity3d
Unity
csharp
Moao
累计撰写
183
篇文章
累计收到
25
条评论
首页
栏目
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
页面
统计
壁纸
留言板
友情链接
直播
实用工具
搜索到
183
篇与
的结果
2024-06-06
Unity 脚本 | Unity相机控制脚本(鼠标键盘控制,简单实用)
unity相机控制脚本,思路是仿照Unity Scene 里面控制的逻辑鼠标滚轮 上滚 拉近视野(放大),下滚 推远视野(缩小)鼠标滚轮 按下并拖动,调整相机位置鼠标右键 按下并拖动,调整相机视角左键留空w a s d 类似于 fps 游戏一样前后左右移动ctrl 向下移动空格 向上移动该脚本直接挂载在相机上就可以用using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseOperationCameraRotationFovMove : MonoBehaviour { public enum MouseState { None, MidMouseBtn, LeftMouseBtn } private MouseState mMouseState = MouseState.None; private Camera mCamera; private void Awake() { mCamera = GetComponent<Camera>(); if (mCamera==null) { UnityEngine.Debug.LogError(GetType()+"camera Get Error ……"); } GetDefaultFov(); } private void LateUpdate() { CameraRotate(); CameraFOV(); CameraMove(); } #region Camera Rotation //旋转最大角度 public int yRotationMinLimit = -90; public int yRotationMaxLimit = 0; //旋转速度 public float xRotationSpeed = 250.0f; public float yRotationSpeed = 120.0f; //旋转角度 private float xRotation = 0.0f; private float yRotation = 0.0f; /// <summary> /// 鼠标右间点下移动进行旋转 /// </summary> void CameraRotate() { if (Input.GetMouseButton(1)) // 0:鼠标左键;1:鼠标右键;2:鼠标中键 { if (mMouseState == MouseState.None) { // 保存当前的旋转角度,默认为0,0的时候代表第一次,获取一下 Vector3 currentRotation = transform.rotation.eulerAngles; if (xRotation == 0.0f && yRotation == 0.0f) { // 暂时不知道为啥X和Y要反过来 yRotation = -currentRotation.x; xRotation = 360 - currentRotation.y; } //Input.GetAxis("MouseX")获取鼠标移动的X轴的距离 xRotation -= Input.GetAxis("Mouse X") * xRotationSpeed * 0.02f; yRotation += Input.GetAxis("Mouse Y") * yRotationSpeed * 0.02f; yRotation = ClampValue(yRotation, yRotationMinLimit, yRotationMaxLimit);//这个函数在结尾 //欧拉角转化为四元数 Quaternion rotation = Quaternion.Euler(-yRotation, -xRotation, 0); transform.rotation = rotation; } } } #endregion #region Camera fov //fov 最大最小角度 public int fovMinLimit = 25; public int fovMaxLimit = 75; //fov 变化速度 public float fovSpeed = 50.0f; //fov 角度 private float fov = 0.0f; void GetDefaultFov() { fov = mCamera.fieldOfView; } /// <summary> /// 滚轮控制相机视角缩放 /// </summary> public void CameraFOV() { //获取鼠标滚轮的滑动量 fov -= Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * 100 * fovSpeed; // fov 限制修正 fov = ClampValue(fov,fovMinLimit, fovMaxLimit); //改变相机的 fov mCamera.fieldOfView = (fov); } #endregion #region Camera Move float _mouseX = 0; float _mouseY = 0; public float moveSpeed = 10; /// <summary> /// 中键控制拖动 /// </summary> public void CameraMove() { if (Input.GetMouseButton(2)) // 0:鼠标左键;1:鼠标右键;2:鼠标中键 { _mouseX = Input.GetAxis("Mouse X"); _mouseY = Input.GetAxis("Mouse Y"); //相机位置的偏移量(Vector3类型,实现原理是:向量的加法) Vector3 moveDir = (_mouseX * - transform.right + _mouseY * - transform.forward); //限制y轴的偏移量 moveDir.y = 0; transform.position += moveDir * 0.5f * moveSpeed; } else if (Input.GetMouseButtonDown(2)) { mMouseState = MouseState.MidMouseBtn; UnityEngine.Debug.Log(GetType() + "mMouseState = " + mMouseState.ToString()); } else if (Input.GetMouseButtonUp(2)) { mMouseState = MouseState.None; UnityEngine.Debug.Log(GetType() + "mMouseState = " + mMouseState.ToString()); } // WASD控制相机的前后左右移动 float horizontalInput = Input.GetAxis("Horizontal"); float verticalInput = Input.GetAxis("Vertical"); Vector3 direction = new Vector3(horizontalInput, 0, verticalInput).normalized; transform.Translate(direction * moveSpeed * Time.deltaTime); // Ctrl键控制相机向下移动 if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) { transform.Translate(Vector3.down * moveSpeed * Time.deltaTime); } // 空格键控制相机向上移动 if (Input.GetKey(KeyCode.Space)) { transform.Translate(Vector3.up * moveSpeed * Time.deltaTime); } } #endregion #region tools ClampValue //值范围值限定 float ClampValue(float value, float min, float max)//控制旋转的角度 { if (value < -360) value += 360; if (value > 360) value -= 360; return Mathf.Clamp(value, min, max);//限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value } #endregion }
2024年06月06日
116 阅读
0 评论
0 点赞
2024-06-05
本站维护的国内镜像站
GitHub:https://ghproxy.us.kg/(20240605 暂时出了点问题,能用,但是 edge 会报危险)Gravatar:https://gravatar.us.kg/
2024年06月05日
74 阅读
0 评论
0 点赞
2024-06-05
OpenWRT | 作为 旁路由/单臂路由/透明网关 设置 DDNS
环境主网 ikuai 拨号, OpenWRT 作为 旁路由 DDNS 解析域名域名 cloudflare 托管,小云朵点灭(不走CF代理)准备需要 cloudflare 的 账号,也就是邮箱号(登陆 cloudflare 的那个邮箱)需要 cloudflare 的 Global API Key,获取方式如下图需要 cloudflare 托管的域名,且预设一个值也就是你想将 公网地址 绑定到 域名 的二级域名,先随便添加一个值。例如 我想将 公网地址 解析到 v1.moao.net,就先添加 一个 v1 的解析记录,如下图确保如下即可:需要 一个 能获取 公网 ip 的网页这里推荐一个自己维护的网页,由于自己一直在用,所以脚本挺稳定的。https://utils.topm.top/getmyip/配置打开 openwrt 的 ddns 界面编辑 ddns 选项,选择刚才创建的服务点击编辑。修改设置获取公网ip的方式 url由于是 旁路由,所以肯定不能用 wan 口 ip,需要获取公网 ip 然后解析,用 url 的方式获取。配置如下:配置完成后记得点击确定然后 启用 勾选上, 点击重新加载即可。
2024年06月05日
247 阅读
0 评论
0 点赞
2024-06-03
正点原子 ATK-8266-V1.3 配置记录 (作为客户端连接服务端,AT指令)
正点原子 ATK 8266 配置笔记模块配置为 Station 模式,连接指定 wifi ,并且 以 TCP Client 模式 连接 TCP Server。配置步骤设置为 Station 模式AT+CWMODE=1列出当前可用 APAT+CWLAP加入 APAT+CWJAP="HandHeldFixedPointWifi","12345678901"设置 Station 开机自动连接AT+CWAUTOCONN=1(可选)设置 Station 默认主机名(可选)AT+CWHOSTNAME="HandHeldFixedPoint"(可选)设置模块 STA 模式的 MAC 地址(可选)AT+CIPSTAMAC="18:fe:35:98:d3:7b"(可选)设置模块 STA 模式的 IP 地址(可选)AT+CIPSTA="10.10.116.25"获取 模块 ip 地址AT+CIFSR开启域名解析功能AT+CIPDOMAIN=1建立 TCP 连接AT+CIPSTART="TCP","10.10.116.16",19229保存透传连接到 FalshAT+SAVETRANSLINK=1,"10.10.116.16",19229,"TCP"
2024年06月03日
117 阅读
0 评论
0 点赞
2024-05-31
公告 | 本站全面接入又拍云
回顾历程本篇文章内容无任何恰饭嫌疑,为小站正常经历回顾,不具备参考价值。最初最开始小站采用 moao.net 域名,阿里云 的服务器,没多少人访问,还没有流行起来 https 协议(只是大概知道这个协议在银行等安全性较高的网站上使用)。这时建站只是为了自己做笔记,记录编程相关的方便自己回看复习。站点是 ssm 自己手撸的博客站。就这么域名直接解析到服务器,一直用着。后来大概15年前后,在 腾讯云 入手了 ifshy.cn 域名,服务器还是使用的 阿里云 。这时建站已经有了让网友看的想法,分享自己的学习历程好让其他人作参考,想做一个类似于 菜鸟教程 的网站,当时沉迷C# 开发,站点开发也由 java 的 ssm 换成了 .net 手撸的框架,博客也重头到位整理了一边,系统的分为了 Java、Python、Golang等专栏,都是从开发环境搭建 到 第一个 HelloWord 程序 再到 某个 框架 的简单运行,然后就是 自己 写的一些 小程序。也想给网站引流,沉迷学习最新技术,这段时间也没怎么去推广小站。也是这段时间,流量逐渐多了起来,并且每天都有很多国内外的攻击小站,给小站套上了 Cloudflare。之后大概17年前后,小站采用 lyom.cn 域名,服务器也由 阿里云 换到了 腾讯云。赶上了全民互联网?(大概是这样说的),新用户域名 1元 什么的,服务器优惠力度也很大。就用家里人身份证又办了个 腾讯云 的账号,购买了 taoguo.xyz 、 taoguo.club 还有啥都忘记了,也是这段时间迷上了收集各种域名。这段时间添加了些个人站长的 QQ,在各种安利下 先后尝试了 WordPress,typecho,hexo,gohugo等等开源的动态,静态博客,虽然 PHP YES,但是个人并不怎么喜欢PHP语言,用了挺长一段时间 hugo 搭建小站,期间也放到过 gitee 上托管过。折腾了一段时间,后来服务器过期了,也没续费,丢了好多博文……后来折腾不动了,就选择了 typecho 作为博客(主要是简单省心)。貌似这段时间开始 cloudflare 变得不那么稳定,时不时有一些其他地区的网友说我的网站打不开,我自己也感觉打开确实比较慢。然后 开始尝试一些其他的国内 cdn,用了一圈下来,最终选定了又拍云(其他个人独立站用的也比较多,主要是免费稳定,偶尔超出流量也就几块钱)。现在这几天突发奇想,想把小站做起来。恰巧又看到了 又拍云 的 ssl 证书可以自动续费,就准备给 typecho 的图片附件上传 改一下 直接上传到 又拍云的 云存储,全面接入。近期打算 给 typecho 上传图片、附件 调用 又拍云 sdk 上传到 又拍云 的 云存储中去。把之前的文章 再 系统 的整理一遍,好好搞一下。给自己的小项目也整理整理 上传到 gitee 上(上学时的各种比赛,上班是在某所科研机构所以也做有一些大大小小的项目,还有平常自己用的各种小工具)。做一些网页实用工具到 topm.top 域名下。然后找几个活得时间比较长的个人站长换换友链。现在手上有12个域名,有些打算不续费了,但是之前的有些项目还用到了别的域名(比较郁闷,大部分嵌入式的项目,有些还有客户在用),续不续费再斟酌斟酌。目前主要用的就是 moao.net 和 1okk.com 。前几个月刚搞到一个 topm.top 域名,准备做几个网页类的工具放到这个域名下,也把流量做起来?
2024年05月31日
92 阅读
0 评论
0 点赞
1
...
21
22
23
...
37