vr课程设计大纲docx文档格式.docx
《vr课程设计大纲docx文档格式.docx》由会员分享,可在线阅读,更多相关《vr课程设计大纲docx文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
00上课11:
30下课
13:
00午睡14:
00做作业,学习16:
00游戏
20:
00看恐怖电影23:
00睡觉
对于以上用户分析知道,这类用户存在广泛。
本产品受众广泛,隐藏大批用户,产品具有一定市场空间,定位于此类用户,接着进入开发环节。
四、MVP(核心玩法)
背景环境:
一个年代久远的破旧屋子(当前项目主要是一楼大厅)
故事梗概:
玩家打开屋子大门,进入之后来到阴森的大厅,门随之关闭无法打开;
大厅的蜡烛绿闪烁着色火焰;
窗帘随着风飘动,餐桌上整齐的摆放着餐盘还有刀叉,盘子里面有死老鼠、心脏;
桌子上还有打火机和一只蜡烛;
玩家伴随着自己的脚步声,探索着黑漆漆的大厅……
随着咚的一声,午夜12点到了,窗户啪的一声被妖风吹开,火盆的火、蜡烛全被吹灭了。
(桌子上的打火机和蜡烛有提示)玩家看见了打火机和蜡烛,当玩家用打火机点亮蜡烛的一瞬间,玩家面前出现了贞子的脸(贴脸杀),贞子快速的后退消失了;
这时候玩家看到地面上有残肢断脚,听到了滴血的声音,玩家跟随血滴往上看,发现天花板下面吊着一堆尸体。
过几秒之后屋里随机生成一个发光的钥匙,同时二楼门也有提示,玩家拿着钥匙开启二楼门开启下一次恐怖体验……
具体模型:
1个大房子(本次项目针对一间房间);
1扇门;
1扇窗;
1个窗帘;
二楼1扇门;
1双手(代替手柄);
2个火炬,2个火炬光;
1张桌子;
6个盘子,6副刀叉;
3个心脏;
9只死耗子;
10具尸体;
1个断手,1个断脚;
1摊血液;
1只猫;
5+1只蜡烛,1个打火机;
1只钥匙。
对应音效:
脚步声;
风声;
钟声;
开门声;
滴血声;
背景音乐;
窗户关闭声;
物体坠落地板声;
呼吸声;
心跳声
五、开发流程以及分工
Agender:
第一周:
游戏故事设定,确定美术风格,经典影视游戏作品分析研究,基本场景搭建,熟悉unity3D基本功能
第二周:
细化游戏机制,情节,梳理逻辑,美工丰富场景物件,程序员尝试基本交互
第三周:
美工完成贴图,程序员测试式编程,完成demo1.0
第四周:
美工完善灯光,材质,程序员完成所有交互完成demon2.0
第五周:
用户测试,根据反馈修改游戏,解决bug,美工进一步优化huanj
第六周:
完成beta版
ROLES:
PM:
吴为
美工:
周江峰章炜松
程序:
吴为蔡敏
六、主要思路介绍
1、环境声音:
环境声音的切换采用事件触发。
当用户在屋外时候播放屋外环境音效,当进入第一个触发器(在屋前的台阶),切换上台阶声音。
当进入第二个触发器(在屋子的门口),切换屋内音效。
(触发器代码见八、主要代码介绍)
2、屋外喷泉:
屋外喷泉采用视角触发事件,当视角到达触发器(在喷泉上),播放惊悚声音。
3、开门事件:
开门脚本采用VRTK插件解决
4、自动关门:
自动关门采用触发器触发关门,关门角度计算得到。
5、钟声:
钟声采用时间和触发器同时控制,时间运行开始时间在进入门口开始计时。
时间控制钟声发出。
(时间代码见八、主要代码介绍;
钟声代码见八、主要代码介绍)
6、脚步声:
脚步声的控制根据手柄按钮,触发播放和停止。
(播放代码见八、主要代码介绍)
7、窗帘飘动:
由另一程序员实现。
8、挂画掉落:
9、风吹灭蜡烛:
10、以及其他思路
七、每周报告
第一周
姓名
每周工作内容
项目进度
下周工作计划
PM
明白鬼屋恐怖点,组员分配任务,搞清游戏逻辑,游戏情节设计
大部分场景搭建成功,unity基本功能学习,简单VRTK学习,简单交互实现,刚体,触发器学习。
美工,程序尚未合并
深化恐怖情节学习,恐怖情节设定,组内成员调节,情节继续设定,逻辑梳理
美工
周江峰
房间整体结构设计,大场景搭建
室内环境优化,完成贴图,材质。
章炜松
音效收集,素材收集
音效的整理,灯光的调节整理
程序
插件的学习,实现走动,物体抓取,碰撞体的学习,触发器的学习,手柄功能的学习,坐标系的学习。
鼠标跟随,开关灯
继续深化学习组件的学习,脚本的添加,脚本,组件的相互控制,脚本控制组件运行关闭。
蔡敏
手动和自动开关门,铰链学习,碰撞体触发学习,自动触发窗户开关,触发木马自己摇动,开关门实现过程,各种碰撞体的使用实施,加深音频的学习
学习unity的大部分功能,深化学习C#语言,unity的灯光学习
汇总日期:
11月13日报告人:
第二周
调节监督组员进度,完善游戏逻辑,情节,深化理解游戏核心玩法,游戏逻辑梳理
触发事件添加,场景基本成型,逻辑事件持续添加中。
用户调研,修改逻辑,优化用户体验,项目任务分配,组员调节
完成室内环境,室内物品摆放,完成贴图,材质。
修改物品。
添加修改物体属性,室外环境搭建,物品材质优化,贴图优化,收集整理游戏物品
音效收集,素材收集,法线贴图灯光控制,
完成小部件修改,音效收集整理,环境控制
完成脚本控制组件的,走动脚步声的触发,窗帘的飘动,灯光的添加,视角的触发,游戏全局时间的控制,位置触发的学习,脚本深化学习,物体追踪,利用时间控制触发事件,了解点积差积
游戏逻辑实现(钟声,窗户开关,画册位置改变,声音的触发切换,多种逻辑事件联动)
学习利用关节joint去开关门,以及上下楼梯过渡的动态效果,以及unity中的Navigation网格导航基本使用,以及mecanima动画状态机,开关门动态过渡效果实现,以及unity中简单音频学习实现,灯光的基本使用
根据速度,发出脚步声,接着开关门实现过程,以及各种碰撞体的使用实现,加深对音频的学习
11月20日报告人:
第三周(会继续添加)
八、主要代码介绍
1、视角触发声音代码:
usingUnityEngine;
usingSystem.Collections;
publicclassNewBehaviourScript:
MonoBehaviour{
//publicGameObjectobj;
//publicGameObjectobj1;
privateboolb=true;
//privateVector3normal=newVector3(10,10,10);
publicboolisRendering=false;
privatefloatlastTime=0;
privatefloatCurTime=0;
//Usethisforinitialization
voidStart(){
}
//Updateiscalledonceperframe
voidUpdate(){
//
Debug.Log("
角度"
+Vector3.Dot(transform.forward.normalized,
obj.transform.position.normalized));
距离"
+Vector3.Distance(obj.transform.position,transform.position));
isRendering=CurTime!
=lastTime?
true:
false;
lastTime=CurTime;
if(isRendering&
&
b){
run();
}
voidOnWillRenderObject(){
CurTime=Time.time;
//创建cube
/*
voidrun(){
GameObjectcube=GameObject.CreatePrimitive(PrimitiveType.Cube);
//cube.GetComponent<
Transform>
().position=(GameObject.Find("
Camera"
)).GetComponent<
().position+normal*0.1f;
cube.GetComponent<
().position=-((GameObject.Find("
().position)+2f*((GameObject.Find("
lazhu"
().position);
asssssssssssssssssssssssssss"
);
b=false;
*/
//改变鬼的位置
GameObject.Find("
aa"
).GetComponent<
().position=-((GameObject.Find("
2、物体抓取代码
[RequireComponent(typeof(SteamVR_TrackedObject))]
publicclassDragObjects:
//追踪设备
SteamVR_TrackedObjecttrackobject;
//监听输入事件
SteamVR_Controller.Devicedevice;
//Usethisforinitialization
voidAwake(){
trackobject=GetComponent<
SteamVR_TrackedObject>
();
}
voidFixedUpdate(){
device=SteamVR_Controller.Input((int)trackobject.index);
//Updateiscalledonceperfram
voidOnTriggerStay(Collidercollider)
{
if(device.GetTouch(SteamVR_Controller.ButtonMask.Trigger))
Debug.Log("
TriggerDown"
//collider.attachedRigidbody.isKinematic=true;
collider.attachedRigidbody.useGravity=false;
collider.gameObject.transform.SetParent(gameObject.transform);
if(device.GetTouchUp(SteamVR_Controller.ButtonMask.Trigger))
TriggerUp"
//collider.attachedRigidbody.isKinematic=false;
collider.attachedRigidbody.useGravity=true;
collider.gameObject.transform.SetParent(null);
tossObject(collider.attachedRigidbody);
//tossObject(collider.attachedRigidbody);
voidtossObject(Rigidbodyrigidbody)
rigidbody.velocity=device.velocity;
rigidbody.angularVelocity=device.angularVelocity;
3、钟声触发
publicclassbofang:
publicGameObjectobj;
privateVector3f1;
privateVector3f2;
privatestaticfloat
t=0;
publicAudioClip[]source;
privateAudioSourceAs;
As=this.GetComponent<
AudioSource>
();
f1=transform.position;
t+=Time.deltaTime;
if(t>
1){
f2=transform.position;
t=0;
floatdis=Vector3.Distance(f1,f2);
//floatf=Vector3.Distance(obj.transform.position,transform.position);
if(dis>
0.8){
play();
voidplay(){
As.clip=source[1];
As.Play();
f2=f1;
4、手柄控制走路发出脚步声
usingVRTK;
publicclassjiaobusheng:
publicGameObjectoutGround;
publicGameObjectlouti;
publicGameObjectinground;
outGround.GetComponent<
().enabled=false;
voidUpdate()
{
VRTK_ControllerEventsevents=GetComponent<
VRTK_ControllerEvents>
events.TouchpadPressed+=newControllerInteractionEventHandler(OnWalk);
VRTK_ControllerEventsevents1=GetComponent<
events1.TouchpadReleased+=newControllerInteractionEventHandler(DontWalk);
privatevoidOnWalk(objectsender,ControllerInteractionEventArgsevents){
().enabled=true;
privatevoidDontWalk(objectsender,ControllerInteractionEventArgsevents)
publicclasslightCDon:
privatestaticfloattime=0;
public
GameObject
lightc=null;
voidUpdate(){
time+=Time.deltaTime;
intcout=(int)(time%3);
switch(cout){
case0:
lightc.SetActive(true);
break;
case1:
lightc.SetActive(false);
case2:
其他代码会补充
九、产品介绍
1、产品信息
产品名称 :
VR鬼屋
产品性质 :
VR产品
产品分类 :
恐怖游戏
主要开发工具:
unity
开发语言 :
C#
运行平台 :
steamVR
2、用户反馈调查
背景:
当游戏产品(demo1)的大体交互被设计出来,产品遇到了瓶颈。
产品难于加入更多的交互,或者是加入交互具有不确定性。
目标
1、对现有游戏产品的故事、环境、灯光,、音效、交互进行调研询问
2、对未来将要加入的或者将要改变的故事、环境、灯光,、音效、交互进行调研询问
3、根据调研情况进行下一步改进。
方法
在教室内,让同学试玩游戏,体验完游戏后进行询问,同时安排组员进行记录。
问题:
1、 你是否注意到脚步声的改变
2、 你是否注意到看着屋外泉水会发出惊悚的声音
3、 你是否注意到屋外路灯会闪烁
4、 你是否注意到环境音效的改变
5、 你是否注意到大门在进入之后被关上了
6、 你是否注意到屋里蜡烛会在钟声响起的同时熄灭
7、 你是否注意到油画掉落
8、 你是否注意到酒桶滚动
9、 你希望屋里的灯光更加明亮还是更加昏暗,来使游戏更有感觉
10、你是否希望加入背景音乐
11、你是否眩晕
12、你觉得移动速度快还是慢
13、你对桌子上摆放的东西的看法
14、你觉得屋里玻璃多还是少
15、你希望屋里的灯光偏什么颜色
16、你对游戏的故事有什么建议