Unity3D StarTrooper多人游戏源码(可运行)
Unity3D StarTrooper多人游戏源码(可运行)
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-03-22 21:25 Assets
目录 0 2010-03-22 21:33 Assets\_objects
文件 171120 2009-01-13 16:11 Assets\_objectsarenaFBX.fbx
目录 0 2010-03-22 22:27 __MACOSX
目录 0 2010-03-22 22:27 __MACOSXAssets
目录 0 2010-03-22 22:27 __MACOSXAssets\_objects
文件 193 2009-01-13 16:11 __MACOSXAssets\_objects._arenaFBX.fbx
文件 553200 2009-01-13 16:11 Assets\_objectsarenaLitFBX.fbx
文件 193 2009-01-13 16:11 __MACOSXAssets\_objects._arenaLitFBX.fbx
文件 71104 2009-01-13 16:11 Assets\_objectscolumnOneFBX.fbx
文件 193 2009-01-13 16:11 __MACOSXAssets\_objects._columnOneFBX.fbx
目录 0 2010-03-22 20:37 Assets\_objectsMaterials
文件 3413 2009-11-18 13:17 Assets\_objectsMaterialsarena-arenatexture.mat
目录 0 2010-03-22 22:27 __MACOSXAssets\_objectsMaterials
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arena-arenatexture.mat
文件 3269 2009-11-18 13:17 Assets\_objectsMaterialsarena-arenatexture1.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arena-arenatexture1.mat
文件 3413 2009-11-18 13:17 Assets\_objectsMaterialsarena-floortexture.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arena-floortexture.mat
文件 3269 2009-11-18 13:17 Assets\_objectsMaterialsarena-no name.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arena-no name.mat
文件 3413 2009-11-18 13:17 Assets\_objectsMaterialsarenatexture 1.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arenatexture 1.mat
文件 3413 2009-11-18 13:17 Assets\_objectsMaterialsarenatexture 2.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arenatexture 2.mat
文件 3696 2009-11-18 13:17 Assets\_objectsMaterialsarenatexture.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._arenatexture.mat
文件 3502 2009-11-18 13:17 Assets\_objectsMaterialscolumnone-lambert5.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._columnone-lambert5.mat
文件 3436 2009-11-18 13:17 Assets\_objectsMaterialscolumnsquare-columnsquaretexture.mat
文件 193 2009-11-18 13:17 __MACOSXAssets\_objectsMaterials._columnsquare-columnsquaretexture.mat
............此处省略933个文件信息
using UnityEngine;
using System.Collections;
public class NetworkRigidbody : MonoBehaviour {
public double m_InterpolationBackTime = 0.1;
public double m_ExtrapolationLimit = 0.5;
internal struct State
{
internal double timestamp;
internal Vector3 pos;
internal Vector3 velocity;
internal Quaternion rot;
internal Vector3 angularVelocity;
}
// We store twenty states with “playback“ information
State[] m_BufferedState = new State[20];
// Keep track of what slots are used
int m_TimestampCount;
void OnSerializeNetworkView(BitStream stream NetworkMessageInfo info) {
// Send data to server
if (stream.isWriting)
{
Vector3 pos = rigidbody.position;
Quaternion rot = rigidbody.rotation;
Vector3 velocity = rigidbody.velocity;
Vector3 angularVelocity = rigidbody.angularVelocity;
stream.Serialize(ref pos);
stream.Serialize(ref velocity);
stream.Serialize(ref rot);
stream.Serialize(ref angularVelocity);
}
// Read data from remote client
else
{
Vector3 pos = Vector3.zero;
Vector3 velocity = Vector3.zero;
Quaternion rot = Quaternion.identity;
Vector3 angularVelocity = Vector3.zero;
stream.Serialize(ref pos);
stream.Serialize(ref velocity);
stream.Serialize(ref rot);
stream.Serialize(ref angularVelocity);
// Shift the buffer sideways deleting state 20
for (int i=m_BufferedState.Length-1;i>=1;i--)
{
m_BufferedState[i] = m_BufferedState[i-1];
}
// Record current state in slot 0
State state;
state.timestamp = info.timestamp;
state.pos = pos;
state.velocity = velocity;
state.rot = rot;
state.angularVelocity = angularVelocity;
m_BufferedState[0] = state;
// Update used slot count however never exceed the buffer size
// Slots aren‘t actually freed so this just makes sure the buffer is
// filled up and that uninitalized slots aren‘t used.
m_TimestampCount = Mathf.Min(m_TimestampCount + 1 m_BufferedState.Length);
// Check if states are in order if it is inconsistent you could reshuffel or
// drop the out-of-order state. Nothing is done here
for (int i=0;i {
if (m_BufferedState[i].timestamp < m_BufferedState[i+1].timestamp)
Debug.Log(“State inconsistent“);
}
}
}
// We have a window of interpolationBackTime where we basically play
// By having interpolationBackTime the average ping you will usually use interpolation.
// And only if no more data arrives we will use extra polation
void Update () {
// This is the target playback time of the rigid body
double interpolationTime = Network.time - m_InterpolationBackTime;
// Use interpolation if the target playback time is present in the buffer
if (m_BufferedState[0].timestamp > interpolationTime)
{
// Go through buffer and find correct state to play back
for (int i=0;i {
if (m_BufferedState[i].timestamp <= interpolationTime || i == m_TimestampCount-1)
{
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-03-22 21:25 Assets
目录 0 2010-03-22 21:33 Assets\_ob
文件 171120 2009-01-13 16:11 Assets\_ob
目录 0 2010-03-22 22:27 __MACOSX
目录 0 2010-03-22 22:27 __MACOSXAssets
目录 0 2010-03-22 22:27 __MACOSXAssets\_ob
文件 193 2009-01-13 16:11 __MACOSXAssets\_ob
文件 553200 2009-01-13 16:11 Assets\_ob
文件 193 2009-01-13 16:11 __MACOSXAssets\_ob
文件 71104 2009-01-13 16:11 Assets\_ob
文件 193 2009-01-13 16:11 __MACOSXAssets\_ob
目录 0 2010-03-22 20:37 Assets\_ob
文件 3413 2009-11-18 13:17 Assets\_ob
目录 0 2010-03-22 22:27 __MACOSXAssets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3269 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3413 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3269 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3413 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3413 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3696 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3502 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
文件 3436 2009-11-18 13:17 Assets\_ob
文件 193 2009-11-18 13:17 __MACOSXAssets\_ob
............此处省略933个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)