2024-09-24 16:52:30    86    0    0

PSV ge

Unity官方可读写目录,PSV没有,返回空路径

  1. Application.persistentDataPath
  2. Windows -> C:/Users/用户/AppData/LocalLow/DefaultCompany/项目名
  3. PSVita -> 返回空

Unity缓存temporaryCachePath目录,PSV没有,返回空路径

  1. Application.temporaryCachePath
  2. Windows -> C:/Users/用户/AppData/Local/Temp/DefaultCompany/AxibugPSVAnyTest
  3. PSVita -> 返回空

StreamingAssets目录,有

  1. Application.streamingAssetsPath
  2. Windows -> 游戏安装目录/StreamingAssets
  3. PSVita -> /app0/Media/StreamingAssets
2024-07-31 16:14:15    525    0    0

Unity在很多需求下,不得不进行颜色的像素级填充,
诸如:实时贴花功能,绘图功能开发,乃至非Native的情况下视频播放(比如视频是CPU计算出来的,而不是文件流或直播流,提交颜色),各种游戏模拟器,等画面显示;

亦或者,必须要通过CPU逻辑运算,得到一个图形,并展示到UI中,或某个贴图上时,

采用类似Rendertexture的方式,都就需要处理Textture2d的填充。
尤其在高频填充的情况下(指60帧或者更高刷新率绘制),我们就需要考虑效率了。

以下是我做Unity下街机模拟器画面显示开发的心得
title
* 最终我还要上PSVita,使用unity(113M的极限内存可用,还要预留性能给我的网络联机网络库,害只能用77M的模式,主频非超频也只有333Mhz,所以能省则省了)

省流版,总结,几种:
Plan1. 使用SetPixelData< T > (T[] data, int mipLevel, int sourceDataStartIndex = 0)
Plan2. GetNativeTexturePtr纹理指针,对底层指针,进行绘制。如果你对DX11/DX9的绘制指针比较了解 ,可以使用Texture2d的GetNativeTexturePtr 获取指针,在C++扩展下进行操作。(跨平台不友好)
Plan3. 低版本Unity使用 LoadRawTextureData< T >(NativeArray data),LoadRawTextureData(byte[] data)
Plan4. 低版本Unity使用 LoadRawTextureData 的指针用法 (推荐) LoadRawTextureData(IntPtr data, int size)
Plan5. 交给shader

好好好,咱们从低到高,说说各种用法的演进

全局参数

  1. //这里是一个代码构建的Texture2D用于填充数据和提交
  2. private Texture2D m_rawBufferWarper;
  3. //这里是UI上一个RawImage组件作为显示
  4. private RawImage m_drawCanvas;
2018-06-02 23:34:34    357    0    0

C4D (CINEMA 4D)的基本操做

默认的工作区

 

中间【操作区】:

默认的视图叫:透视视图

鼠标中间点击:打开/关闭三 视图

按住 alt 可以任意转动

 

左边常用【工具栏】:

 

下面【时间线】:

 

最下面有【材质栏】:

双击可以添加材质

 

右上【大纲】:

内容总览、对象啥的

 

右下【属性栏】:

相关属性

——————————————————————————

E键 可以操做坐标移动

R键 渲染模式

T键 是缩放

