2015-04-29 18:48:43 a3636987 阅读数 3223
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    343 人正在学习 去看看 洪青霞
有时候我们做固定平面的3D游戏的时候,有3D镜头适配的需求,最近正好遇到了,临时编了一个,拿出来和大家一起分享:
using UnityEngine;
using System.Collections;

public class ScreenUnit : MonoBehaviour {
    private float height = 480;
    private float width = 854;
    private float rate1 = 480 / 854.0f;
    private float rate2;
    
	// Use this for initialization
	void Start () {
        rate2 = Screen.height / (float)Screen.width;
        gameObject.GetComponent<Camera>().fieldOfView *= 1 + (rate2 - rate1);
	}
}
将脚本托给相机,就可以实现简单的多机型3D视觉适配
2012-12-10 23:36:48 chinalofthjh 阅读数 119
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    343 人正在学习 去看看 洪青霞
unity3d 相机切换程序思想:为所有的相机设置相同的tag,这样可以使用FindGameObjectsWithTag来获得所有的相机。然后循环遍历关闭所有相机:XXX.GetComponent<Camera>().enabled = false。再把需要打开的相机打开,场景里唯一的相机讲作为mainCamera,u3d引擎会自动移动过去。

也可以获得相机对象后 直接设置其active属性为true/false来实现。











public class CameraSwap : MonoBehaviour 

{

GameObject[] gameObjectsCamera;



// Use this for initialization

void Start () {

gameObjectsCamera = GameObject.FindGameObjectsWithTag("cam");

}



// Update is called once per frame

void Update () {

if (Input.GetKey(KeyCode.Alpha1))

{

swapCamera(1);

}

if (Input.GetKey(KeyCode.Alpha2))

{

swapCamera(2);

}

if (Input.GetKey(KeyCode.Alpha3))

{

swapCamera(3);

}

}



void swapCamera(int index)

{

foreach (var item in gameObjectsCamera)

{

item.GetComponent<Camera>().enabled = false;

}

string name = "Camera" + index.ToString();

GameObject.Find(name).GetComponent<Camera>().enabled = true;

}

}
2014-03-14 10:13:16 huang9012 阅读数 4681
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    343 人正在学习 去看看 洪青霞
Unity3D场景搭建5:相机(Cameras)

相机是一个能够捕获并为玩家显示世界的设备。通过设置和操纵相机,你可以真实而独特的显示你的游戏。在一个场景中你可以有无限的相机。它们可以被设置为任意的渲染顺序,任意的的渲染位置,或者特定的场景部分。

属性

• 清除标记(Clear Flags):决定场景的哪个部分需要清除。当需要使用多个相机以显示不同的游戏元素时这是非常有用的。

• 背景颜色(Background color):在所有的元素这之后的屏幕颜色,没有天空盒

• 正规化视口矩形(Normalized View Port Rect):在屏幕坐标系下使用四个值来确定相机的哪些部分将显示在屏幕上。

• Xmin:相机视开始绘制的开始水平坐标

• Ymin:相机视开始绘制的开始垂直坐标

• Xmax:相机视结束绘制的开始水平坐标

• Ymax:相机视结束绘制的开始垂直坐标

• 近裁剪面(Near Clip Plane):相对于相机昀近绘制点

• 远裁剪面(Far Clip Plane):相对于相机昀远的绘制点

• 视野(Field of view):沿着局部 Y轴的相机视角宽度

• 正视(Is ortho graphic):打开或关闭相机的景深效果

• 正交视大小(Orthographic size):在正交模式下的视口大小

• 深度(Depth):相机的绘制顺序。具有较高深度的相机将绘制在较低深度相机的上面

• 裁剪蒙版(Culling Mask):包含或忽略物体层,可以在监视面板中将一个物体赋给一个层

• 渲染目标(Render Target)(Pro only):指示一个渲染纹理,相机视将输出到该纹理上。使用这个参数将使得相机不会渲染到屏幕上。

Unity3D场景搭建5:相机(Cameras)
Unity中可以扩展的相机

细节相机是将你的游戏显示给玩家的必不可少的方法。它们可以被定制,脚本化或父子化以取得任何可以想象的效果。对于解谜游戏,你可以保持一个显示全部视的静态相机。对于一个 FPS游戏,你应该将相机作为玩家角色的子物体,并将其放置在角色的视平面上。对于竞赛游戏,你需要使得相机能够跟随玩家的交通工具。

你可以创建多个相机并赋予它们不同的深度(Depth)。相机将从低深度想高深度绘制。换句话说,一个具有深度 2的相机将绘制在具有深度 1的相机之上。你可以调整正规化视口矩阵 (Normalized View Port Rectangle)属性以调整相机视在屏幕上的大小和位置。这可以创建多个小视图,例如导弹控制器,地图视图和后视镜等等。

