做一个第一人称视角的实现,并走动跳起
操作:
W[上] S[下] A[左] D[右]
+[速度加快] -[速度减慢]
鼠标控制方向
新建一项目,然后新建一地形,
然后建站天空,先导入资源
选择菜单上的Edit -> Render Settings
找到右面Skybox Material打开这个选项
选择一个合适的天空背景。
如果看不到效果,可点击下面选项来显示天空
Assets->Import Package->Terrain Assets导入陆地小草之类的资源
再导入Assets->Import Package->Character Controllers资源,此资源下有鼠标控制方向
设置陆地
选择好点添加
把需要的素材都添加进来
设置的第一个就是陆地的背景
这里看起来是比较暗的,需要设置一光源
从菜单中选择GameObject->Create other->Directional light创建一光源,设置好方向跟位置
然后设置一些山脉
然后给山脉上背景
效果如图:
选择Main Camera,点菜单Component->Camera-Control->Mouse Look
然后再添加建FPSWalker.js,如下:
var speed = 6.0;
var jumpSpeed = 8.0;
var gravity = 20.0;
var e:Vector3;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function FixedUpdate() {
if(Input.GetKey(KeyCode.KeypadPlus)||Input.GetKey(KeyCode.Equals)){
speed+=0.2;
}
if(Input.GetKey(KeyCode.KeypadMinus)||Input.GetKey(KeyCode.Minus)){
if(speed>0){
speed-=0.2;
}else{speed=0;}
}
if (grounded) {
// We are grounded, so recalculate movedirection directly from axes
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton("Jump")) {
moveDirection.y = jumpSpeed;
}
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
var controller : CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.CollidedBelow) != 0;
var camera : Camera = GameObject.Find("Main Camera").GetComponent(Camera);
if(Input.GetKey(KeyCode.RightBracket)){
if(camera.fieldOfView<90){
camera.fieldOfView+=0.5;
}
}
if(Input.GetKey(KeyCode.LeftBracket)){
if(camera.fieldOfView>60){
camera.fieldOfView-=0.5;
}else {camera.fieldOfView=60;}
}
}
@script RequireComponent(CharacterController)
然后选择Main Camera,把刚才的FPSWalker.js拖拽到右边窗口,如下:
保存,运行
- 大小: 31.9 KB
- 大小: 49.3 KB
- 大小: 18.3 KB
- 大小: 27 KB
- 大小: 3.8 KB
- 大小: 31.1 KB
- 大小: 42.3 KB
- 大小: 8.4 KB
- 大小: 31.3 KB
- 大小: 34.4 KB
- 大小: 79.5 KB
- 大小: 8.6 KB
- 大小: 16.8 KB
分享到:
相关推荐
动手实现了一个第一人称视角的编写方式,以前一直都用的unity自带的standardassets里面的第一人称视角预制体,现在也能自己写出来这种视角了,根据里面的文档来写每个人都可以做到,文档还介绍了一些简单的知识点,...
Unity UGUI第三人称视角手游 左侧控制移动,右侧控制视角和方向 (可根据自己需求修改)
Unity UGUI 通过摇杆 joystick 控制角色移动(第三人称视角)包含资源和例子,要实现王者荣耀,英雄联盟手游第三人称跟随相机只需加 一句代码 **Vector3.Lerp()这一句代码** 或者直接**做成人物子物体**更简单粗暴
一个第一人称小游戏,展示了恐怖风格和迷宫的制作
第一人称视角,旋转,缩放,移动,跳跃,第一人称视角,旋转,缩放,移动,跳跃,第一人称视角,旋转,缩放,移动,跳跃,第一人称视角,旋转,缩放,移动,跳跃,第一人称视角,旋转,缩放,移动,跳跃,第一人称视角,旋转,缩放,移动,跳跃,
第三人称是视角意味着摄像机跟随着角色移动而不是在角色内移动,模拟阴影,像实时阴影和光照贴图,改善图像。
unity做的第一人称射击游戏(免积分下载),虚拟现实期末大作业,以第一人称视角用枪打怪物,打包文件包含项目源代码,导出exe文件,游戏设计报告,适合初学者学习使用,详情请看我的文章介绍 。
新建一个椭圆来当主角(因为是第一人称视角,所以看不到玩家自己),将main camera拖给主角,并且调整摄像机的位置(大概位于玩家的头部),使摄像机跟随玩家移动。给主角添加move代码,主角可以通过键盘的WASD以及...
视角变化的联合国角色控制 此仓库包含一个示例,用于处理角色和相机在不同...在第一人称视角的时候角色跟随相机方向旋转在第三人称视角的时候角色跟着随输入旋转 去做 添加跳跃跳跃和自由落体自由落体(或dodge翻滚)
主要是用于初学unity用的,此篇unity的脚本使用C#实现的,gensui.cs脚本是放在摄像机上面的,Player....cs是放在第一人称的人物上的
Requires Unity 4.3.2 or higher. FPS Handy Hands is a set of high quality first person hand models. Unity3D游戏角色人物模型FPS Handy Hands手掌背手臂模型资源素材
Unity3D第一人称视角控制器脚本,包含玩家移动和摄像机跟随
Unity 3D第三人称视野简单实现,竖轴限定用途广泛。 很多新手没有思路去写一个第三人称的视角限定的相机控制脚本。本demo才用中文编写,简单易懂。 便于新手理解!!!
你将以第一人称视角操控弓弩,移动到指定的射击位,使用弩箭射击标靶从而得到相应的分数。 VR 射击游戏 一、前言 这是我的第一个相对较为完整的 Unity 项目,第一次接触 VR ,虽然现在回看起来很多地方都写的不是很...
第一人称与第三人称人物的移动,跳跃攻击(在攻击的时候会切换为第三人称),切换视角,设定角色位置,适用于Unity初学者,可以放到项目原型中用于项目的测试。 你可以将它用于任何项目,包括商业项目,个人学习,...
该类使用很方便,加到工程中就可以使用了.从我上载的程序virtual_house2.0里你就可以看到.可以做到前进,后退,左移,右移,向左转,向右转,上仰,下俯.类似于cs里的场景.而且这个摄象机还带有边界检测功能,摄象机是不能跑...
Unity 科技感空间第一人称视角 科幻场景 可走动,可换元素 亲测好用
FPSControllerKit 第一人称射击工具包。 它几乎包含了用于制作完整的《第一人称射击》游戏的所有功能,目前仍处于开发阶段,要添加的功能位于TODO文件中。 FPS控制器套件完全用C#编写。 ###功能(添加功能后将添加...
wasd控制第一人称移动,Shift加速移动,鼠标控制视角,空格可以跳跃,没有蹲下,有走路和跳起的音效。
它包含许多其他角色控制器中通常不具备的独特功能 - 从无缝的第一和第三人称视角切换到弹簧系统,允许流畅的,程序化的第一人称动画。其他独特功能包括能力系统,动态重力,以及能够根据每个角色更改时间刻度 运动...