2022-09-30 10:44:45    189    0    0

突然のキスや热いまなざしで (可别用那突如其来的吻 或炙热的眼神)

とつぜんのキスきすやあついまなざしで

totsuzen no kisu ya atsui manazashide

恋のプログラムを狂わせないでね (驱策了恋爱的程式呀)

こいのプログラムぷろぐらむをくるわせないでね

koi no puroguramu wo kuruwa senaidene

出逢いと别れ上手に打ち込んで (巧妙地操弄著 相遇与离别)

であいとわかれじょうずにうちこんで

deai to wakare jouzu ni uchikon de

时间がくれば终わる Don’t hurry! (花点时间就会了结的 Don’t hurry!)

じかんがくればおわる Don’t hurry!

jikan gakureba owa ru don’t hurry!

爱に伤ついたあの日からずっと (从被爱伤透了的那天起)

あいにきずついたあのひからずっと

ai ni kizutsu itaano nichi karazutto

昼と夜が逆の暮らしを続けて (就持续著日夜颠倒的生活)

ひるとよるがぎゃくのくらしをつづけて

hiru to yoru ga gyakuno kurashi wo tsuzuke te

はやりのDiscoで踊り明かすうちに (在流行的Disco舞至天明之际)

はやりのDiscoでおどりあかすうちに

hayarino disco de odori aka suuchini

おぼえた魔术なのよ I’m sorry! (留在你脑海里的都只是魔术唷 I’m sorry!)

おぼえたまじゅつなのよ I’m sorry!

oboeta majutsu nanoyo i’m sorry!

私のことを决して本気で爱さないで (可千万别动真格爱上我哦)

わたしのことをけっしてほんきであいさないで

watashi nokotowo kesshite honki de aisa naide

恋なんてただのゲーム 楽しめばそれでいいの (所谓的恋爱不过是游戏一场 开心享受那就足够了)

こいなんてただのゲームげーむ たのしめばそれでいいの

koi nantetadano ge-mu tanoshi mebasoredeiino

闭ざした心を饰る 派手なドレスも靴も 孤独な友だち (妆点了封闭的心 那些华丽礼服或鞋子也好 都只是孤独的朋友)

とざしたこころをかざる は

2022-10-14 17:52:46    55    0    0
  1. public class ctrl : MonoBehaviour
  2. {
  3. [SerializeField]
  4. PostProcessVolume m_postpVol;
  5. [SerializeField]
  6. Camera m_Cam;
  7. DepthOfField m_Df;
  8. void Awake()
  9. {
  10. m_postpVol.profile.TryGetSettings(out m_Df);
  11. }
  12. //焦距设置为摄像机和玩家的位置
  13. void Update()
  14. {
  15. m_Df.focusDistance.value = Vector3.Distance(Player.position, m_Cam.transform.position);
  16. }
  17. }
2018-03-30 11:11:45    263    0    0

-----Nintendo-----

Famicom FC 日版 89版 | ?

GameBoy 初代(屏幕损坏)| 80

GameBoy (非官方)|附送

GameBoy Light 日版 | ?

GameBoy Advance 日版(大概)*损坏 | 赠送 | 然后被自己翻新了

GameBoy Advance 黄色 改装B屏 背光 可调节 | 2019-10-19 | ¥ 459

GameBoy Advance SP 神游 | 2014-12-10 | 70

Super Famicom 日版 | 350+

Nintendo 64 日版 | 280

Nintendo DS 日版 (已坏) | 200

Nintendo DS Lite 日版 (烧屏) | 30 买了配件 翻新未完成

Nintendo DS Lite 日版 | 70

Nintendo DSi LL 日版 | 200

Nintendo Wii 日版 | 458.00  +  额外手柄 33.00

NGC 原装手柄 |36.00

Nintendo New 3DS LL 日版 |1728.00 + MHX 348.00

Nintendo Wii U 日版 | ¥818

Nintendo Switch 日版  (全新)| 2440.00  包含奥德赛

-----SONY-----

PlayStation®Protable - 1000 港版(黑色) |150.00

PlayStation®Protable - 1000 港版(白色) | 2018-08-10 |150.00

PlayStation®Protable - 2000 港版(薰衣紫) | ¥1800.00(2008年购入 带4G卡)

PlayStation®Vita - 2000 港版 |¥1500.00???

PlayStation®1 -  (PSOne版本) 日版 |2020-06-27 |¥150.00

PlayStation®2 - 30006 日版 |270.00