2024-06-12 17:45:13    140    0    0
  1. using Npgsql;
  2. using System.Data;
  3. public static class SQLRUN
  4. {
  5. static string connectionString => $"Host={Config.DictCfg["dbServer"]};Port={Config.DictCfg["dbPort"]};Database={Config.DictCfg["dbName"]};Username={Config.DictCfg["dbUser"]};Password={Config.DictCfg["dbPwd"]};";
  6. static Queue<NpgsqlConnection> QueueCon = new Queue<NpgsqlConnection>();
  7. static int PoolLimit = 10;
  8. static int GetPoolCount()
  9. {
  10. return QueueCon.Count;
  11. }
  12. static NpgsqlConnection GetSqlConnect()
  13. {
  14. lock (QueueCon)
  15. {
  16. NpgsqlConnection con;
  17. if (QueueCon.Count > 0)
  18. {
  19. con = QueueCon.Dequeue();
  20. if (con.State < ConnectionState.Open)
  21. {
  22. con.Dispose();
  23. NpgsqlConnection newcon = new NpgsqlConnection(connectionString);
  24. newcon.Open();
  25. con = newcon;
  26. }
  27. }
2023-05-22 10:02:44    6198    0    0

首先访问皓月云 - PS2 官网 [ps2.axibug.com]

注册一个账号,用于游戏内使用。

加群 皓月云PS2官方联机QQ: 532873339


这里做一个最傻瓜的教程,方便快速入坑。

可以联机 怪物猎人2Dos,怪物猎人G,怪物猎人初代(MH无印)

这里用PS2 MH初代 皓月云联机举例(三款游戏联机方式一样):

群共享下载,指定的模拟器傻瓜包 以及  指定客户端镜像:

解压模拟器,把镜像“SLPM_654.95.怪物猎人_3IN1_皓月云服务版.iso” 拷贝到 “游戏镜像放这里”

打开模拟器,点“Add Game Directory”添加刚才那个文件夹

刷新出游戏,双击游戏,教程结束。

 

注意事项:

*必须皓月指定镜像才可以进服




———————————— 下 面 是 游 戏 内 的 操作 ————————————

*第一次进游戏创建存档后,默认会进单机模式。下次进存档,就可选择“进入街道”

 

一路下一步就行了,

但第一次要选一下连接。皓月已经给您准备好了哦

网络连接>前进> 下面有一个预设“Settting_haoyue”,选择就是了。(如下图)

设置后,以后也不用设置了呢。

 

等他自动联网加载.....

直到出现这个页面↓,然后你们登录就是了。剩下的按照文字点点点就是了。

愉快的联机吧

 

 


2024-02-26 15:09:49    713    0    0

皓月云 - 狩猎方案兑换说明

在线积分说明:* 意义这是一个非盈利方式运营的积分系统,在线积分可以兑换各种游戏内容。主要靠在线时长/签到策略获得在线积分。

其中一种奖品是[狩猎方案类]的兑换奖品,这本是CAPCOM ONLINE GAME官方运营过程中,向玩家售卖的一种账号增值服务。用于玩家在游玩过程中,享受一些氪金加成服务。

皓月云是公益非盈利,在保证非盈利的情况下,采用在线时长所得积分,来免费的奖励积极在线的玩家。

——

兑换方式:

在皓月老边境官网mhfold.axibug.com登录后,点击 [在线积分奖励],兑换如“兑换方案包A(尊荣/秘传方案)-40分钟使用时间”的选项。

方案及效果说明:

皓月为了玩家理解简单,直接使用方案包的形式。

目前方案包:

*皓月已经默认包含:[狩獵生活方案] [豪华方案] ,其他的是额外兑换的

名称包含方案方案效果持续时间
方案包A尊荣方案+秘传方案

3倍经验(两个方案的叠加效果),其他一大堆福利。尊荣方案本身的效果,密传书方案本身的效果。

可以接[尊荣任务],任务报酬翻倍,以及大型BOSS奖励,HRP/SRP补正。武器魂数追加,HC票券等重要道具额外获得。具体看下方具体方案細節说明。

以兑换礼品描述为准
方案包B尊荣方案+支援方案

方案叠加效果:隊伍點數(PP)4倍,伙伴武器熟練度2倍,其他一大堆福利。尊荣方案本身的效果,支援书方案本身的效果。

一个强力NPC帮你打任务,以及额外素材

可以接[尊荣任务],任务报酬翻倍,以及大型BOSS奖励,HRP/SRP补正。武器魂数追加,HC票券等重要道具额外获得。具体看下方具体方案細節说明。

以兑换礼品描述为准 
方案包C手机方案

说实话,我也不知道有啥用。具体效果自行探索。正版也许是未实装过的方案,也许是当年一个超小众的仅日服怪猎手游账号绑定相关。

总之自己探索。

以兑换礼品描述为准 
待补充………… 

 

兑换须知:

*兑换和游戏角色无关,只和用户有关。(如您账户下有2个角色,兑换后都享受)
*兑换时,请先退出游戏。(若不退出游戏,您无法看到方案生效,或切换服务器区才能看到生效)
*方案包生效时间由兑换起,即刻生效。
*方案包生效时间超过之后,(由于实现方式)系统会语音提示您请下线游戏,若您5分钟内不下线游戏,服务器会踢下线并强制关闭游戏。

 

推荐玩法:
上班族:周一到周五 晚上鼓励上线
周末 自己找一天的几十分钟,把这个用了(组队更佳)

*本来兑

2025-02-11 13:45:22    71    0    0

Git 命令操作:

上传、删除操作流程:

  1. 1、拉取服务器代码,避免覆盖他人代码
  2. git pull
  3. 2、查看当前项目中被修改的文件
  4. git status
  5. 具体状态
  6. (1) Untracked:未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  7. (2) Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
  8. (3) deleted 文件已删除,本地删除,服务器上还没有删除.
  9. (4) renamed 文件被改名??
  10. 3、将状态改变的代码提交至缓存
  11. git add . 使用上面的命令将所有的修改的文件提交到缓存区
  12. git add + 文件
  13. git add -u + 路径:将修改过的 被跟踪 代码提交缓存
  14. git add -A + 路径: 将修改过的 未被跟踪的 代码提交至缓存
  15. 例如:
  16. git add -u vpaas-frontend/src/components
  17. vpaas-frontend/src/components 目录下被跟踪的已修改过的代码提交到缓存中
  18. git add -A vpaas-frontend/src/components
  19. vpaas-frontend/src/components 目录下未被跟踪的已修改过的代码提交到缓存中
  20. 4、删除本地文件
  21. git rm 文件名
  22. 5、将代码提交到本地仓库中
  23. git commit -m "提交日志"
  24. 6、将缓存区代码推送到Git服务器上面
  25. git push

分支

查看分支:(包括本地分支/远端分支)

  1. git branch -a

删除分支:

  1. 删除本地分支:
  2. git branch -d 分支名称
  3. 删除远端分支:
  4. git push origin --delete 分支名称

切换分支:

  1. git checkout 分支名称

创建分支:

2024-03-26 17:22:42    399    0    0

Tauri的程序的打包方法

如:Nodejs+Vite+Tauride
需要安装如下环境,每一步依赖上一步

环境安装

1.安装nodejs, https://nodejs.org/en/download 下载安装

2.安装yarn,命令 npm install -g yarn
用yarn --version命令测试是否安装成功

3.安装Rust, https://www.rust-lang.org/learn/get-started 下载64位

*依赖的WebView2,是系统自带的:win10需要更新到新版,win11自带(如果系统没有,会提示需要先安装Windows API再装后续,选择1回车就安装了)

(直接敲回车安装)
*如果安装慢的话,要不然换国内源:
管理员运行:Powershell,执行如下命令临时设置国内源

  1. $ENV:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static'
  2. $ENV:RUSTUP_UPDATE_ROOT='https://mirrors.ustc.edu.cn/rust-static/rustup'

然后不关闭在这个窗口运行rustup-init.exe,安装下载就快了

*安装完之后关一次控制台,这样环境变量才生效

打包

平常改代码,可以用vscode等工具,无所谓
打包的话
1.控制台进入项目目录,输入 yarn 回车,自动检查缺的依赖
2.开发环境运行不打包 用 yarn tauri dev (可以用浏览器访问,控制台输出的本地网站,像localhost:1420这种
3.直接打包 用 yarn tauri build (第一次安会自动下载好多东西,挂梯子全局代理会快一些)

打包完毕(其实不用等完毕也行,如果卡一些github下载不用等):
\src-tauri\target\release 目录下 会有一个xxx.exe

小贴士
如果yarn 开头的命令下载慢,可以设置yarn的国内源:

  1. yarn config set registry https://registry.npm.taoba
2024-03-14 16:09:00    178    0    0
  • 活动名称:怪物猎人20周年外传人气怪物投票

  • 最初的活动发起者(哔哩哔哩ID):

    不净言灵,狼鱼Wolfish,67鱼,龙气发动机,沙雕狐狸的日常,佬狮、皓月狩魂 等等 热爱怪物猎人的中国玩家们  (排名不分先后)
  • 活动目标:

    通过请愿的方式,为怪猎外传(如边境原创怪物)声援,表达我们的热爱,并向CAPCOM争取外传性质的怪物转正。

序言:

2024年是怪物猎人系列20周年,

就在前几天卡普空官方也已经公布了正统续作人气怪物投票的结果。


而怪物猎人这个系列除了正统续作,还有许多外传作品,

虽然它们的知名度并没有正统续作高,但是也有着许多热爱它们的玩家,也有着许多外传作品里原创的优秀怪物们。

在20周年这个时间点,我想它们不应该被遗忘在角落里,于是就有了一个想法——我们要自己举办20周年外传人气怪物投票活动。


经过跟朋友们的合作,想法成为了现实,虽然这个投票活动做的较为简陋,也没有卡普空官方的认证,

但我们只想借此来表达对怪物猎人这个系列的热爱,卡普空没有做的事情,就由热爱它们的玩家们来吧。


20周年外传人气怪物投票活动问卷包含了中日英三种语言,我们也会将投票活动和链接发送到国际社交媒体平台,尽可能让更多的玩家了解并参与。
在投票统计结束后,我们也会在国际社交媒体平台上分享最终的投票结果,以及给卡普空发送电子邮件,尽可能让卡普空官方知道这件事情。或许我们所做的事情并不会被卡普空知道,或许也只是一场属于我们的自娱自乐,或许会像2023年“恐暴龙吃尾巴”事件那样溅起一朵小浪花,或许能促进下一个外传怪物的转正……

但是这都不重要。但行好事,莫问前程,那便已足够

20周年外传人气怪物投票宣传视频:[准备中……]
20周年外传人气怪物投票入口链接[投票入口] *先了解,建议暂不投票

投票将持续一个月(暂定),欢迎大家踊跃参与

在完成投票统计后,人气最高的3个怪物还会获得定制的高清渲染图,敬请期待



版权声明:

待补充

*“Monster Hunter/モンスターハンター” 和 ”モンスターハンターフロンティア / Monster Hunter Frontier“ 属于CAPCOM所有版权。

  • モンスターハンターフロンティア / Monster Hunter Frontier は株式会社カプコンの商標です。
       (c) CAPCOM CO., LTD. 2007, 2019 ALL RIGHTS RESERVED
2024-03-12 17:39:56    162    0    0
  1. public enum AnchorPresets
  2. {
  3. TopLeft,
  4. TopCenter,
  5. TopRight,
  6. MiddleLeft,
  7. MiddleCenter,
  8. MiddleRight,
  9. BottomLeft,
  10. BottonCenter,
  11. BottomRight,
  12. BottomStretch,
  13. VertStretchLeft,
  14. VertStretchRight,
  15. VertStretchCenter,
  16. HorStretchTop,
  17. HorStretchMiddle,
  18. HorStretchBottom,
  19. StretchAll
  20. }
  21. /// <summary>
  22. /// 安全的设置锚点,并保证位置不变
  23. /// </summary>
  24. /// <param name="source"></param>
  25. /// <param name="allign"></param>
  26. public static void SetAnchor(this RectTransform source, AnchorPresets allign)
  27. {
  28. //计算原锚点中心和组件大小
  29. Vector2 oldAnchorCenter = (source.anchorMin + source.anchorMax) / 2;
  30. Vector2 oldAnchoredPos = source.anchoredPosition;
  31. Vector2 objSize = new Vector2(source.rect.width, source.rect.height);
  32. switch (allign)
  33. {
  34. case (AnchorPresets.TopLeft):
  35. {
  36. source.anchorMin = new Vector2(0, 1);
2/23