[二]Unity接入Steam技术[大厅,邀请好友,Steam消息事件,成就]

steam注册事件

      //当退出大厅
      SteamCallBacks.OnLobbyKicked = Callback<LobbyKicked_t>.Create(OnLobbyKicked);
      //当大厅创建
      SteamCallBacks.OnLobbyCreated = Callback<LobbyCreated_t>.Create(OnLobbyCreated);
      //当加入steam大厅
      SteamCallBacks.OnLobbyEnter = Callback<LobbyEnter_t>.Create(OnLobbyEnter);
      //当大厅数据更新
      SteamCallBacks.OnLobbyDataUpdate = Callback<LobbyDataUpdate_t>.Create(OnLobbyDataUpdate);
    /// SendLobbyChatMsg。这将向大厅内的所有用户发送一条简单的二进制消息。 
    /// 大厅成员需要听取 ISteamMatchmaking::LobbyChatMsg_t 回调。 
    /// 收到回调后,您可以使用 ISteamMatchmaking::GetLobbyChatEntry 获取消息内容
      SteamCallBacks.OnLobbyChatMsg = Callback<LobbyChatMsg_t>.Create(OnLobbyChatMsg);
      ///当收到邀请通知
      SteamCallBacks.OnLobbyInvited = Callback<LobbyInvite_t>.Create(OnLobbyInvited);
    /// 如果用户已在游戏中,将提交 ISteamFriends::GameLobbyJoinRequested_t 回调,
    /// 其中包含了用户希望加入的大厅的 Steam ID。 这将由您的游戏决定是否接受。
      SteamCallBacks.OnGameLobbyJoinRequested = Callback<GameLobbyJoinRequested_t>.Create(OnGameLobbyJoinRequested);
     /// 如果目标用户接受了邀请,启动游戏时 pchConnectString 会添加入命令行。
    /// 如果该用户已在运行游戏,对方便会收到带有连接字符串的
      SteamCallBacks.OnGameRichPresenceJoinRequested = Callback<GameRichPresenceJoinRequested_t>.Create(OnGameRichPresenceJoinRequested);

标题

 if (GUI.Button(new Rect(100,190,100,50),"Request")) 
 {
   
//刷新你现在不一定在的大厅的元数据
//这将发送与说客相关的所有元数据
//如果本地用户没有连接到Steam服务器,返回false
//结果将由dataupdate_t callback 触发
  SteamMatchmaking.RequestLobbyData((CSteamID)NowLobbyId);
 }
 //steam  API   LobbyDataUpdate_t 回调将会被触发
public struct LobbyDataUpdate_t {
   
		public const int k_iCallback = Constants.k_iSteamMatchmakingCallbacks + 5;
		
		public ulong m_ulSteamIDLobby;		// steamID of the Lobby
		public ulong m_ulSteamIDMember;		// steamID of the member whose data changed, or the room itself
		public byte m_bSuccess;				// true if we lobby data was successfully changed;
										// will only be false if RequestLobbyData() was called on a lobby that no longer exists
	}

更多steam回调接口

steam官方文献库
在这里插入图片描述

steam sdk 消息工具类

using Steamworks;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class ST
{
   
//给steam发送一些信息,以实现好友之间的状态事件监听。[可自定义]
  public static void SENDMS_Private(CSteamID lobbyId,CSteamID sendWho,byte msId)
  {
   
    byte[] msg = new byte[] {
    (byte)sendWho, msId };//{消息类型[0==公共],类容}
    SteamMatchmaking
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
嗨!开发沉浸式界面需要使用UnitySteamVR技术,下面是一般的开发步骤: 1. 安装UnitySteamVR插件:首先,确保你已经安装了最新版本的Unity编辑器,并在Unity Asset Store中下载并导入SteamVR插件。 2. 创建新项目:在Unity中创建一个新项目,选择3D模板,确保项目设置中启用了虚拟现实功能。 3. 设置场景:创建一个新的场景并设置虚拟现实摄像机。可以使用SteamVR插件提供的预制件,例如"SteamVR_Camera"来设置摄像机。 4. 导入资产:导入你的3D模型、纹理、声音效果等资产到Unity项目中,并将它们放置在场景中。 5. 添加互动元素:利用Unity的编程功能,为你的模型添加交互功能。你可以使用SteamVR插件提供的脚本和组件来实现手柄追踪、碰撞检测等功能。 6. 设计用户界面:创建一个用户界面(UI)来显示游戏或应用程序的信息。你可以使用Unity自带的UI系统或者利用SteamVR插件提供的UI元素来设计界面。 7. 测试和调试:使用SteamVR插件提供的模拟器或连接真实的虚拟现实设备来测试你的应用程序。确保所有互动元素和界面在虚拟现实环境中正常工作。 8. 优化和打包:进行性能优化,确保你的应用程序在虚拟现实设备上能够流畅运行。最后,将你的应用程序打包为可执行文件或上传到SteamVR平台进行发布。 以上是利用UnitySteamVR技术完成沉浸式界面开发的基本过程。希望对你有所帮助!如果有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_阿松先生

感谢您的支持~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值