PlayStation®3 初代 美版 | 470.00

PlayStation®4 Slim 国行 | ¥ 2100??

-----Microsoft----

Xbox 360 厚机  美版(单65) | ¥ 580

 

--实体正版游戏--

NS:

 

PS4:

侍魂闪 日版

PSP:

怪物猎人 携带版 廉价版(日版)

怪物猎

2022-05-26 10:36:31    67    0    0

将unity缓存三个文件夹

C:\Users\你用户名\AppData\Local\Unity
C:\Users\你用户名\AppData\LocalLow\Unity
C:\Users\你用户名\AppData\Roaming\Unity

分别拷贝到 别的盘符,如

F:\UnityCache\LocalUnity
F:\UnityCache\LocalLowUnity
F:\UnityCache\RoaMingUnity

 

删除源文件夹,添加软链接

mklink /j C:\Users\你用户名\AppData\Local\Unity F:\UnityCache\LocalUnity
mklink /j C:\Users\你用户名\AppData\LocalLow\Unity F:\UnityCache\LocalLowUnity
mklink /j C:\Users\你用户名\AppData\Roaming\Unity F:\UnityCache\RoaMingUnity

 

管理员身份运行CMD,并执行, 结果:

Microsoft Windows [版本 10.0.19044.1706]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Admin>mklink /j C:\Users\Admin\AppData\Local\Unity F:\UnityCache\LocalUnity
为 C:\Users\Admin\AppData\Local\Unity <<===>> F:\UnityCache\LocalUnity 创建的联接

C:\Users\Admin>mklink /j C:\Users\Admin\AppData\LocalLow\Unity F:\UnityCache\LocalLowUnity
为 C:\Users\Admin\AppData\LocalLow\Unity <<===>> F:\UnityCache\LocalLowUnity 创建的联接

C:\Users\Admin>mklink /j C:\Users\Admin\AppData\Roaming\Unity F:\UnityCache\RoaMingUnity
为 C:\Users\Admin\AppData\Roaming\Unity <<===>> F:\UnityCac

2022-05-19 11:32:19    449    0    0

我写一个简单明了的范例
比如我们要同步一个V3类型的数据,
数据来源:客户端操作
目标:同步所有客户端的 Vector3 V3FromNetwork 变量值

流程为

本地客户端客户端(isLocalPlayer为true)进行操作
↓↓↓
调用[Command]修饰的方法SetTestV3,(SetTestV3就具备了往服务器上报的特性)
↓↓↓
服务器执行SetTestV3函数内容
↓↓↓
服务器修改TestV3值时,由于具备标识[SyncVar(hook = nameof(ChangeTestV3))],通知所有客户端的该对象脚本中调用ChangeTestV3
↓↓↓
客户端调用ChangeTestV3,最终成功修改到值。