清除标志每个相机在渲染时都存储了颜色和深度信息。屏幕上没有绘制的部分将为空,并在缺省情况下显示天空盒。当你使用多个相机的时候,每一个都将缓存它的颜色和深度信息,并积累每一个相机的渲染数据。当一个相机在你的屏幕上渲染它的视时,你可以设置 Clear Flags来清除不同的缓存数据集。这个可以通过选择如下的四个选项之一来完成:

天空盒(Skybox)

这是一个缺省的设置。屏幕上任何空的部分都将显示当前相机的天空盒。如果当前相机没有设置天空盒,它将缺省使用在渲染设置 (Rendering Settings)中的天空盒。然后将使用背景颜色。

单色(Solid Color)

任何空的部分都将显示当前相机的背景色(Background Color)。

仅深度(Depth only)

如果你想绘制一个玩家的枪并且在处于环境内部时不需要裁剪它,你可以设置一个深度为 0的相机来绘制场景,另一个深度为 1的相机来单独绘制武器。武器相机的 Clear Flags应该被设置为仅深度。这将保持场景显示在屏幕上,但是会丢弃所有不存在 3D空间的所有信息。当武器被绘制时,不透明部分将完全覆盖所有已显示部分,而不论武器与墙有多么接近。

Unity3D场景搭建5:相机(Cameras)
最后绘制枪,清理相机的深度缓存之后

不清除(Don’t Clear)

这种模式将不会清除颜色或深度缓存。结果就是每一帧都将绘制在另一帧之上,就像涂抹效果一样。这个在游戏中并不常用,并昀好与自定义 shader一起使用。

裁剪面(Clip Planes)

近裁剪面(Near)和远裁剪面 (Far Clip Pline)属性决定相机视渲染的开始和结束位置。这两个平面与相机的方向垂直并相对于相机的位置来确定。近裁剪面是昀近的开始渲染的位置,而远裁剪面是昀远的位置。

裁剪面同时确定了深度缓存的精度。通常情况下,为了得到更好的精度你应该将近裁剪面移动到尽可能远。

裁剪蒙版(Culling Mask) 裁剪蒙版使用层来选择性的渲染一组物体。习惯的做法是将你的用户接口放置在不同的层上,然后使用一个独立相机来渲染它。

为了使 UI显示在所有其他相机视的顶部,你还需要设置 Clear Flags和 Depth only并确定相机的深度比其他相机的高。

正规化视口矩形 (Nomalized Viewport Rectangle)

正规化视口矩形能够定义相机的视将显示屏幕的什么位置上。你可以将地图放置在屏幕的右下角,或者将导弹提示视放置在屏幕的左上角。只要一点设置工作,你就可以使用视口矩形 (Viewport Rectangle)来创建特有的行为。

使用正规化视口矩形非常容易的创建一个两玩家的分屏游戏效果。在创建了两个相机之后,改变玩家一的 Ymin为 0.5,玩家二的 Ymax为 0.5。这将使得玩家一的相机显示在屏幕的上半部分,而玩家二的相机将显示在屏幕的下半部分。

Unity3D场景搭建5:相机(Cameras)
使用正规化视口矩形创建的分屏

正交视图(Orthographic)

使用正交相机将移除所有的景深效果,这在卷轴游戏和 2D游戏中昀常用的。

Unity3D场景搭建5:相机(Cameras)

Unity3D场景搭建5:相机(Cameras)
景深相机正交相机。物体并不会随着距离而变小

渲染纹理这个特性仅可用于 Unity Pro。它将一个相机视图输出到一个纹理上,然后可以将该纹理应用到其他物体上。这使可以使得监视器的创建非常容易,还有倒影效果,等等。

Unity3D场景搭建5:相机(Cameras)
使用渲染纹理创建实时监视器

提示

• 相机可以像其他物体一样可以被实例化,父子化和脚本化。

• 为了在竞技游戏中增加速度感,可以使用一个高视野(Field of View)。

• 如果添加一个刚体(Rigidbody)组件,相机可以被用于物理模拟。

• 在你的场景中你可以使用的相机数量没有限制。

• 正交相机可以非常好的用于 3D用户接口。

• Pro版可以是你将相机视输出到纹理,称为渲染到纹理,以得到更独特的效果。

• Unity有预装的相机脚本,可以在 Component->Camera Control中找到。试验它们的不同效果。

• 如果你发现了深度问题 (靠近其他面的一个面在闪烁 ),试着设置近裁剪面(Near Plane)尽可能大。

• 相机不能同时渲染到屏幕和纹理,只能使用一个。

