Upgrade to Pro — share decks privately, control downloads, hide ads and more …

左側と右側で別のものが見えるようにしてみた

 左側と右側で別のものが見えるようにしてみた

第4回 Looking Glass 勉強会のLTで使った資料です。右から見ると通常のモデル、左からだと骨格が見えるというちょっと不思議な裸眼立体視をLooking Glassで試してみました。詳細はこちらのブログでも公開しています https://www.kabuku.co.jp/developers/hack_looking_glass

Kenichi Takahashi

February 10, 2020
Tweet

More Decks by Kenichi Takahashi

Other Decks in Technology

Transcript

  1. )PMPQMBZDTΛ։͘ͱ w "TTFUT)PMPQMBZ4DSJQUT)PMPQMBZDT w QVCMJDWPJE3FOEFS2VJMUͱ͍͏ϝιου͕ ͋Γɺࢹ఺਺ʢRVJMU4FUUJOHTOVN7JFXTʣ ෼ͷϧʔϓΛ͍ͯ͠ΔՕॴ͕͋Δ w ࠨӈํ޲ʹࢹ఺ΛͣΒ͠ͳ͕ΒϨϯμϦ ϯά

    㱺͜͜ʹखΛՃ͑Δ // render the views for (int i = 0; i < quiltSettings.numViews; i++) { if (i % ViewInterpolation != 0 && i != quiltSettings.numViews - 1) continue; // onViewRender if (onViewRender != null) onViewRender.Invoke(this, i); . . . // move the camera var viewMatrix = centerViewMatrix; var projMatrix = centerProjMatrix; float currentViewLerp = 0f; // if numviews is 1, take center view if (quiltSettings.numViews > 1) currentViewLerp = (float)i / (quiltSettings.numViews - 1) - 0.5f; viewMatrix.m03 += currentViewLerp * viewConeSweep; projMatrix.m02 += currentViewLerp * viewConeSweep * projModifier; cam.worldToCameraMatrix = viewMatrix; cam.projectionMatrix = projMatrix; // render and copy the quilt cam.Render(); // copy to quilt CopyViewToQuilt(i, viewRT, quiltRT); CopyViewToQuilt(i, viewRTDepth, quiltRTDepth); . . .
  2. )PMPQMBZDTʹखΛՃ͑Δ w ͭͷQVCMJDม਺Λ௥Ճ w ࠨӈผϞσϧදࣔͷ0/0'' w ࠨ໨༻ͷϞσϧͷ(BNF0CKFDU w ӈ໨༻ͷϞσϧͷ(BNF0CKFDU public

    class Holoplay : MonoBehaviour { // variables public bool splitView = false; public GameObject leftModel; public GameObject rightModel; . . .
  3. )PMPQMBZDTʹखΛՃ͑Δ w QVCMJDWPJE3FOEFS2VJMUϝιουʹॲཧ Λ௥Ճ w ࢹ఺਺෼ϧʔϓͷ w લ൒͸ӈ໨༻ϞσϧΛΞΫςΟϒʹ w ޙ൒͸ࠨ໨༻ϞσϧΛΞΫςΟϒʹ

    // render the views for (int i = 0; i < quiltSettings.numViews; i++) { if (i % ViewInterpolation != 0 && i != quiltSettings.numViews - 1) continue; // onViewRender if (onViewRender != null) onViewRender.Invoke(this, i); if (splitView) { if (i == 0) { leftModel.SetActive(false); rightModel.SetActive(true); } else if (i == quiltSettings.numViews / 2) { leftModel.SetActive(true); rightModel.SetActive(false); } } . .