The Toilet Simulation
本当はWebGLという規格で作って
Webブラウザ上で全世界の男性に挑戦状を叩きつけたかった。。
今回使った技術がWebGLに対応していなかったため
なくなくWindowsアプリケーション(下記zipフォルダ内のexeファイル)にしました。
theToilet.zip
※ブラウザからzipフォルダをダウンロードする際は”必ず”ウィルススキャンをしてください!
作業工程
①Create World!!
②必要なAssetsをDownload&Import!!
③パパっと配置!!
④UIを配置!!
⑤適当にスクリプト作成!!
⑥完成!!
試行錯誤録
1.パーティクルシステムが衝突した箇所の位置情報を取得する
こちらのサイトが大変参考になりました!実績有りなので引用させていただきます。
Unity – Particle Systemで衝突した座標を取得する。
private ParticleSystem particle;
private List<ParticleCollisionEvent> collisionEventList;
public GameObject objprefab;
void Start()
{
particle = GetComponent<ParticleSystem>();
collisionEventList = new List<ParticleCollisionEvent>();
}
void OnParticleCollision(GameObject obj)
{
particle.GetCollisionEvents(obj, collisionEventList);
foreach(var collisionEvent in collisionEventList)
{
Vector3 pos = collisionEvent.intersection;
Instantiate<GameObject>(objprefab, pos, Quaternion.identity);
}
}
2.nvidia Flexがクラッシュしないようにする
nvidia FlexSourceActorをSetActiveで表示切替を行うと下記エラーが出てくる。
mapping a buffer that was already mapped
こちらのIssuesが大変参考になりました!実績有りな箇所を引用させていただきます。
SteamVR 2.2 + nvidia Flex errors #337
if (m_indexBuffer != null)
{
m_indexBuffer.SetData(indices);
}
上記箇所を下記コードに修正する。
if (m_indexBuffer != null)
{
m_indexBuffer.SetData(indices, 0, 0, m_indexBuffer.count);
}
コメント