2014-04-14 00:41:14 qinyuanpei 阅读数 5844
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    343 人正在学习 去看看 洪青霞

        大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei

       在我之前的文章《Unity3D游戏开发之小地图的实现》一文中,我为大家讲解了基于OnGUI()方法绘制贴图实现小地图的方法。那么,今天呢,博主再来为大家分享一种实现小地图的方法。在正式开始今天的文章之前,我们先来了解下Unity3D中的相机吧。在Unity3D中,相机是一个能够为玩家捕获并显示游戏世界的设备。通过操纵相机,我们可以使得我们的游戏场景以更加真实和独特的方式显示出来。在Unity3D中默认有一个主相机Main Camera用来显示我们设计的游戏场景,其实呢,在一个游戏场景中我们是可以设置多个相机对象的,而且它们可以被设置为任意的渲染序列、任意的渲染部分和任意的渲染位置。下面我们来讲解一些比较重要的东西吧!

      1、Clera  Flags:决定场景的哪个部分需要清除。当需要使用多个相机以显示不同的游戏元素时这是非常有用的。

      2、Background Color:处于所有对象之后的背景颜色,设置此属性后,天空盒子(SkyBox)将失效。

      3、Normalized View Port Rect:在屏幕坐标系下使用四个值来确定相机的哪些部分将显示在屏幕上。

      4、Near Clip Plane:相对于相机昀近绘制点。

      5、Far Clip Plane:相对于相机昀远的绘制点。

      6、Field of view:沿着局部 Y轴的相机视角宽度。

      7、Is orthographic:打开或关闭相机的景深效果

      8、正交视大小(Orthographic size):在正交模式下的视口大小。

      9、Depth:相机的绘制顺序,相当于ZIndex属性,具有较高深度的相机将绘制在较低深度相机的上面。

      好了,有了上面的基础,我们就可以开始今天的正式内容了,如图是博主自己创建的一个游戏场景,游戏场景是在一个没有光照的黑暗的屋子里面,我们的游戏主角头顶上添加了一个点光源,所以当游戏主角运动的时候,其经过的场景会被主角头顶上的光源照亮,我们现在要做的就是为这个游戏场景添加一个小地图,以保证玩家在玩游戏的时候不会在黑暗的屋子里迷路。


        好,现在我们开始来做小地图,我们在场景中添加一个Camera,然后设置其旋转角度使其垂直于XOZ平面,命名为TopCamera,这时候我们设置摄像机的投影方式为正交投影,相信根据前面提到的关于Camera的一些内容,大家已经猜到这个小地图的制作原理了,不错,这个小地图就是根据Normalized View Port Rect属性来制作的。我们可以自己调整Normalized View Port Rect的四个数值来让小地图在合适的位置显示合适的内容,下面是博主对TopCamera的一些设置数值,供大家参考:

       

        那么这样,我们的小地图就做好了,我们一起来看看效果吧!图中红框表示出了游戏场景和地图中的相互对应关系。当我们移动人物的时候,地图上的角色位置会同步更新!今天的小地图没有写一行代码啊,这时多么给力的一件事情啊。哈哈


      喜欢我请记住我的名字:秦元培,我的博客地址是:blog.csdn.net/qinyuanpei!
      转载请注明出处,本文作者:秦元培,本文出处:http://blog.csdn.net/qinyuanpei/article/details/23628275

      大家晚安!

2019-07-02 19:06:55 qq_28474981 阅读数 123
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    343 人正在学习 去看看 洪青霞

Unity3D相机系统 屏幕震动


在这里插入图片描述

1.使用场景

屏幕震动通常被用来添加代入感,例如被巨物击中时、打击到对手时触发震动,都将带给用户更强的打击感。

2.算法

2.1 逻辑

  1. 缓存初始位置
  2. 每一帧取得以初始位置为球型的空间中的一个随机点,将位置赋值给相机
  3. 震动完后将相机位置恢复为初始位置

2.2 核心代码

  1. 赋值需要的数据
        /// <summary>
        /// 震动
        /// </summary>
        /// <param name="shakeTime">震动持续时间</param>
        /// <param name="shakeStep">震动步长</param>
        /// <param name="shakeSpeed">震动速度</param>
        public void Shake(float shakeTime = 0.5f, float shakeStep=5,float shakeSpeed=0.5f)
        {
            ShakeStep = shakeStep;
            ShakeSpeed = Mathf.Clamp(shakeSpeed, 0, 1);
            originPos = targetCamera.transform.localPosition;
        }
  1. Update的时候判断时间是否超过,如果没超过,则随机移动相机
        void OnShakeUpdate(float deltaTime)
        {
            Vector3 RandomPoint = originPos + UnityEngine.Random.insideUnitSphere * ShakeStep;
            targetCamera.transform.localPosition = Vector3.Lerp(targetCamera.transform.localPosition, RandomPoint, Time.deltaTime * ShakeSpeed);
        }
  1. 时间超过时触发震动结束回调
        void OnShakeCompleted()
        {
            targetCamera.transform.localPosition = originPos;
        }

unity3d摄像机

阅读数 32590

Unity3d截图方法合集

阅读数 1401

没有更多推荐了,返回首页