И так = ) Еще раз спасибо тем кто помогал.
1) в нашей пхп странице (index.php) (немного переделанной HTML, которая создается при билде веба, в ней заменили все " на ' и поместили весь получившийся код в echo "")
добавляем строчки $pLevel=$_GET["ourparamlevel"];(наши загружаемые проекты с комнатой) и $pMCamPos = $_GET["mcampos"]; (наши позиции камер)
<!php
$pLevel=$_GET["ourparamlevel"];
$pMCamPos = $_GET["mcampos"];
echo "код страницы"
!>
в коде страницы ищем строчку
unityObject.embedUnity('unityPlayer', 'WebPlayer.unity3d', 6800, 600, params);
и меняем ее на
unityObject.embedUnity('unityPlayer', '".$pLevel.".unity3d', 800, 600, params);
где '".$pLevel."(наш передаваемый параметр проекта с комнатой).unity3d'(расширение файла, ммм, изначально выглядевшего как WebPlayer.unity3d)
800 и 600 размер окошка который будет на странице
далее добавляем (я добавил сразу после скрипта обрабатывающего unityPlayer)
Используется javascript
<script type='text/javascript' language='javascript'>
<!--
function fTransferCamPos( arg )
{
// show the message
// alert( arg );
var unity = unityObject.getObjectById('unityPlayer');
unity.SendMessage('AnyGameObject', 'CsFTransferCamPos', '$pMCamPos');
}
-->
</script>
где AnyGameObject - любой объект сцены (лучше бы наверно создавать простой "Create Empty")
CsFTransferCamPos - функция в С# в которую мы будем передавать значение с положением камеры
$pMCamPos - положение нашей камеры
2) Создаем C# скрипт (название скрипта любое на ваше усмотрение, у меня - MMH (уже не помню почему = )) ) (в него мы будем передавать все значения положения камер в проектах)
Используется csharp
using UnityEngine;
using System.Collections;
public class MMH : MonoBehaviour
{
public string myCamPos; //строковое значение положения камеры
GameObject GMainCam; // камера персонажа
//здесь мы передаем из пхп страницы из джавы через функцию строковое значение положения камеры
public void CsFTransferCamPos(string someString)
{
myCamPos = someString;
}
void Awake()
{
Application.ExternalCall("fTransferCamPos", ""); // функция передаваемая из пхп страницы в джаваскрипте
GMainCam = GameObject.Find("MainCam"); // камера персонажа
}
void Start ()
{
}
void Update ()
{
// в зависимости от значения myCamPos перемещаем камеру персонажа в любую точку сцены
if (myCamPos == "0") // положение камеры в первом проекте (сцене)
{
GMainCam.transform.position = new Vector3(0f, 5f, -4f);
myCamPos = ""; // сразу же обнуляем значение чтобы наша камера не зависла в воздухе (падаем на пол = ))
}
if (myCamPos == "1")// положение камеры во втором проекте (сцене)
{
GMainCam.transform.position = new Vector3(0f, 10f, -4f);
myCamPos = "";
}
}
}
3) создаем C# скрипт (название любое) передачи параметров комнаты и камеры
Используется csharp
using UnityEngine;
using System.Collections;
public class Temp1 : MonoBehaviour
{
void Awake()
{
}
// Use this for initialization
void Start ()
{
}
void OnMouseDrag()
{
if (name == "MyCub") // если при нажатии на объект с коллайдером, имя объекта равно MyCub
{
Application.OpenURL("http://MySite/MuseyGame/index.php?ourparamlevel=room2&mcampos=1"); //передаем параметр проекта и параметр положения камеры
}
if (name == "mycub2")
{
Application.OpenURL("http://MySite/MuseyGame/index.php?ourparamlevel=room1&mcampos=0");
}
}
}
4) создаем две сцены
в первой создаем "Create Empty" даем ему название AnyGameObject и вешаем на него скрипт MMH
в ней же создаем камеру персонажа MainCam
в ней же создаем объект mycub2 (с колайдером) к нему прицепляем скрипт Temp1
во второй создаем "Create Empty" даем ему название AnyGameObject и вешаем на него скрипт MMH
в ней же создаем камеру персонажа MainCam
в ней же создаем объект MyCub (с колайдером) к нему прицепляем скрипт Temp1
Примечания: вроде все описал, если что то у кого то не получилось пишите добавлю пояснений
данное решение предназначено для перехода между разными комнатами разных проектов, то есть если каждый проект это отдельная комната
если вы хотите перемещаться внутри одного проекта то лучше делать условие на то в какой вы сейчас комнате и просто менять положение камеры не прогружая заново уровень и не передавая параметр. если у вас в одном проекте две комнаты то чтобы перейти лучше всего прописать DontDestroyOnLoad в Awake() вашей камеры и так же просто переместить при загрузке комнаты без прогрузки заново проект и передачи параметра положения камеры.
Спасибо за внимание. Если вдруг что пишите = )