草原历险记

草原历险记 :
<一> 资源导入及地形创建: 1.资源导入,地形创建 2.地形贴图绘制 3.添加树木花草及灯光
<二> 实现主角控制: 1.简单物体控制 2.导入主角及添加重力 3.实现跳跃及加速
4. 实现半蹲 5.主角血值及能量值 6.实现加速时减少能量值
7.实现加速减少能量值 8.实现角色死亡
<三> 实现摄像机跟随: 实现摄像机跟随主角移动
<四> 使用Mecanim动画系: 1.分割主角动画 2.主角添加动画状态机 3.添加主角动画脚本
4 .触发器创建 5.创建水面死亡触发器
<五> 使用触发器实现拾起: 1.播放死亡动画 2.添加死亡复活点 3.物品拾起功能
4.添加声音效果 5.添加物品目录功能
<六> 敌人AI功能的开发: 1.导入怪物 2.实现怪物AI 3.添加怪物状态信息
4.添加主角攻击功能
地形创建 :
添加Terrain地形, 调节大小 (200,200,50<1025*1025>)
贴图 : Paint Texture 刷地形 :Set Height 光滑 :Smooth Height
(可通过调整不透明度使效果更好)
花草树木添加 :
已有预制体中直接拖拽. 也可通过在Paint Detail中将图片应用到场景,将草"刷"上去
添加水 :拖入,更改大小,坐标,使水显示出来
添加天空 :skybox 天空素材;在Edit中Render Setting 应用Sky box (额…直接拖到天空)

GameObject : 导入灯光 Directional Light90(可通过旋转调节光线照射方向)

控制物体Box移动 :
添加组件 : Character Controller (调节半径,高度等)
private Vector3 moveDirection = Vector3.zero ; ( 定义初始值 )
然后创建脚本进行控制 :
Character Controller.Move移动 (更加复杂的移动函数,每次都绝对移动)
controller.Move(moveDirection*Time.deltaTime); 无Time.deltaTime物体将难以控制
当CharacterController.Move被引用后,返回的是 :CollisionFlags
通过其可以得到与地面碰撞程度
实现物体左右旋转 :
private float moveHorz=0.0f;
if(moveHorz>0) rotatorDirection = new Vector3(0,1,0);
else if(moveHorz<0) rotatorDirection = new Vector3(0,-1,0);
else rotatorDirection = new Vector3(0, 0, 0);

controller.transform.Rotate(rotatorDirection * Time.deltaTime);
不通过为主角添加刚性组件,拥有重力影响 (加脚本):
定义 :gravity的值;通过一个bool判断主角是否离地,进而判断是否受重力作用
if在地面 :不受重力影响作用 ;若在空中 :则通过脚本改变每帧游戏物体的Y坐标
CollisionFlags flags = controller.Move(moveDirection*Time.deltaTime);
当前物体移动时与地面的标志位
实现跳跃和加速 :
脚本中通过if语句判断是否按下键位实现功能(键位与unity中project setting 统一)
例 :if (Input.GetButton(“Jump”)) //按下空格键实现跳跃
{
moveDirection.y = jumpSpeed;
}
加速 : 定义一布尔值,知道当前正在加速,以方便后面进行播放时的判断,
// 半蹲 : 通过定义float值降低主角高度和重心;
注意 !! : 当实现完加速和半蹲时,记得让松开按键时主角回到原来的状态设置;
主角生命,能量值 : 添加新脚本 widget_status 设置主角状态
在脚本中定义float主角生命,能量,
添加回血,掉血效果 : 设置参数;
添加死亡参数,使主角生命值小于等于0时执行;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗪磕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值