代码如下

  1. using UnityEngine;
  2. using Mirror;
  3. public class Player : NetworkBehaviour
  4. {
  5. void Update()
  6. {
  7. if (!isLocalPlayer) return;//只操作本地客户端
  8. Vector3 V3SendData = new Vector3(Input.GetAxis("Vertical") * Time.deltaTime, 0, Input.GetAxis("Horizontal") * Time.deltaTime);
  9. SetTestV3(V3SendData);
  10. }
  11. [Command]//客户端上行标识
  12. public void SetTestV3(Vector3 v)
  13. {
  14. //服务端执行内容
  15. TestV3 = v;
  16. }
  17. [SyncVar(hook = nameof(ChangeTestV3))]//服务端修改触发客户端调用hook函数
  18. public Vector3 TestV3 = Vector3.zero;
  19. public void ChangeTestV3(Vector3 oldv, Vector3 newc)
  20. {
  21. //客户端执行内容
2022-05-17 17:13:05    650    0    0

标签: Command 从客户端发送到服务器,服务器执行

  1. [Command]
  2. void ABC(){}

注意点
1,方法可以带参数,但需要序列化
2,客户端只能发送属于自己的对象的方法
如果都允许,则设置为不验证:

  1. [Command(requiresAuthority = false)]

标签: ClientRpc 从服务器发送到,客户端执行

  1. [ClientRpc]
  2. void ABC(){}

标签: TargetRpc 从服务器发送到,指定的客户端执行

  1. [TargetRpc]
  2. void TargetRemoteDamaged(NetworkConnection target, int damage){}

PS:第一个参数可忽略,默认发给自己,也就是调用此方法的客户端实体
PS:如果第一个参数有,则发给指定,目标

总结

[Command] 由客户端调用,内容服务器执行;
[ClientRpc]和[TargetRpc]由服务器调用,内容客户端执行;
但[TargetRpc]是指定目标发送,[ClientRpc]是都发送。

2022-05-17 16:05:14    131    0    0

一,用SyncVar进行同步

函数标签[SyncVar]
用标签来标记变量,被改变时时,同步给其他客户端;
可指定Hook指定回调函数,并返回旧值和新值

如:

  1. [SyncVar(hook = nameof(ChangeColor))]
  2. Color pcolor = Color.white;
  3. void ChangeColor(Color oldc, Color newc)
  4. {
  5. }

即pcolor发生变化时,客户端都调用ChangeColor

PS:使用此特性标注的变量,只应该在服务器上对此变量进行更改,而通过hook在客户端作用此更改
然后hook,仅会再客户端调用,如果服务器是OnlyServer模式则不会调用

使用脚本让服务器控制所有客户端颜色变化的代码

  1. using UnityEngine;
  2. using Mirror;
  3. public class PlayerController : NetworkBehaviour
  4. {
  5. [SyncVar(hook = nameof(ChangeColor))]
  6. Color pcolor = Color.white;
  7. Rigidbody rb;
  8. MaterialPropertyBlock prop;
  9. /// <summary>
  10. /// 客户端收到同步时调用
  11. /// </summary>
  12. /// <param name="oldc"></param>
  13. /// <param name="newc"></param>
  14. void ChangeColor(Color oldc, Color newc)
  15. {
  16. Debug.Log("更新为新颜色");
  17. prop.SetColor("_Color", newc);
  18. GetComponent<Renderer>().SetPropertyBlock(prop);
  19. }
  20. private void Awake()
  21. {
  22. rb = GetComponent<Rigidbody>();
  23. prop = new MaterialPropert
2022-05-17 14:39:49    69    0    0

个人理解的两种方式

方式一 房间模式:(自带一个需要准备等待功能的模式)

创建场景

Offline,Room,GamePlay
作用:区分Online和非Online模式

准备脚本

通过create->mirror 创建如下脚本

[NetworkRoomManager]
作用:房间管理,有房间创建,连接,等房间相关的回调
基于房间补充相关逻辑

[NetworkRoomPlayer]
作用:包含房间里的玩家状态和回调

[NetworkBehaviour]

创建多个NetworkBehaviour :
如,NetworkBehaviour 改为 myPlayer
NetworkBehaviour 改为 myItem
作用: 有了本脚本,才会标记告知服务器需要同步本对象
继承了MonoBehaviour的Network脚本,
可以衔接Update等函数书写自己的逻辑,
取到玩家网络状态,如

  1. isServer
  2. 如果是此对象是在服务器上运行的(包括服务器+客户端一体的主机),则返回true
  3. isServerOnly
  4. 如果是此对象仅在服务器运行的(而非包含客户端的主机),则返回true
  5. isClient
  6. 如果此对象已经存在,且处于客户端上(包括主机的客户端),则返回true
  7. 等等

准备预制体

创建空物体,命名为RoomPlayer,挂MyNetworkRoomPlayer
创建胶囊,命名为Player,挂MyPlayer
创建Cube, 命名为Item 挂myItem

客户端操作权限:
Player预制体上的挂NetworkTransform脚本的ClientAuthority 一定要勾选上,否则没有客户端操作其状态的权限。

在玩家或者我物体预制体上挂载,NetworkIdentity 脚本
(往往挂载其他Mirror脚本时,NetworkIdentity脚本会自动挂载)

创建管理组件

1.在Offline场景空物体,挂MyNetworkRoomManager脚本
挂载好在线和离线对应的场景,Player预制体,以及房间相关的预制体和场景
title

2.同时

2022-05-07 12:32:14    69    0    0

个别皓月云用户还存有这个问题,“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案”
那就直接改注册表吧

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy
将enable设置为0

2022-04-29 11:34:26    81    0    0
###**[前言]** 这是一个以"**主观为驱动核心的AI人格模拟**"为设计目的或设计乐趣的议题, 并会从设计角度去尝试阐述和初步实现它。 听字面意思, 你甚至可能会觉得这个想法会非常可笑,甚至可以直接否认? 别怕,大胆一点,确实可以这样想。 因为我自己都觉得大概率会变成伪命题。 若还能看下去,再往下看吧(笑) 否则,右上角点个[ X ]关掉这篇文章... ###**[是什么]**
1/20